// SPDX-License-Identifier: BSD-3-Clause

/dts-v1/;

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/sound/qcom,q6asm.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>

#include "sc7180.dtsi"

#include "pm6150.dtsi"
#include "pm6150l.dtsi"

/delete-node/ &tz_mem;
/delete-node/ &ipa_fw_mem;

/ {
	model = "Acer Aspire 1";
	compatible = "acer,aspire1", "qcom,sc7180";
	chassis-type = "laptop";

	aliases {
		bluetooth0 = &bluetooth;
		hsuart0 = &uart3;
		serial0 = &uart8;
		wifi0 = &wifi;
	};

	chosen {
		stdout-path = "serial0:115200n8";
	};

	reserved-memory {
		zap_mem: zap-shader@80840000 {
			reg = <0x0 0x80840000 0 0x2000>;
			no-map;
		};

		venus_mem: venus@85b00000 {
			reg = <0x0 0x85b00000 0 0x500000>;
			no-map;
		};

		mpss_mem: mpss@86000000 {
			reg = <0x0 0x86000000 0x0 0x2000000>;
			no-map;
		};

		adsp_mem: adsp@8e400000 {
			reg = <0x0 0x8e400000 0x0 0x2800000>;
			no-map;
		};

		wlan_mem: wlan@93900000 {
			reg = <0x0 0x93900000 0x0 0x200000>;
			no-map;
		};
	};

	max98357a: audio-codec {
		compatible = "maxim,max98357a";
		sdmode-gpios = <&tlmm 23 GPIO_ACTIVE_HIGH>;

		pinctrl-0 = <&amp_sd_mode_default>;
		pinctrl-names = "default";

		#sound-dai-cells = <0>;
	};

	backlight: backlight {
		compatible = "pwm-backlight";
		pwms = <&sn65dsi86_bridge 1000000>;
		enable-gpios = <&tlmm 10 GPIO_ACTIVE_HIGH>;

		pinctrl-0 = <&soc_bkoff_default>;
		pinctrl-names = "default";
	};

	reg_brij_1p2: bridge-1p2-regulator {
		compatible = "regulator-fixed";
		regulator-name = "brij_1p2";
		regulator-min-microvolt = <1200000>;
		regulator-max-microvolt = <1200000>;

		gpio = <&tlmm 19 GPIO_ACTIVE_HIGH>;
		enable-active-high;

		pinctrl-0 = <&reg_edp_1p2_en_default>;
		pinctrl-names = "default";
	};

	reg_brij_1p8: bridge-regulator {
		compatible = "regulator-fixed";
		regulator-name = "brij_1p8";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;

		vin-supply = <&vreg_l8c_1p8>;

		gpio = <&tlmm 20 GPIO_ACTIVE_HIGH>;
		enable-active-high;

		pinctrl-0 = <&reg_edp_1p8_en_default>;
		pinctrl-names = "default";
	};

	reg_codec_3p3: codec-regulator {
		compatible = "regulator-fixed";
		regulator-name = "codec_3p3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;

		gpio = <&tlmm 83 GPIO_ACTIVE_HIGH>;
		enable-active-high;

		pinctrl-0 = <&reg_audio_en_default>;
		pinctrl-names = "default";
	};

	reg_lcm_3p3: panel-regulator {
		compatible = "regulator-fixed";
		regulator-name = "lcm_3p3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;

		gpio = <&tlmm 26 GPIO_ACTIVE_HIGH>;
		enable-active-high;

		pinctrl-0 = <&reg_lcm_en_default>;
		pinctrl-names = "default";
	};

	sound: sound {
		compatible = "qcom,sc7180-qdsp6-sndcard";
		pinctrl-0 = <&pri_mi2s_active>, <&pri_mi2s_mclk_active>, <&ter_mi2s_active>;
		pinctrl-names = "default";
		model = "Acer-Aspire-1";

		audio-routing =
			"Headphone Jack", "HPOL",
			"Headphone Jack", "HPOR";

		multimedia1-dai-link {
			link-name = "MultiMedia1";

			cpu {
				sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
			};
		};

		multimedia2-dai-link {
			link-name = "MultiMedia2";

			cpu {
				sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>;
			};
		};

		multimedia3-dai-link {
			link-name = "MultiMedia3";

			cpu {
				sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>;
			};
		};

		multimedia4-dai-link {
			link-name = "MultiMedia4";

			cpu {
				sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA4>;
			};
		};

		primary-rx-dai-link {
			link-name = "Primary MI2S Playback";

			cpu {
				sound-dai = <&q6afedai PRIMARY_MI2S_RX>;
			};

			platform {
				sound-dai = <&q6routing>;
			};

			codec {
				sound-dai = <&alc5682 0>;
			};
		};

		primary-tx-dai-link {
			link-name = "Primary MI2S Capture";

			cpu {
				sound-dai = <&q6afedai PRIMARY_MI2S_TX>;
			};

			platform {
				sound-dai = <&q6routing>;
			};

			codec {
				sound-dai = <&alc5682 0>;
			};
		};

		tertiary-rx-dai-link {
			link-name = "Tertiary MI2S Playback";

			cpu {
				sound-dai = <&q6afedai TERTIARY_MI2S_RX>;
			};

			platform {
				sound-dai = <&q6routing>;
			};

			codec {
				sound-dai = <&max98357a>;
			};
		};

		displayport-rx-dai-link {
			link-name = "DisplayPort Playback";

			cpu {
				sound-dai = <&q6afedai DISPLAY_PORT_RX>;
			};

			platform {
				sound-dai = <&q6routing>;
			};

			codec {
				sound-dai = <&mdss_dp>;
			};
		};
	};

	reg_tp_3p3: touchpad-regulator {
		compatible = "regulator-fixed";
		regulator-name = "tp_3p3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;

		gpio = <&tlmm 25 GPIO_ACTIVE_HIGH>;
		enable-active-high;

		pinctrl-0 = <&reg_tp_en_default>;
		pinctrl-names = "default";
	};
};

