xref: /openbmc/linux/arch/arm64/boot/dts/qcom/msm8996-xiaomi-gemini.dts (revision 060f35a317ef09101b128f399dce7ed13d019461)
14ac46b36SRaffaele Tranquillini// SPDX-License-Identifier: BSD-3-Clause
24ac46b36SRaffaele Tranquillini/*
34ac46b36SRaffaele Tranquillini * Copyright (c) 2021, Raffaele Tranquillini <raffaele.tranquillini@gmail.com>
44ac46b36SRaffaele Tranquillini */
54ac46b36SRaffaele Tranquillini
64ac46b36SRaffaele Tranquillini/dts-v1/;
74ac46b36SRaffaele Tranquillini
8cea41be7SYassine Oudjana#include "msm8996.dtsi"
94ac46b36SRaffaele Tranquillini#include "msm8996-xiaomi-common.dtsi"
104ac46b36SRaffaele Tranquillini#include <dt-bindings/sound/qcom,q6afe.h>
114ac46b36SRaffaele Tranquillini#include <dt-bindings/sound/qcom,q6asm.h>
12b504af6cSYassine Oudjana#include <dt-bindings/sound/qcom,wcd9335.h>
134ac46b36SRaffaele Tranquillini#include <dt-bindings/input/ti-drv260x.h>
144ac46b36SRaffaele Tranquillini
154ac46b36SRaffaele Tranquillini/ {
164ac46b36SRaffaele Tranquillini	model = "Xiaomi Mi 5";
174ac46b36SRaffaele Tranquillini	compatible = "xiaomi,gemini", "qcom,msm8996";
18eaa744b1SArnaud Ferraris	chassis-type = "handset";
194ac46b36SRaffaele Tranquillini	qcom,msm-id = <246 0x30001>;
204ac46b36SRaffaele Tranquillini	qcom,pmic-id = <0x20009 0x2000a 0x00 0x00>;
214ac46b36SRaffaele Tranquillini	qcom,board-id = <31 0>;
224ac46b36SRaffaele Tranquillini
234ac46b36SRaffaele Tranquillini	divclk2_haptics: divclk2 {
244ac46b36SRaffaele Tranquillini		compatible = "fixed-clock";
254ac46b36SRaffaele Tranquillini		#clock-cells = <0>;
264ac46b36SRaffaele Tranquillini		clock-frequency = <32768>;
274ac46b36SRaffaele Tranquillini		clock-output-names = "divclk2";
284ac46b36SRaffaele Tranquillini
294ac46b36SRaffaele Tranquillini		pinctrl-names = "default";
304ac46b36SRaffaele Tranquillini		pinctrl-0 = <&divclk2_pin_a>;
314ac46b36SRaffaele Tranquillini	};
324ac46b36SRaffaele Tranquillini};
334ac46b36SRaffaele Tranquillini
344ac46b36SRaffaele Tranquillini&adsp_pil {
354ac46b36SRaffaele Tranquillini	firmware-name = "qcom/msm8996/gemini/adsp.mbn";
364ac46b36SRaffaele Tranquillini};
374ac46b36SRaffaele Tranquillini
384ac46b36SRaffaele Tranquillini&blsp2_i2c3 {
394ac46b36SRaffaele Tranquillini	haptics: drv2604@5a {
404ac46b36SRaffaele Tranquillini		compatible = "ti,drv2604";
414ac46b36SRaffaele Tranquillini		reg = <0x5a>;
424ac46b36SRaffaele Tranquillini		enable-gpio = <&tlmm 93 0x00>;
434ac46b36SRaffaele Tranquillini		mode = <DRV260X_LRA_MODE>;
444ac46b36SRaffaele Tranquillini		library-sel = <DRV260X_LIB_LRA>;
454ac46b36SRaffaele Tranquillini		pinctrl-names = "default","sleep";
464ac46b36SRaffaele Tranquillini		pinctrl-0 = <&vibrator_default>;
474ac46b36SRaffaele Tranquillini		pinctrl-1 = <&vibrator_sleep>;
484ac46b36SRaffaele Tranquillini	};
494ac46b36SRaffaele Tranquillini
504ac46b36SRaffaele Tranquillini	lp5562@30 {
514ac46b36SRaffaele Tranquillini		compatible = "ti,lp5562";
524ac46b36SRaffaele Tranquillini		reg = <0x30>;
534ac46b36SRaffaele Tranquillini		#address-cells = <1>;
544ac46b36SRaffaele Tranquillini		#size-cells = <0>;
554df05b44SKrzysztof Kozlowski		enable-gpios = <&pm8994_gpios 7 1>;
564ac46b36SRaffaele Tranquillini		clock-mode = /bits/8 <2>;
574ac46b36SRaffaele Tranquillini		label = "button-backlight";
584ac46b36SRaffaele Tranquillini
594ac46b36SRaffaele Tranquillini		led@0 {
604ac46b36SRaffaele Tranquillini			reg = <0>;
614ac46b36SRaffaele Tranquillini			chan-name = "button-backlight";
624ac46b36SRaffaele Tranquillini			led-cur = /bits/ 8 <0x32>;
6321dd43fdSKonrad Dybcio			max-cur = /bits/ 8 <0xc8>;
644ac46b36SRaffaele Tranquillini		};
654ac46b36SRaffaele Tranquillini
664ac46b36SRaffaele Tranquillini		led@1 {
67*367e43d8SMarek Vasut			reg = <1>;
684ac46b36SRaffaele Tranquillini			chan-name = "button-backlight1";
694ac46b36SRaffaele Tranquillini			led-cur = /bits/ 8 <0x32>;
7021dd43fdSKonrad Dybcio			max-cur = /bits/ 8 <0xc8>;
714ac46b36SRaffaele Tranquillini		};
724ac46b36SRaffaele Tranquillini	};
734ac46b36SRaffaele Tranquillini};
744ac46b36SRaffaele Tranquillini
754ac46b36SRaffaele Tranquillini&blsp2_i2c6 {
764ac46b36SRaffaele Tranquillini	synaptics@20 {
774ac46b36SRaffaele Tranquillini		compatible = "syna,rmi4-i2c";
784ac46b36SRaffaele Tranquillini		reg = <0x20>;
794ac46b36SRaffaele Tranquillini		#address-cells = <1>;
804ac46b36SRaffaele Tranquillini		#size-cells = <0>;
814ac46b36SRaffaele Tranquillini		interrupt-parent = <&tlmm>;
824ac46b36SRaffaele Tranquillini		interrupts = <125 IRQ_TYPE_LEVEL_LOW>;
8321fc24eeSKrzysztof Kozlowski		vio-supply = <&vreg_l6a_1p8>;
844ac46b36SRaffaele Tranquillini		vdd-supply = <&vdd_3v2_tp>;
854ac46b36SRaffaele Tranquillini		reset-gpios = <&tlmm 89 GPIO_ACTIVE_LOW>;
864ac46b36SRaffaele Tranquillini
874ac46b36SRaffaele Tranquillini		pinctrl-names = "default", "sleep";
884ac46b36SRaffaele Tranquillini		pinctrl-0 = <&touchscreen_default>;
894ac46b36SRaffaele Tranquillini		pinctrl-1 = <&touchscreen_sleep>;
904ac46b36SRaffaele Tranquillini	};
914ac46b36SRaffaele Tranquillini
924ac46b36SRaffaele Tranquillini};
934ac46b36SRaffaele Tranquillini
948b764ed0SDmitry Baryshkov&gpu {
958b764ed0SDmitry Baryshkov	zap-shader {
968b764ed0SDmitry Baryshkov		firmware-name = "qcom/msm8996/gemini/a530_zap.mbn";
978b764ed0SDmitry Baryshkov	};
988b764ed0SDmitry Baryshkov};
998b764ed0SDmitry Baryshkov
1008b764ed0SDmitry Baryshkov&mdss_dsi0 {
101ff80dc99SRaffaele Tranquillini	status = "okay";
102ff80dc99SRaffaele Tranquillini
103ff80dc99SRaffaele Tranquillini	vdd-supply = <&vreg_l2a_1p25>;
104ff80dc99SRaffaele Tranquillini	vdda-supply = <&vreg_l19a_3p3>;
105ff80dc99SRaffaele Tranquillini	vddio-supply = <&vreg_l14a_1p8>;
106ff80dc99SRaffaele Tranquillini
107ff80dc99SRaffaele Tranquillini	pinctrl-names = "default", "sleep";
108ff80dc99SRaffaele Tranquillini	pinctrl-0 = <&mdss_dsi_default &mdss_te_default>;
109ff80dc99SRaffaele Tranquillini	pinctrl-1 = <&mdss_dsi_sleep &mdss_te_sleep>;
110ff80dc99SRaffaele Tranquillini
111ff80dc99SRaffaele Tranquillini	panel: panel@0 {
112ff80dc99SRaffaele Tranquillini		compatible = "jdi,fhd-r63452";
113ff80dc99SRaffaele Tranquillini		reg = <0>;
114ff80dc99SRaffaele Tranquillini		reset-gpios = <&tlmm 8 GPIO_ACTIVE_LOW>;
115ff80dc99SRaffaele Tranquillini		backlight = <&pmi8994_wled>;
116ff80dc99SRaffaele Tranquillini
117ff80dc99SRaffaele Tranquillini		port {
118ff80dc99SRaffaele Tranquillini			panel_in: endpoint {
1198b764ed0SDmitry Baryshkov				remote-endpoint = <&mdss_dsi0_out>;
120ff80dc99SRaffaele Tranquillini			};
121ff80dc99SRaffaele Tranquillini		};
122ff80dc99SRaffaele Tranquillini	};
123ff80dc99SRaffaele Tranquillini};
124ff80dc99SRaffaele Tranquillini
1258b764ed0SDmitry Baryshkov&mdss_dsi0_out {
126ff80dc99SRaffaele Tranquillini	remote-endpoint = <&panel_in>;
127ff80dc99SRaffaele Tranquillini};
128ff80dc99SRaffaele Tranquillini
129ff80dc99SRaffaele Tranquillini&pmi8994_wled {
130ff80dc99SRaffaele Tranquillini	status = "okay";
131ff80dc99SRaffaele Tranquillini};
132ff80dc99SRaffaele Tranquillini
13373f7731bSYassine Oudjana&mss_pil {
13473f7731bSYassine Oudjana	firmware-name = "qcom/msm8996/gemini/mba.mbn",
13573f7731bSYassine Oudjana			"qcom/msm8996/gemini/modem.mbn";
13673f7731bSYassine Oudjana};
13773f7731bSYassine Oudjana
1384ac46b36SRaffaele Tranquillini&q6asmdai {
1394ac46b36SRaffaele Tranquillini	dai@0 {
1404ac46b36SRaffaele Tranquillini		reg = <0>;
1414ac46b36SRaffaele Tranquillini	};
1424ac46b36SRaffaele Tranquillini
1434ac46b36SRaffaele Tranquillini	dai@1 {
1444ac46b36SRaffaele Tranquillini		reg = <1>;
1454ac46b36SRaffaele Tranquillini	};
1464ac46b36SRaffaele Tranquillini
1474ac46b36SRaffaele Tranquillini	dai@2 {
1484ac46b36SRaffaele Tranquillini		reg = <2>;
1494ac46b36SRaffaele Tranquillini	};
1504ac46b36SRaffaele Tranquillini};
1514ac46b36SRaffaele Tranquillini
15273f7731bSYassine Oudjana&slpi_pil {
15373f7731bSYassine Oudjana	firmware-name = "qcom/msm8996/gemini/slpi.mbn";
15473f7731bSYassine Oudjana};
15573f7731bSYassine Oudjana
1564ac46b36SRaffaele Tranquillini&sound {
1574ac46b36SRaffaele Tranquillini	compatible = "qcom,apq8096-sndcard";
1584ac46b36SRaffaele Tranquillini	model = "gemini";
1594ac46b36SRaffaele Tranquillini	audio-routing = "RX_BIAS", "MCLK",
1604ac46b36SRaffaele Tranquillini		"MM_DL1",  "MultiMedia1 Playback",
1614ac46b36SRaffaele Tranquillini		"MM_DL2",  "MultiMedia2 Playback",
1624ac46b36SRaffaele Tranquillini		"MultiMedia3 Capture", "MM_UL3";
1634ac46b36SRaffaele Tranquillini
1644ac46b36SRaffaele Tranquillini	mm1-dai-link {
1654ac46b36SRaffaele Tranquillini		link-name = "MultiMedia1";
1664ac46b36SRaffaele Tranquillini		cpu {
1674ac46b36SRaffaele Tranquillini			sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
1684ac46b36SRaffaele Tranquillini		};
1694ac46b36SRaffaele Tranquillini	};
1704ac46b36SRaffaele Tranquillini
1714ac46b36SRaffaele Tranquillini	mm2-dai-link {
1724ac46b36SRaffaele Tranquillini		link-name = "MultiMedia2";
1734ac46b36SRaffaele Tranquillini		cpu {
1744ac46b36SRaffaele Tranquillini			sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>;
1754ac46b36SRaffaele Tranquillini		};
1764ac46b36SRaffaele Tranquillini	};
1774ac46b36SRaffaele Tranquillini
1784ac46b36SRaffaele Tranquillini	mm3-dai-link {
1794ac46b36SRaffaele Tranquillini		link-name = "MultiMedia3";
1804ac46b36SRaffaele Tranquillini		cpu {
1814ac46b36SRaffaele Tranquillini			sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>;
1824ac46b36SRaffaele Tranquillini		};
1834ac46b36SRaffaele Tranquillini	};
1844ac46b36SRaffaele Tranquillini
1854ac46b36SRaffaele Tranquillini	slim-dai-link {
1864ac46b36SRaffaele Tranquillini		link-name = "SLIM Playback";
1874ac46b36SRaffaele Tranquillini		cpu {
1884ac46b36SRaffaele Tranquillini			sound-dai = <&q6afedai SLIMBUS_6_RX>;
1894ac46b36SRaffaele Tranquillini		};
1904ac46b36SRaffaele Tranquillini
1914ac46b36SRaffaele Tranquillini		platform {
1924ac46b36SRaffaele Tranquillini			sound-dai = <&q6routing>;
1934ac46b36SRaffaele Tranquillini		};
1944ac46b36SRaffaele Tranquillini
1954ac46b36SRaffaele Tranquillini		codec {
196b504af6cSYassine Oudjana			sound-dai = <&wcd9335 AIF4_PB>;
1974ac46b36SRaffaele Tranquillini		};
1984ac46b36SRaffaele Tranquillini	};
1994ac46b36SRaffaele Tranquillini
2004ac46b36SRaffaele Tranquillini	slimcap-dai-link {
2014ac46b36SRaffaele Tranquillini		link-name = "SLIM Capture";
2024ac46b36SRaffaele Tranquillini		cpu {
2034ac46b36SRaffaele Tranquillini			sound-dai = <&q6afedai SLIMBUS_0_TX>;
2044ac46b36SRaffaele Tranquillini		};
2054ac46b36SRaffaele Tranquillini
2064ac46b36SRaffaele Tranquillini		platform {
2074ac46b36SRaffaele Tranquillini			sound-dai = <&q6routing>;
2084ac46b36SRaffaele Tranquillini		};
2094ac46b36SRaffaele Tranquillini
2104ac46b36SRaffaele Tranquillini		codec {
211b504af6cSYassine Oudjana			sound-dai = <&wcd9335 AIF1_CAP>;
2124ac46b36SRaffaele Tranquillini		};
2134ac46b36SRaffaele Tranquillini	};
2144ac46b36SRaffaele Tranquillini};
2154ac46b36SRaffaele Tranquillini
2164ac46b36SRaffaele Tranquillini&venus {
2174ac46b36SRaffaele Tranquillini	firmware-name = "qcom/msm8996/gemini/venus.mbn";
2184ac46b36SRaffaele Tranquillini};
2194ac46b36SRaffaele Tranquillini
2204ac46b36SRaffaele Tranquillini&rpm_requests {
221372698e8SKrzysztof Kozlowski	regulators-0 {
2224ac46b36SRaffaele Tranquillini		vreg_l17a_2p8: l17 {
2234ac46b36SRaffaele Tranquillini			regulator-name = "vreg_l17a_2p8";
2244ac46b36SRaffaele Tranquillini			regulator-min-microvolt = <2500000>;
2254ac46b36SRaffaele Tranquillini			regulator-max-microvolt = <2500000>;
2264ac46b36SRaffaele Tranquillini		};
2274ac46b36SRaffaele Tranquillini		vreg_l29a_2p7: l29 {
2284ac46b36SRaffaele Tranquillini			regulator-name = "vreg_l29a_2p7";
2294ac46b36SRaffaele Tranquillini			regulator-min-microvolt = <2800000>;
2304ac46b36SRaffaele Tranquillini			regulator-max-microvolt = <2800000>;
2314ac46b36SRaffaele Tranquillini		};
2324ac46b36SRaffaele Tranquillini	};
2334ac46b36SRaffaele Tranquillini};
2344ac46b36SRaffaele Tranquillini
2354ac46b36SRaffaele Tranquillini&pm8994_gpios {
2364ac46b36SRaffaele Tranquillini	gpio-line-names =
2374ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_1  */
2384ac46b36SRaffaele Tranquillini		"VOL_UP_N",		/* GPIO_2  */
2394ac46b36SRaffaele Tranquillini		"SPKR_ID",		/* GPIO_3  */
2404ac46b36SRaffaele Tranquillini		"PWM_HAPTICS",		/* GPIO_4  */
2414ac46b36SRaffaele Tranquillini		"INFARED_DRV",		/* GPIO_5  */
2424ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_6  */
2434ac46b36SRaffaele Tranquillini		"KEYPAD_LED_EN",	/* GPIO_7  */
2444ac46b36SRaffaele Tranquillini		"WL_EN",		/* GPIO_8  */
2454ac46b36SRaffaele Tranquillini		"3P3_ENABLE",		/* GPIO_9  */
2464ac46b36SRaffaele Tranquillini		"FP_ID",		/* GPIO_10 */
2474ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_11 */
2484ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_12 */
2494ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_13 */
2504ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_14 */
2514ac46b36SRaffaele Tranquillini		"DIVCLK1_CDC",		/* GPIO_15 */
2524ac46b36SRaffaele Tranquillini		"DIVCLK2_HAPTICS",	/* GPIO_16 */
2534ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_17 */
2544ac46b36SRaffaele Tranquillini		"32KHz_CLK_IN",		/* GPIO_18 */
2554ac46b36SRaffaele Tranquillini		"BT_EN",		/* GPIO_19 */
2564ac46b36SRaffaele Tranquillini		"PMIC_SLB",		/* GPIO_20 */
2574ac46b36SRaffaele Tranquillini		"UIM_BATT_ALARM",	/* GPIO_21 */
2584ac46b36SRaffaele Tranquillini		"NC";			/* GPIO_22 */
2594ac46b36SRaffaele Tranquillini
260ff36bed5SKrzysztof Kozlowski	divclk2_pin_a: divclk2-state {
2614ac46b36SRaffaele Tranquillini		pins = "gpio16";
2624ac46b36SRaffaele Tranquillini		function = PMIC_GPIO_FUNC_FUNC2;
2634ac46b36SRaffaele Tranquillini		bias-disable;
2644ac46b36SRaffaele Tranquillini		power-source = <PM8994_GPIO_S4>;
2654ac46b36SRaffaele Tranquillini	};
2664ac46b36SRaffaele Tranquillini};
2674ac46b36SRaffaele Tranquillini
2684ac46b36SRaffaele Tranquillini&pm8994_mpps {
2694ac46b36SRaffaele Tranquillini	gpio-line-names =
2704ac46b36SRaffaele Tranquillini		"NC",			/* MPP_1 */
2714ac46b36SRaffaele Tranquillini		"CCI_TIMER1",		/* MPP_2 */
2724ac46b36SRaffaele Tranquillini		"PMIC_SLB",		/* MPP_3 */
2734ac46b36SRaffaele Tranquillini		"EXT_FET_WLED_PWR_EN_N",/* MPP_4 */
2744ac46b36SRaffaele Tranquillini		"NC",			/* MPP_5 */
2754ac46b36SRaffaele Tranquillini		"NC",			/* MPP_6 */
2764ac46b36SRaffaele Tranquillini		"NC",			/* MPP_7 */
2774ac46b36SRaffaele Tranquillini		"NC";			/* MPP_8 */
2784ac46b36SRaffaele Tranquillini};
2794ac46b36SRaffaele Tranquillini
2804ac46b36SRaffaele Tranquillini&pmi8994_gpios {
2814ac46b36SRaffaele Tranquillini	gpio-line-names =
2824ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_1  */
2834ac46b36SRaffaele Tranquillini		"SPKR_PA_RST",		/* GPIO_2  */
2844ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_3  */
2854ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_4  */
2864ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_5  */
2874ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_6  */
2884ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_7  */
2894ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_8  */
2904ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_9  */
2914ac46b36SRaffaele Tranquillini		"NC";			/* GPIO_10 */
2924ac46b36SRaffaele Tranquillini};
2934ac46b36SRaffaele Tranquillini
2944ac46b36SRaffaele Tranquillini&tlmm {
2954ac46b36SRaffaele Tranquillini	gpio-line-names =
2964ac46b36SRaffaele Tranquillini		"ESE_SPI_MOSI",		/* GPIO_0   */
2974ac46b36SRaffaele Tranquillini		"ESE_SPI_MISO",		/* GPIO_1   */
2984ac46b36SRaffaele Tranquillini		"ERR_INT_N",		/* GPIO_2   */
2994ac46b36SRaffaele Tranquillini		"ESE_SPI_CLK",		/* GPIO_3   */
3004ac46b36SRaffaele Tranquillini		"MSM_UART_TX",		/* GPIO_4   */
3014ac46b36SRaffaele Tranquillini		"MSM_UART_RX",		/* GPIO_5   */
3024ac46b36SRaffaele Tranquillini		"NFC_I2C_SDA",		/* GPIO_6   */
3034ac46b36SRaffaele Tranquillini		"NFC_I2C_SCL",		/* GPIO_7   */
3044ac46b36SRaffaele Tranquillini		"LCD0_RESET_N",		/* GPIO_8   */
3054ac46b36SRaffaele Tranquillini		"NFC_IRQ",		/* GPIO_9   */
3064ac46b36SRaffaele Tranquillini		"LCD_TE",		/* GPIO_10  */
3074ac46b36SRaffaele Tranquillini		"LCD_ID_DET1",		/* GPIO_11  */
3084ac46b36SRaffaele Tranquillini		"NFC_DISABLE",		/* GPIO_12  */
3094ac46b36SRaffaele Tranquillini		"CAM_MCLK0",		/* GPIO_13  */
3104ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_14  */
3114ac46b36SRaffaele Tranquillini		"CAM_MCLK2",		/* GPIO_15  */
3124ac46b36SRaffaele Tranquillini		"ESE_PWR_REQ",		/* GPIO_16  */
3134ac46b36SRaffaele Tranquillini		"CCI_I2C_SDA0",		/* GPIO_17  */
3144ac46b36SRaffaele Tranquillini		"CCI_I2C_SCL0",		/* GPIO_18  */
3154ac46b36SRaffaele Tranquillini		"CCI_I2C_SDA1",		/* GPIO_19  */
3164ac46b36SRaffaele Tranquillini		"CCI_I2C_SCL1",		/* GPIO_20  */
3174ac46b36SRaffaele Tranquillini		"NFC_DWL_REQ",		/* GPIO_21  */
3184ac46b36SRaffaele Tranquillini		"CCI_TIMER1",		/* GPIO_22  */
3194ac46b36SRaffaele Tranquillini		"WEBCAM1_RESET_N",	/* GPIO_23  */
3204ac46b36SRaffaele Tranquillini		"ESE_IRQ",		/* GPIO_24  */
3214ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_25  */
3224ac46b36SRaffaele Tranquillini		"WEBCAM1_STANDBY",	/* GPIO_26  */
3234ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_27  */
3244ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_28  */
3254ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_29  */
3264ac46b36SRaffaele Tranquillini		"CAM1_RST_N",		/* GPIO_30  */
3274ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_31  */
3284ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_32  */
3294ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_33  */
3304ac46b36SRaffaele Tranquillini		"FP_DOME_SW",		/* GPIO_34  */
3314ac46b36SRaffaele Tranquillini		"PCI_E0_RST_N",		/* GPIO_35  */
3324ac46b36SRaffaele Tranquillini		"PCI_E0_CLKREQ_N",	/* GPIO_36  */
3334ac46b36SRaffaele Tranquillini		"PCI_E0_WAKE",		/* GPIO_37  */
3344ac46b36SRaffaele Tranquillini		"FM_INT_N",		/* GPIO_38  */
3354ac46b36SRaffaele Tranquillini		"FM_RESET_N",		/* GPIO_39  */
3364ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_40  */
3374ac46b36SRaffaele Tranquillini		"QCA_UART_TXD",		/* GPIO_41  */
3384ac46b36SRaffaele Tranquillini		"QCA_UART_RXD",		/* GPIO_42  */
3394ac46b36SRaffaele Tranquillini		"QCA_UART_CTS",		/* GPIO_43  */
3404ac46b36SRaffaele Tranquillini		"QCA_UART_RTS",		/* GPIO_44  */
3414ac46b36SRaffaele Tranquillini		"MAWC_UART_TX",		/* GPIO_45  */
3424ac46b36SRaffaele Tranquillini		"MAWC_UART_RX",		/* GPIO_46  */
3434ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_47  */
3444ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_48  */
3454ac46b36SRaffaele Tranquillini		"AUDIO_SWITCH_EN",	/* GPIO_49  */
3464ac46b36SRaffaele Tranquillini		"FP_SPI_RST",		/* GPIO_50  */
3474ac46b36SRaffaele Tranquillini		"TYPEC_I2C_SDA",	/* GPIO_51  */
3484ac46b36SRaffaele Tranquillini		"TYPEC_I2C_SCL",	/* GPIO_52  */
3494ac46b36SRaffaele Tranquillini		"CODEC_INT2_N",		/* GPIO_53  */
3504ac46b36SRaffaele Tranquillini		"CODEC_INT1_N",		/* GPIO_54  */
3514ac46b36SRaffaele Tranquillini		"APPS_I2C7_SDA",	/* GPIO_55  */
3524ac46b36SRaffaele Tranquillini		"APPS_I2C7_SCL",	/* GPIO_56  */
3534ac46b36SRaffaele Tranquillini		"FORCE_USB_BOOT",	/* GPIO_57  */
3544ac46b36SRaffaele Tranquillini		"SPKR_I2S_BCK",		/* GPIO_58  */
3554ac46b36SRaffaele Tranquillini		"SPKR_I2S_WS",		/* GPIO_59  */
3564ac46b36SRaffaele Tranquillini		"SPKR_I2S_DOUT",	/* GPIO_60  */
3574ac46b36SRaffaele Tranquillini		"SPKR_I2S_DIN",		/* GPIO_61  */
3584ac46b36SRaffaele Tranquillini		"ESE_RSTN",		/* GPIO_62  */
3594ac46b36SRaffaele Tranquillini		"TYPEC_INT",		/* GPIO_63  */
3604ac46b36SRaffaele Tranquillini		"CODEC_RESET_N",	/* GPIO_64  */
3614ac46b36SRaffaele Tranquillini		"PCM_CLK",		/* GPIO_65  */
3624ac46b36SRaffaele Tranquillini		"PCM_SYNC",		/* GPIO_66  */
3634ac46b36SRaffaele Tranquillini		"PCM_DIN",		/* GPIO_67  */
3644ac46b36SRaffaele Tranquillini		"PCM_DOUT",		/* GPIO_68  */
3654ac46b36SRaffaele Tranquillini		"HIFI_CLK",		/* GPIO_69  */
3664ac46b36SRaffaele Tranquillini		"SLIMBUS_CLK",		/* GPIO_70  */
3674ac46b36SRaffaele Tranquillini		"SLIMBUS_DATA0",	/* GPIO_71  */
3684ac46b36SRaffaele Tranquillini		"SLIMBUS_DATA1",	/* GPIO_72  */
3694ac46b36SRaffaele Tranquillini		"LDO_5V_IN_EN",		/* GPIO_73  */
3704ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_74  */
3714ac46b36SRaffaele Tranquillini		"FM_I2S_CLK",		/* GPIO_75  */
3724ac46b36SRaffaele Tranquillini		"FM_I2S_SYNC",		/* GPIO_76  */
3734ac46b36SRaffaele Tranquillini		"FM_I2S_DATA",		/* GPIO_77  */
3744ac46b36SRaffaele Tranquillini		"FM_STATUS",		/* GPIO_78  */
3754ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_79  */
3764ac46b36SRaffaele Tranquillini		"SENSOR_RESET_N",	/* GPIO_80  */
3774ac46b36SRaffaele Tranquillini		"FP_SPI_MOSI",		/* GPIO_81  */
3784ac46b36SRaffaele Tranquillini		"FP_SPI_MISO",		/* GPIO_82  */
3794ac46b36SRaffaele Tranquillini		"FP_SPI_CS_N",		/* GPIO_83  */
3804ac46b36SRaffaele Tranquillini		"FP_SPI_CLK",		/* GPIO_84  */
3814ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_85  */
3824ac46b36SRaffaele Tranquillini		"CAM_VDD_1P05_EN",	/* GPIO_86  */
3834ac46b36SRaffaele Tranquillini		"MSM_TS_I2C_SDA",	/* GPIO_87  */
3844ac46b36SRaffaele Tranquillini		"MSM_TS_I2C_SCL",	/* GPIO_88  */
3854ac46b36SRaffaele Tranquillini		"TS_RESOUT_N",		/* GPIO_89  */
3864ac46b36SRaffaele Tranquillini		"ESE_SPI_CS_N",		/* GPIO_90  */
3874ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_91  */
3884ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_92  */
3894ac46b36SRaffaele Tranquillini		"HAPTICS_EN",		/* GPIO_93  */
3904ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_94  */
3914ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_95  */
3924ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_96  */
3934ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_97  */
3944ac46b36SRaffaele Tranquillini		"GRFC_1",		/* GPIO_98  */
3954ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_99  */
3964ac46b36SRaffaele Tranquillini		"GRFC_3",		/* GPIO_100 */
3974ac46b36SRaffaele Tranquillini		"GRFC_4",		/* GPIO_101 */
3984ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_102 */
3994ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_103 */
4004ac46b36SRaffaele Tranquillini		"GRFC_7",		/* GPIO_104 */
4014ac46b36SRaffaele Tranquillini		"UIM2_DATA",		/* GPIO_105 */
4024ac46b36SRaffaele Tranquillini		"UIM2_CLK",		/* GPIO_106 */
4034ac46b36SRaffaele Tranquillini		"UIM2_RESET",		/* GPIO_107 */
4044ac46b36SRaffaele Tranquillini		"UIM2_PRESENT",		/* GPIO_108 */
4054ac46b36SRaffaele Tranquillini		"UIM1_DATA",		/* GPIO_109 */
4064ac46b36SRaffaele Tranquillini		"UIM1_CLK",		/* GPIO_110 */
4074ac46b36SRaffaele Tranquillini		"UIM1_RESET",		/* GPIO_111 */
4084ac46b36SRaffaele Tranquillini		"UIM1_PRESENT",		/* GPIO_112 */
4094ac46b36SRaffaele Tranquillini		"UIM_BATT_ALARM",	/* GPIO_113 */
4104ac46b36SRaffaele Tranquillini		"GRFC_8",		/* GPIO_114 */
4114ac46b36SRaffaele Tranquillini		"GRFC_9",		/* GPIO_115 */
4124ac46b36SRaffaele Tranquillini		"TX_GTR_THRES",		/* GPIO_116 */
4134ac46b36SRaffaele Tranquillini		"ACCEL_INT",		/* GPIO_117 */
4144ac46b36SRaffaele Tranquillini		"GYRO_INT",		/* GPIO_118 */
4154ac46b36SRaffaele Tranquillini		"COMPASS_INT",		/* GPIO_119 */
4164ac46b36SRaffaele Tranquillini		"PROXIMITY_INT_N",	/* GPIO_120 */
4174ac46b36SRaffaele Tranquillini		"FP_IRQ",		/* GPIO_121 */
4184ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_122 */
4194ac46b36SRaffaele Tranquillini		"HALL_INTR2",		/* GPIO_123 */
4204ac46b36SRaffaele Tranquillini		"HALL_INTR1",		/* GPIO_124 */
4214ac46b36SRaffaele Tranquillini		"TS_INT_N",		/* GPIO_125 */
4224ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_126 */
4234ac46b36SRaffaele Tranquillini		"GRFC_11",		/* GPIO_127 */
4244ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_128 */
4254ac46b36SRaffaele Tranquillini		"EXT_GPS_LNA_EN",	/* GPIO_129 */
4264ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_130 */
4274ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_131 */
4284ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_132 */
4294ac46b36SRaffaele Tranquillini		"GRFC_14",		/* GPIO_133 */
4304ac46b36SRaffaele Tranquillini		"GSM_TX2_PHASE_D",	/* GPIO_134 */
4314ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_135 */
4324ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_136 */
4334ac46b36SRaffaele Tranquillini		"RFFE3_DATA",		/* GPIO_137 */
4344ac46b36SRaffaele Tranquillini		"RFFE3_CLK",		/* GPIO_138 */
4354ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_139 */
4364ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_140 */
4374ac46b36SRaffaele Tranquillini		"RFFE5_DATA",		/* GPIO_141 */
4384ac46b36SRaffaele Tranquillini		"RFFE5_CLK",		/* GPIO_142 */
4394ac46b36SRaffaele Tranquillini		"NC",			/* GPIO_143 */
4404ac46b36SRaffaele Tranquillini		"COEX_UART_TX",		/* GPIO_144 */
4414ac46b36SRaffaele Tranquillini		"COEX_UART_RX",		/* GPIO_145 */
4424ac46b36SRaffaele Tranquillini		"RFFE2_DATA",		/* GPIO_146 */
4434ac46b36SRaffaele Tranquillini		"RFFE2_CLK",		/* GPIO_147 */
4444ac46b36SRaffaele Tranquillini		"RFFE1_DATA",		/* GPIO_148 */
4454ac46b36SRaffaele Tranquillini		"RFFE1_CLK";		/* GPIO_149 */
4464ac46b36SRaffaele Tranquillini
447169e1553SKrzysztof Kozlowski	touchscreen_default: touchscreen-default-state {
4484ac46b36SRaffaele Tranquillini		pins = "gpio89", "gpio125";
4494ac46b36SRaffaele Tranquillini		function = "gpio";
4504ac46b36SRaffaele Tranquillini		drive-strength = <10>;
4514ac46b36SRaffaele Tranquillini		bias-pull-up;
4524ac46b36SRaffaele Tranquillini	};
4534ac46b36SRaffaele Tranquillini
454169e1553SKrzysztof Kozlowski	touchscreen_sleep: touchscreen-sleep-state {
4554ac46b36SRaffaele Tranquillini		pins = "gpio89", "gpio125";
4564ac46b36SRaffaele Tranquillini		function = "gpio";
4574ac46b36SRaffaele Tranquillini		drive-strength = <2>;
4584ac46b36SRaffaele Tranquillini		bias-disable;
4594ac46b36SRaffaele Tranquillini	};
4604ac46b36SRaffaele Tranquillini
461169e1553SKrzysztof Kozlowski	vibrator_default: vibrator-default-state {
4624ac46b36SRaffaele Tranquillini		pins = "gpio93";
4634ac46b36SRaffaele Tranquillini		function = "gpio";
4644ac46b36SRaffaele Tranquillini		drive-strength = <8>;
4654ac46b36SRaffaele Tranquillini		bias-pull-up;
4664ac46b36SRaffaele Tranquillini	};
4674ac46b36SRaffaele Tranquillini
468169e1553SKrzysztof Kozlowski	vibrator_sleep: vibrator-sleep-state {
4694ac46b36SRaffaele Tranquillini		pins = "gpio93";
4704ac46b36SRaffaele Tranquillini		function = "gpio";
4714ac46b36SRaffaele Tranquillini		drive-strength = <2>;
4724ac46b36SRaffaele Tranquillini		bias-disable;
4734ac46b36SRaffaele Tranquillini	};
4744ac46b36SRaffaele Tranquillini};
475