&i2c2 {
	clock-frequency = <400000>;
	status = "okay";

	embedded-controller@76 {
		compatible = "acer,aspire1-ec";
		reg = <0x76>;

		interrupts-extended = <&tlmm 30 IRQ_TYPE_LEVEL_LOW>;

		pinctrl-0 = <&ec_int_default>;
		pinctrl-names = "default";

		connector {
			compatible = "usb-c-connector";

			port {
				ec_dp_in: endpoint {
					remote-endpoint = <&mdss_dp_out>;
				};
			};
		};
	};
};

&i2c4 {
	clock-frequency = <400000>;
	status = "okay";

	/*
	 * NOTE: DSDT defines two possible touchpads, other one is
	 *
	 * reg = <0x15>;
	 * hid-descr-addr = <0x1>;
	 */

	touchpad@2c {
		compatible = "hid-over-i2c";
		reg = <0x2c>;
		hid-descr-addr = <0x20>;

		vdd-supply = <&reg_tp_3p3>;

		interrupts-extended = <&tlmm 94 IRQ_TYPE_LEVEL_LOW>;

		pinctrl-0 = <&hid_touchpad_default>;
		pinctrl-names = "default";

		wakeup-source;
	};

	keyboard@3a {
		compatible = "hid-over-i2c";
		reg = <0x3a>;
		hid-descr-addr = <0x1>;

		interrupts-extended = <&tlmm 33 IRQ_TYPE_LEVEL_LOW>;

		pinctrl-0 = <&hid_keyboard_default>;
		pinctrl-names = "default";

		wakeup-source;
	};
};

&i2c9 {
	clock-frequency = <400000>;
	status = "okay";

	alc5682: codec@1a {
		compatible = "realtek,rt5682i";
		reg = <0x1a>;

		#sound-dai-cells = <1>;

		interrupt-parent = <&tlmm>;
		interrupts = <28 IRQ_TYPE_EDGE_BOTH>;

		pinctrl-0 = <&codec_irq_default>;
		pinctrl-names = "default";

		AVDD-supply = <&vreg_l15a_1p8>;
		MICVDD-supply = <&reg_codec_3p3>;
		VBAT-supply = <&reg_codec_3p3>;
		DBVDD-supply = <&vreg_l15a_1p8>;
		LDO1-IN-supply = <&vreg_l15a_1p8>;

		/*
		 * NOTE: The board has a path from this codec to the
		 * DMIC microphones in the lid, however some of the option
		 * resistors are absent and the microphones are connected
		 * to the SoC instead.
		 *
		 * If the resistors were to be changed by the user to
		 * connect the codec, the following could be used:
		 *
		 * realtek,dmic1-data-pin = <1>;
		 * realtek,dmic1-clk-pin = <1>;
		 */

		realtek,jd-src = <1>;
	};
};

&i2c10 {
	clock-frequency = <400000>;
	status = "okay";

	sn65dsi86_bridge: bridge@2c {
		compatible = "ti,sn65dsi86";
		reg = <0x2c>;
		gpio-controller;
		#gpio-cells = <2>;
		#pwm-cells = <1>;

		interrupt-parent = <&tlmm>;
		interrupts = <11 IRQ_TYPE_LEVEL_HIGH>;

		enable-gpios = <&tlmm 51 GPIO_ACTIVE_HIGH>;
		suspend-gpios = <&tlmm 22 GPIO_ACTIVE_LOW>;

		pinctrl-0 = <&bridge_en_default>,
			    <&edp_bridge_irq_default>,
			    <&bridge_suspend_default>;
		pinctrl-names = "default";

		vpll-supply = <&reg_brij_1p8>;
		vccio-supply = <&reg_brij_1p8>;
		vcca-supply = <&reg_brij_1p2>;
		vcc-supply = <&reg_brij_1p2>;

		clocks = <&rpmhcc RPMH_LN_BB_CLK3>;
		clock-names = "refclk";

		ports {
			#address-cells = <1>;
			#size-cells = <0>;

			port@0 {
				reg = <0>;

				sn65dsi86_in: endpoint {
					remote-endpoint = <&mdss_dsi0_out>;
				};
			};

			port@1 {
				reg = <1>;

				sn65dsi86_out: endpoint {
					data-lanes = <0 1>;
					remote-endpoint = <&panel_in_edp>;
				};
			};
		};

		aux-bus {
			panel: panel {
				compatible = "edp-panel";
				power-supply = <&reg_lcm_3p3>;
				backlight = <&backlight>;
				hpd-absent-delay-ms = <200>;

				port {
					panel_in_edp: endpoint {
						remote-endpoint = <&sn65dsi86_out>;
					};
				};
			};
		};
	};
};

&gpu {
	status = "okay";

	zap-shader {
		memory-region = <&zap_mem>;
		firmware-name = "qcom/sc7180/acer/aspire1/qcdxkmsuc7180.mbn";
	};
};

&mdss {
	status = "okay";
};

&mdss_dp {
	data-lanes = <0 1>;

	vdda-1p2-supply = <&vreg_l3c_1p2>;
	vdda-0p9-supply = <&vreg_l4a_0p8>;

	status = "okay";
};

&mdss_dp_out {
	remote-endpoint = <&ec_dp_in>;
};

&mdss_dsi0 {
	vdda-supply = <&vreg_l3c_1p2>;
	status = "okay";
};

&mdss_dsi0_out {
	remote-endpoint = <&sn65dsi86_in>;
	data-lanes = <0 1 2 3>;
};

&mdss_dsi0_phy {
	vdds-supply = <&vreg_l4a_0p8>;
	status = "okay";
};

&pm6150_adc {
	channel@4e {
		reg = <ADC5_AMUX_THM2_100K_PU>;
		qcom,ratiometric;
		qcom,hw-settle-time = <200>;
		label = "thermistor";
	};

	channel@4f {
		reg = <ADC5_AMUX_THM3_100K_PU>;
		qcom,ratiometric;
		qcom,hw-settle-time = <200>;
		label = "charger_thermistor";
	};
};

&pm6150_adc_tm {
	status = "okay";

	charger-thermistor@0 {
		reg = <0>;
		io-channels = <&pm6150_adc ADC5_AMUX_THM3_100K_PU>;
		qcom,ratiometric;
		qcom,hw-settle-time-us = <200>;
	};

	thermistor@1 {
		reg = <1>;
		io-channels = <&pm6150_adc ADC5_AMUX_THM2_100K_PU>;
		qcom,ratiometric;
		qcom,hw-settle-time-us = <200>;
	};
};

&pm6150_pon {
	status = "disabled";
};

&pm6150_rtc {
	status = "okay";
};

&q6afedai {
	dai@16 {
		reg = <PRIMARY_MI2S_RX>;
		qcom,sd-lines = <1>;
	};

	dai@17 {
		reg = <PRIMARY_MI2S_TX>;
		qcom,sd-lines = <0>;
	};

	dai@20 {
		reg = <TERTIARY_MI2S_RX>;
		qcom,sd-lines = <0>;
	};

	dai@104 {
		reg = <DISPLAY_PORT_RX>;
	};
};

&q6asmdai {
	dai@0 {
		reg = <0>;
	};

	dai@1 {
		reg = <1>;
	};

	dai@2 {
		reg = <2>;
	};

	dai@3 {
		reg = <3>;
	};
};

&qupv3_id_0 {
	status = "okay";
};

&qupv3_id_1 {
	status = "okay";
};

&remoteproc_adsp {
	memory-region = <&adsp_mem>;
	firmware-name = "qcom/sc7180/acer/aspire1/qcadsp7180.mbn";
	status = "okay";
};

&remoteproc_mpss {
	firmware-name = "qcom/sc7180/acer/aspire1/qcmpss7180_nm.mbn";
	status = "okay";
};

&sdhc_1 {
	pinctrl-0 = <&sdc1_default>;
	pinctrl-1 = <&sdc1_sleep>;
	pinctrl-names = "default", "sleep";
	vmmc-supply = <&vreg_l19a_2p9>;
	vqmmc-supply = <&vreg_l12a_1p8>;

	status = "okay";
};

&uart3 {
	/delete-property/interrupts;
	interrupts-extended = <&intc GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>,
			      <&tlmm 41 IRQ_TYPE_EDGE_FALLING>;

	pinctrl-1 = <&qup_uart3_sleep>;
	pinctrl-names = "default", "sleep";

	status = "okay";

	bluetooth: bluetooth {
		compatible = "qcom,wcn3991-bt";
		vddio-supply = <&vreg_l10a_1p8>;
		vddxo-supply = <&vreg_l1c_1p8>;
		vddrf-supply = <&vreg_l2c_1p3>;
		vddch0-supply = <&vreg_l10c_3p3>;
		max-speed = <3200000>;
	};
};

&uart8 {
	status = "okay";
};

&usb_1 {
	status = "okay";
};

&usb_1_dwc3 {
	dr_mode = "host";
	#address-cells = <1>;
	#size-cells = <0>;

	usb_hub_2_x: hub@1 {
		compatible = "usbbda,5411";
		reg = <1>;
		peer-hub = <&usb_hub_3_x>;
	};

	usb_hub_3_x: hub@2 {
		compatible = "usbbda,411";
		reg = <2>;
		peer-hub = <&usb_hub_2_x>;
	};
};

&usb_1_hsphy {
	vdd-supply = <&vreg_l4a_0p8>;
	vdda-pll-supply = <&vreg_l11a_1p8>;
	vdda-phy-dpdm-supply = <&vreg_l17a_3p0>;
	qcom,imp-res-offset-value = <8>;
	qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_15_PERCENT>;
	qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
	qcom,bias-ctrl-value = <0x22>;
	qcom,charge-ctrl-value = <3>;
	qcom,hsdisc-trim-value = <0>;

	status = "okay";
};

&usb_1_qmpphy {
	vdda-phy-supply = <&vreg_l3c_1p2>;
	vdda-pll-supply = <&vreg_l4a_0p8>;

	status = "okay";
};

&venus {
	firmware-name = "qcom/sc7180/acer/aspire1/qcvss7180.mbn";
};

&wifi {
	vdd-0.8-cx-mx-supply = <&vreg_l9a_0p6>;
	vdd-1.8-xo-supply = <&vreg_l1c_1p8>;
	vdd-1.3-rfa-supply = <&vreg_l2c_1p3>;
	vdd-3.3-ch0-supply = <&vreg_l10c_3p3>;
	vdd-3.3-ch1-supply = <&vreg_l11c_3p3>;

	status = "okay";
};

&apps_rsc {
	regulators-0 {
		compatible = "qcom,pm6150-rpmh-regulators";
		qcom,pmic-id = "a";

		vreg_s1a_1p1: smps1 {
			regulator-min-microvolt = <1128000>;
			regulator-max-microvolt = <1128000>;
		};

		vreg_l4a_0p8: ldo4 {
			regulator-min-microvolt = <824000>;
			regulator-max-microvolt = <928000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l9a_0p6: ldo9 {
			regulator-min-microvolt = <488000>;
			regulator-max-microvolt = <800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l10a_1p8: ldo10 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-always-on;
			regulator-boot-on;
		};

		vreg_l11a_1p8: ldo11 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l12a_1p8: ldo12 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l13a_1p8: ldo13 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l14a_1p8: ldo14 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l15a_1p8: ldo15 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l16a_2p7: ldo16 {
			regulator-min-microvolt = <2496000>;
			regulator-max-microvolt = <3304000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l17a_3p0: ldo17 {
			regulator-min-microvolt = <2920000>;
			regulator-max-microvolt = <3232000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l18a_2p8: ldo18 {
			regulator-min-microvolt = <2496000>;
			regulator-max-microvolt = <3304000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l19a_2p9: ldo19 {
			regulator-min-microvolt = <2960000>;
			regulator-max-microvolt = <2960000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};
	};

	regulators-1 {
		compatible = "qcom,pm6150l-rpmh-regulators";
		qcom,pmic-id = "c";

		vreg_s8c_1p3: smps8 {
			regulator-min-microvolt = <1120000>;
			regulator-max-microvolt = <1408000>;
		};

		vreg_l1c_1p8: ldo1 {
			regulator-min-microvolt = <1616000>;
			regulator-max-microvolt = <1984000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l2c_1p3: ldo2 {
			regulator-min-microvolt = <1168000>;
			regulator-max-microvolt = <1304000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l3c_1p2: ldo3 {
			regulator-min-microvolt = <1144000>;
			regulator-max-microvolt = <1304000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l4c_1p8: ldo4 {
			regulator-min-microvolt = <1648000>;
			regulator-max-microvolt = <3304000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
		};

		vreg_l5c_1p8: ldo5 {
			regulator-min-microvolt = <1648000>;
			regulator-max-microvolt = <3304000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
		};

		vreg_l6c_2p9: ldo6 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <2950000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l7c_3p0: ldo7 {
			regulator-min-microvolt = <3000000>;
			regulator-max-microvolt = <3312000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
		};

		vreg_l8c_1p8: ldo8 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l9c_2p9: ldo9 {
			regulator-min-microvolt = <2952000>;
			regulator-max-microvolt = <2952000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l10c_3p3: ldo10 {
			regulator-min-microvolt = <3000000>;
			regulator-max-microvolt = <3400000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l11c_3p3: ldo11 {
			regulator-min-microvolt = <3000000>;
			regulator-max-microvolt = <3400000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_bob: bob {
			regulator-min-microvolt = <3008000>;
			regulator-max-microvolt = <3960000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
		};
	};
};

&qup_i2c2_default {
	drive-strength = <2>;

	/* Has external pullup */
	bias-disable;
};

&qup_i2c4_default {
	drive-strength = <2>;

	/* Has external pullup */
	bias-disable;
};

&qup_i2c9_default {
	drive-strength = <2>;

	/* Has external pullup */
	bias-disable;
};

&qup_i2c10_default {
	drive-strength = <2>;

	/* Has external pullup */
	bias-disable;
};

&tlmm {
	/*
	 * The TZ seem to protect those because some boards can have
	 * fingerprint sensor connected to this range. Not connected
	 * on this board
	 */
	gpio-reserved-ranges = <58 5>;

	amp_sd_mode_default: amp-sd-mode-deault-state {
		pins = "gpio23";
		function = "gpio";
		drive-strength = <16>;
		bias-disable;
	};

	bridge_en_default: bridge-en-default-state {
		pins = "gpio51";
		function = "gpio";
		drive-strength = <16>;
		bias-disable;
	};

	bridge_suspend_default: bridge-suspend-default-state {
		pins = "gpio22";
		function = "gpio";
		drive-strength = <16>;
		bias-pull-up;
	};

	codec_irq_default: codec-irq-deault-state {
		pins = "gpio28";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
	};

	ec_int_default: ec-int-default-state {
		pins = "gpio30";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
	};

	edp_bridge_irq_default: edp-bridge-irq-default-state {
		pins = "gpio11";
		function = "gpio";
		drive-strength = <2>;
		bias-pull-down;
	};

	hid_keyboard_default: hid-keyboard-default-state {
		pins = "gpio33";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
	};

	hid_touchpad_default: hid-touchpad-default-state {
		pins = "gpio94";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
	};

	qup_uart3_sleep: qup-uart3-sleep-state {
		cts-pins {
			/*
			 * Configure a pull-down on CTS to match the pull of
			 * the Bluetooth module.
			 */
			pins = "gpio38";
			function = "gpio";
			bias-pull-down;
		};

		rts-pins {
			/*
			 * Configure pull-down on RTS. As RTS is active low
			 * signal, pull it low to indicate the BT SoC that it
			 * can wakeup the system anytime from suspend state by
			 * pulling RX low (by sending wakeup bytes).
			 */
			pins = "gpio39";
			function = "gpio";
			bias-pull-down;
		};

		tx-pins {
			/*
			 * Configure pull-up on TX when it isn't actively driven
			 * to prevent BT SoC from receiving garbage during sleep.
			 */
			pins = "gpio40";
			function = "gpio";
			bias-pull-up;
		};

		rx-pins {
			/*
			 * Configure a pull-up on RX. This is needed to avoid
			 * garbage data when the TX pin of the Bluetooth module
			 * is floating which may cause spurious wakeups.
			 */
			pins = "gpio41";
			function = "gpio";
			bias-pull-up;
		};
	};

	reg_edp_1p2_en_default: reg-edp-1p2-en-deault-state {
		pins = "gpio19";
		function = "gpio";
		drive-strength = <16>;
		bias-disable;
	};

	reg_edp_1p8_en_default: reg-edp-1p8-en-deault-state {
		pins = "gpio20";
		function = "gpio";
		drive-strength = <16>;
		bias-disable;
	};

	reg_lcm_en_default: reg-lcm-en-deault-state {
		pins = "gpio26";
		function = "gpio";
		drive-strength = <16>;
		bias-disable;
	};

	reg_audio_en_default: reg-audio-en-deault-state {
		pins = "gpio83";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
	};

	reg_tp_en_default: reg-tp-en-deault-state {
		pins = "gpio25";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
	};

	soc_bkoff_default: soc-bkoff-deault-state {
		pins = "gpio10";
		function = "gpio";
		drive-strength = <16>;
		bias-disable;
	};

	sdc1_default: sdc1-default-state {
		clk-pins {
			pins = "sdc1_clk";
			drive-strength = <16>;
			bias-disable;
		};

		cmd-pins {
			pins = "sdc1_cmd";
			drive-strength = <16>;
			bias-pull-up;
		};

		data-pins {
			pins = "sdc1_data";
			drive-strength = <16>;
			bias-pull-up;
		};

		rclk-pins {
			pins = "sdc1_rclk";
			bias-pull-down;
		};
	};

	sdc1_sleep: sdc1-sleep-state {
		clk-pins {
			pins = "sdc1_clk";
			drive-strength = <2>;
			bias-disable;
		};

		cmd-pins {
			pins = "sdc1_cmd";
			drive-strength = <2>;
			bias-pull-up;
		};

		data-pins {
			pins = "sdc1_data";
			drive-strength = <2>;
			bias-pull-up;
		};

		rclk-pins {
			pins = "sdc1_rclk";
			bias-pull-down;
		};
	};
};
