xref: /linux/scripts/dtc/include-prefixes/arm/qcom/qcom-msm8974pro-samsung-klte.dts (revision 724ba6751532055db75992fc6ae21c3e322e94a7)
1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0
2*724ba675SRob Herring#include "qcom-msm8974pro.dtsi"
3*724ba675SRob Herring#include "qcom-pma8084.dtsi"
4*724ba675SRob Herring#include <dt-bindings/input/input.h>
5*724ba675SRob Herring#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
6*724ba675SRob Herring#include <dt-bindings/leds/common.h>
7*724ba675SRob Herring
8*724ba675SRob Herring/ {
9*724ba675SRob Herring	model = "Samsung Galaxy S5";
10*724ba675SRob Herring	compatible = "samsung,klte", "qcom,msm8974pro", "qcom,msm8974";
11*724ba675SRob Herring	chassis-type = "handset";
12*724ba675SRob Herring
13*724ba675SRob Herring	aliases {
14*724ba675SRob Herring		serial0 = &blsp1_uart1;
15*724ba675SRob Herring		mmc0 = &sdhc_1; /* SDC1 eMMC slot */
16*724ba675SRob Herring		mmc1 = &sdhc_3; /* SDC2 SD card slot */
17*724ba675SRob Herring	};
18*724ba675SRob Herring
19*724ba675SRob Herring	chosen {
20*724ba675SRob Herring		stdout-path = "serial0:115200n8";
21*724ba675SRob Herring	};
22*724ba675SRob Herring
23*724ba675SRob Herring	gpio-keys {
24*724ba675SRob Herring		compatible = "gpio-keys";
25*724ba675SRob Herring
26*724ba675SRob Herring		pinctrl-names = "default";
27*724ba675SRob Herring		pinctrl-0 = <&gpio_keys_pin_a>;
28*724ba675SRob Herring
29*724ba675SRob Herring		key-volume-down {
30*724ba675SRob Herring			label = "volume_down";
31*724ba675SRob Herring			gpios = <&pma8084_gpios 2 GPIO_ACTIVE_LOW>;
32*724ba675SRob Herring			linux,input-type = <1>;
33*724ba675SRob Herring			linux,code = <KEY_VOLUMEDOWN>;
34*724ba675SRob Herring			debounce-interval = <15>;
35*724ba675SRob Herring		};
36*724ba675SRob Herring
37*724ba675SRob Herring		key-home {
38*724ba675SRob Herring			label = "home_key";
39*724ba675SRob Herring			gpios = <&pma8084_gpios 3 GPIO_ACTIVE_LOW>;
40*724ba675SRob Herring			linux,input-type = <1>;
41*724ba675SRob Herring			linux,code = <KEY_HOMEPAGE>;
42*724ba675SRob Herring			wakeup-source;
43*724ba675SRob Herring			debounce-interval = <15>;
44*724ba675SRob Herring		};
45*724ba675SRob Herring
46*724ba675SRob Herring		key-volume-up {
47*724ba675SRob Herring			label = "volume_up";
48*724ba675SRob Herring			gpios = <&pma8084_gpios 5 GPIO_ACTIVE_LOW>;
49*724ba675SRob Herring			linux,input-type = <1>;
50*724ba675SRob Herring			linux,code = <KEY_VOLUMEUP>;
51*724ba675SRob Herring			debounce-interval = <15>;
52*724ba675SRob Herring		};
53*724ba675SRob Herring	};
54*724ba675SRob Herring
55*724ba675SRob Herring	i2c-gpio-touchkey {
56*724ba675SRob Herring		compatible = "i2c-gpio";
57*724ba675SRob Herring		#address-cells = <1>;
58*724ba675SRob Herring		#size-cells = <0>;
59*724ba675SRob Herring		sda-gpios = <&tlmm 95 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
60*724ba675SRob Herring		scl-gpios = <&tlmm 96 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
61*724ba675SRob Herring		pinctrl-names = "default";
62*724ba675SRob Herring		pinctrl-0 = <&i2c_touchkey_pins>;
63*724ba675SRob Herring
64*724ba675SRob Herring		touchkey@20 {
65*724ba675SRob Herring			compatible = "cypress,tm2-touchkey";
66*724ba675SRob Herring			reg = <0x20>;
67*724ba675SRob Herring
68*724ba675SRob Herring			interrupt-parent = <&pma8084_gpios>;
69*724ba675SRob Herring			interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
70*724ba675SRob Herring			pinctrl-names = "default";
71*724ba675SRob Herring			pinctrl-0 = <&touchkey_pin>;
72*724ba675SRob Herring
73*724ba675SRob Herring			vcc-supply = <&max77826_ldo15>;
74*724ba675SRob Herring			vdd-supply = <&pma8084_l19>;
75*724ba675SRob Herring
76*724ba675SRob Herring			linux,keycodes = <KEY_APPSELECT KEY_BACK>;
77*724ba675SRob Herring		};
78*724ba675SRob Herring	};
79*724ba675SRob Herring
80*724ba675SRob Herring	i2c-gpio-led {
81*724ba675SRob Herring		compatible = "i2c-gpio";
82*724ba675SRob Herring		#address-cells = <1>;
83*724ba675SRob Herring		#size-cells = <0>;
84*724ba675SRob Herring		scl-gpios = <&tlmm 121 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
85*724ba675SRob Herring		sda-gpios = <&tlmm 120 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
86*724ba675SRob Herring		pinctrl-names = "default";
87*724ba675SRob Herring		pinctrl-0 = <&i2c_led_gpioex_pins>;
88*724ba675SRob Herring
89*724ba675SRob Herring		i2c-gpio,delay-us = <2>;
90*724ba675SRob Herring
91*724ba675SRob Herring		gpio_expander: gpio@20 {
92*724ba675SRob Herring			compatible = "nxp,pcal6416";
93*724ba675SRob Herring			reg = <0x20>;
94*724ba675SRob Herring
95*724ba675SRob Herring			gpio-controller;
96*724ba675SRob Herring			#gpio-cells = <2>;
97*724ba675SRob Herring
98*724ba675SRob Herring			vcc-supply = <&pma8084_s4>;
99*724ba675SRob Herring
100*724ba675SRob Herring			pinctrl-names = "default";
101*724ba675SRob Herring			pinctrl-0 = <&gpioex_pin>;
102*724ba675SRob Herring
103*724ba675SRob Herring			reset-gpios = <&tlmm 145 GPIO_ACTIVE_LOW>;
104*724ba675SRob Herring		};
105*724ba675SRob Herring
106*724ba675SRob Herring		led-controller@30 {
107*724ba675SRob Herring			compatible = "panasonic,an30259a";
108*724ba675SRob Herring			reg = <0x30>;
109*724ba675SRob Herring
110*724ba675SRob Herring			#address-cells = <1>;
111*724ba675SRob Herring			#size-cells = <0>;
112*724ba675SRob Herring
113*724ba675SRob Herring			led@1 {
114*724ba675SRob Herring				reg = <1>;
115*724ba675SRob Herring				function = LED_FUNCTION_STATUS;
116*724ba675SRob Herring				color = <LED_COLOR_ID_RED>;
117*724ba675SRob Herring			};
118*724ba675SRob Herring
119*724ba675SRob Herring			led@2 {
120*724ba675SRob Herring				reg = <2>;
121*724ba675SRob Herring				function = LED_FUNCTION_STATUS;
122*724ba675SRob Herring				color = <LED_COLOR_ID_GREEN>;
123*724ba675SRob Herring			};
124*724ba675SRob Herring
125*724ba675SRob Herring			led@3 {
126*724ba675SRob Herring				reg = <3>;
127*724ba675SRob Herring				function = LED_FUNCTION_STATUS;
128*724ba675SRob Herring				color = <LED_COLOR_ID_BLUE>;
129*724ba675SRob Herring			};
130*724ba675SRob Herring		};
131*724ba675SRob Herring	};
132*724ba675SRob Herring
133*724ba675SRob Herring	vreg_wlan: wlan-regulator {
134*724ba675SRob Herring		compatible = "regulator-fixed";
135*724ba675SRob Herring
136*724ba675SRob Herring		regulator-name = "wl-reg";
137*724ba675SRob Herring		regulator-min-microvolt = <3300000>;
138*724ba675SRob Herring		regulator-max-microvolt = <3300000>;
139*724ba675SRob Herring
140*724ba675SRob Herring		gpio = <&gpio_expander 8 GPIO_ACTIVE_HIGH>;
141*724ba675SRob Herring		enable-active-high;
142*724ba675SRob Herring	};
143*724ba675SRob Herring
144*724ba675SRob Herring	vreg_panel: panel-regulator {
145*724ba675SRob Herring		compatible = "regulator-fixed";
146*724ba675SRob Herring
147*724ba675SRob Herring		pinctrl-names = "default";
148*724ba675SRob Herring		pinctrl-0 = <&panel_en_pin>;
149*724ba675SRob Herring
150*724ba675SRob Herring		regulator-name = "panel-vddr-reg";
151*724ba675SRob Herring		regulator-min-microvolt = <1500000>;
152*724ba675SRob Herring		regulator-max-microvolt = <1500000>;
153*724ba675SRob Herring
154*724ba675SRob Herring		gpio = <&pma8084_gpios 14 GPIO_ACTIVE_HIGH>;
155*724ba675SRob Herring		enable-active-high;
156*724ba675SRob Herring	};
157*724ba675SRob Herring
158*724ba675SRob Herring	/delete-node/ vreg-boost;
159*724ba675SRob Herring};
160*724ba675SRob Herring
161*724ba675SRob Herring&blsp1_i2c2 {
162*724ba675SRob Herring	status = "okay";
163*724ba675SRob Herring
164*724ba675SRob Herring	touchscreen@20 {
165*724ba675SRob Herring		compatible = "syna,rmi4-i2c";
166*724ba675SRob Herring		reg = <0x20>;
167*724ba675SRob Herring
168*724ba675SRob Herring		interrupt-parent = <&pma8084_gpios>;
169*724ba675SRob Herring		interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
170*724ba675SRob Herring
171*724ba675SRob Herring		vdd-supply = <&max77826_ldo13>;
172*724ba675SRob Herring		vio-supply = <&pma8084_lvs2>;
173*724ba675SRob Herring
174*724ba675SRob Herring		pinctrl-names = "default";
175*724ba675SRob Herring		pinctrl-0 = <&touch_pin>;
176*724ba675SRob Herring
177*724ba675SRob Herring		syna,startup-delay-ms = <100>;
178*724ba675SRob Herring
179*724ba675SRob Herring		#address-cells = <1>;
180*724ba675SRob Herring		#size-cells = <0>;
181*724ba675SRob Herring
182*724ba675SRob Herring		rmi4-f01@1 {
183*724ba675SRob Herring			reg = <0x1>;
184*724ba675SRob Herring			syna,nosleep-mode = <1>;
185*724ba675SRob Herring		};
186*724ba675SRob Herring
187*724ba675SRob Herring		rmi4-f12@12 {
188*724ba675SRob Herring			reg = <0x12>;
189*724ba675SRob Herring			syna,sensor-type = <1>;
190*724ba675SRob Herring		};
191*724ba675SRob Herring	};
192*724ba675SRob Herring};
193*724ba675SRob Herring
194*724ba675SRob Herring&blsp1_i2c6 {
195*724ba675SRob Herring	status = "okay";
196*724ba675SRob Herring
197*724ba675SRob Herring	pmic@60 {
198*724ba675SRob Herring		reg = <0x60>;
199*724ba675SRob Herring		compatible = "maxim,max77826";
200*724ba675SRob Herring
201*724ba675SRob Herring		regulators {
202*724ba675SRob Herring			max77826_ldo1: LDO1 {
203*724ba675SRob Herring				regulator-min-microvolt = <1200000>;
204*724ba675SRob Herring				regulator-max-microvolt = <1200000>;
205*724ba675SRob Herring			};
206*724ba675SRob Herring
207*724ba675SRob Herring			max77826_ldo2: LDO2 {
208*724ba675SRob Herring				regulator-min-microvolt = <1000000>;
209*724ba675SRob Herring				regulator-max-microvolt = <1000000>;
210*724ba675SRob Herring			};
211*724ba675SRob Herring
212*724ba675SRob Herring			max77826_ldo3: LDO3 {
213*724ba675SRob Herring				regulator-min-microvolt = <1200000>;
214*724ba675SRob Herring				regulator-max-microvolt = <1200000>;
215*724ba675SRob Herring			};
216*724ba675SRob Herring
217*724ba675SRob Herring			max77826_ldo4: LDO4 {
218*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
219*724ba675SRob Herring				regulator-max-microvolt = <1800000>;
220*724ba675SRob Herring			};
221*724ba675SRob Herring
222*724ba675SRob Herring			max77826_ldo5: LDO5 {
223*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
224*724ba675SRob Herring				regulator-max-microvolt = <1800000>;
225*724ba675SRob Herring			};
226*724ba675SRob Herring
227*724ba675SRob Herring			max77826_ldo6: LDO6 {
228*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
229*724ba675SRob Herring				regulator-max-microvolt = <3300000>;
230*724ba675SRob Herring			};
231*724ba675SRob Herring
232*724ba675SRob Herring			max77826_ldo7: LDO7 {
233*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
234*724ba675SRob Herring				regulator-max-microvolt = <1800000>;
235*724ba675SRob Herring			};
236*724ba675SRob Herring
237*724ba675SRob Herring			max77826_ldo8: LDO8 {
238*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
239*724ba675SRob Herring				regulator-max-microvolt = <3300000>;
240*724ba675SRob Herring			};
241*724ba675SRob Herring
242*724ba675SRob Herring			max77826_ldo9: LDO9 {
243*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
244*724ba675SRob Herring				regulator-max-microvolt = <1800000>;
245*724ba675SRob Herring			};
246*724ba675SRob Herring
247*724ba675SRob Herring			max77826_ldo10: LDO10 {
248*724ba675SRob Herring				regulator-min-microvolt = <2800000>;
249*724ba675SRob Herring				regulator-max-microvolt = <2950000>;
250*724ba675SRob Herring			};
251*724ba675SRob Herring
252*724ba675SRob Herring			max77826_ldo11: LDO11 {
253*724ba675SRob Herring				regulator-min-microvolt = <2700000>;
254*724ba675SRob Herring				regulator-max-microvolt = <2950000>;
255*724ba675SRob Herring			};
256*724ba675SRob Herring
257*724ba675SRob Herring			max77826_ldo12: LDO12 {
258*724ba675SRob Herring				regulator-min-microvolt = <2500000>;
259*724ba675SRob Herring				regulator-max-microvolt = <3300000>;
260*724ba675SRob Herring			};
261*724ba675SRob Herring
262*724ba675SRob Herring			max77826_ldo13: LDO13 {
263*724ba675SRob Herring				regulator-min-microvolt = <3300000>;
264*724ba675SRob Herring				regulator-max-microvolt = <3300000>;
265*724ba675SRob Herring			};
266*724ba675SRob Herring
267*724ba675SRob Herring			max77826_ldo14: LDO14 {
268*724ba675SRob Herring				regulator-min-microvolt = <3300000>;
269*724ba675SRob Herring				regulator-max-microvolt = <3300000>;
270*724ba675SRob Herring			};
271*724ba675SRob Herring
272*724ba675SRob Herring			max77826_ldo15: LDO15 {
273*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
274*724ba675SRob Herring				regulator-max-microvolt = <1800000>;
275*724ba675SRob Herring			};
276*724ba675SRob Herring
277*724ba675SRob Herring			max77826_buck: BUCK {
278*724ba675SRob Herring				regulator-min-microvolt = <1225000>;
279*724ba675SRob Herring				regulator-max-microvolt = <1225000>;
280*724ba675SRob Herring			};
281*724ba675SRob Herring
282*724ba675SRob Herring			max77826_buckboost: BUCKBOOST {
283*724ba675SRob Herring				regulator-min-microvolt = <3400000>;
284*724ba675SRob Herring				regulator-max-microvolt = <3400000>;
285*724ba675SRob Herring			};
286*724ba675SRob Herring		};
287*724ba675SRob Herring	};
288*724ba675SRob Herring};
289*724ba675SRob Herring
290*724ba675SRob Herring&blsp1_uart2 {
291*724ba675SRob Herring	status = "okay";
292*724ba675SRob Herring};
293*724ba675SRob Herring
294*724ba675SRob Herring&blsp2_i2c6 {
295*724ba675SRob Herring	status = "okay";
296*724ba675SRob Herring
297*724ba675SRob Herring	fuelgauge@36 {
298*724ba675SRob Herring		compatible = "maxim,max17048";
299*724ba675SRob Herring		reg = <0x36>;
300*724ba675SRob Herring
301*724ba675SRob Herring		maxim,double-soc;
302*724ba675SRob Herring		maxim,rcomp = /bits/ 8 <0x56>;
303*724ba675SRob Herring
304*724ba675SRob Herring		interrupt-parent = <&pma8084_gpios>;
305*724ba675SRob Herring		interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
306*724ba675SRob Herring
307*724ba675SRob Herring		pinctrl-names = "default";
308*724ba675SRob Herring		pinctrl-0 = <&fuelgauge_pin>;
309*724ba675SRob Herring	};
310*724ba675SRob Herring};
311*724ba675SRob Herring
312*724ba675SRob Herring&blsp2_uart2 {
313*724ba675SRob Herring	status = "okay";
314*724ba675SRob Herring
315*724ba675SRob Herring	pinctrl-names = "default", "sleep";
316*724ba675SRob Herring	pinctrl-0 = <&blsp2_uart2_pins_active>;
317*724ba675SRob Herring	pinctrl-1 = <&blsp2_uart2_pins_sleep>;
318*724ba675SRob Herring
319*724ba675SRob Herring	bluetooth {
320*724ba675SRob Herring		compatible = "brcm,bcm43540-bt";
321*724ba675SRob Herring		max-speed = <3000000>;
322*724ba675SRob Herring		pinctrl-names = "default";
323*724ba675SRob Herring		pinctrl-0 = <&bt_pins>;
324*724ba675SRob Herring		device-wakeup-gpios = <&tlmm 91 GPIO_ACTIVE_HIGH>;
325*724ba675SRob Herring		shutdown-gpios = <&gpio_expander 9 GPIO_ACTIVE_HIGH>;
326*724ba675SRob Herring		interrupt-parent = <&tlmm>;
327*724ba675SRob Herring		interrupts = <75 IRQ_TYPE_LEVEL_HIGH>;
328*724ba675SRob Herring		interrupt-names = "host-wakeup";
329*724ba675SRob Herring	};
330*724ba675SRob Herring};
331*724ba675SRob Herring
332*724ba675SRob Herring&gpu {
333*724ba675SRob Herring	status = "okay";
334*724ba675SRob Herring};
335*724ba675SRob Herring
336*724ba675SRob Herring&mdss {
337*724ba675SRob Herring	status = "okay";
338*724ba675SRob Herring};
339*724ba675SRob Herring
340*724ba675SRob Herring&mdss_dsi0 {
341*724ba675SRob Herring	status = "okay";
342*724ba675SRob Herring
343*724ba675SRob Herring	vdda-supply = <&pma8084_l2>;
344*724ba675SRob Herring	vdd-supply = <&pma8084_l22>;
345*724ba675SRob Herring	vddio-supply = <&pma8084_l12>;
346*724ba675SRob Herring
347*724ba675SRob Herring	panel: panel@0 {
348*724ba675SRob Herring		reg = <0>;
349*724ba675SRob Herring		compatible = "samsung,s6e3fa2";
350*724ba675SRob Herring
351*724ba675SRob Herring		pinctrl-names = "default";
352*724ba675SRob Herring		pinctrl-0 = <&panel_te_pin &panel_rst_pin>;
353*724ba675SRob Herring
354*724ba675SRob Herring		iovdd-supply = <&pma8084_lvs4>;
355*724ba675SRob Herring		vddr-supply = <&vreg_panel>;
356*724ba675SRob Herring
357*724ba675SRob Herring		reset-gpios = <&pma8084_gpios 17 GPIO_ACTIVE_LOW>;
358*724ba675SRob Herring		te-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>;
359*724ba675SRob Herring
360*724ba675SRob Herring		port {
361*724ba675SRob Herring			panel_in: endpoint {
362*724ba675SRob Herring				remote-endpoint = <&mdss_dsi0_out>;
363*724ba675SRob Herring			};
364*724ba675SRob Herring		};
365*724ba675SRob Herring	};
366*724ba675SRob Herring};
367*724ba675SRob Herring
368*724ba675SRob Herring&mdss_dsi0_out {
369*724ba675SRob Herring	remote-endpoint = <&panel_in>;
370*724ba675SRob Herring	data-lanes = <0 1 2 3>;
371*724ba675SRob Herring};
372*724ba675SRob Herring
373*724ba675SRob Herring&mdss_dsi0_phy {
374*724ba675SRob Herring	status = "okay";
375*724ba675SRob Herring
376*724ba675SRob Herring	vddio-supply = <&pma8084_l12>;
377*724ba675SRob Herring};
378*724ba675SRob Herring
379*724ba675SRob Herring&pma8084_gpios {
380*724ba675SRob Herring	gpio_keys_pin_a: gpio-keys-active-state {
381*724ba675SRob Herring		pins = "gpio2", "gpio3", "gpio5";
382*724ba675SRob Herring		function = "normal";
383*724ba675SRob Herring
384*724ba675SRob Herring		bias-pull-up;
385*724ba675SRob Herring		power-source = <PMA8084_GPIO_S4>;
386*724ba675SRob Herring	};
387*724ba675SRob Herring
388*724ba675SRob Herring	touchkey_pin: touchkey-int-state {
389*724ba675SRob Herring		pins = "gpio6";
390*724ba675SRob Herring		function = "normal";
391*724ba675SRob Herring		bias-disable;
392*724ba675SRob Herring		input-enable;
393*724ba675SRob Herring		power-source = <PMA8084_GPIO_S4>;
394*724ba675SRob Herring	};
395*724ba675SRob Herring
396*724ba675SRob Herring	touch_pin: touchscreen-int-state {
397*724ba675SRob Herring		pins = "gpio8";
398*724ba675SRob Herring		function = "normal";
399*724ba675SRob Herring		bias-disable;
400*724ba675SRob Herring		input-enable;
401*724ba675SRob Herring		power-source = <PMA8084_GPIO_S4>;
402*724ba675SRob Herring	};
403*724ba675SRob Herring
404*724ba675SRob Herring	panel_en_pin: panel-en-state {
405*724ba675SRob Herring		pins = "gpio14";
406*724ba675SRob Herring		function = "normal";
407*724ba675SRob Herring		bias-pull-up;
408*724ba675SRob Herring		power-source = <PMA8084_GPIO_S4>;
409*724ba675SRob Herring		qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
410*724ba675SRob Herring	};
411*724ba675SRob Herring
412*724ba675SRob Herring	wlan_sleep_clk_pin: wlan-sleep-clk-state {
413*724ba675SRob Herring		pins = "gpio16";
414*724ba675SRob Herring		function = "func2";
415*724ba675SRob Herring
416*724ba675SRob Herring		output-high;
417*724ba675SRob Herring		power-source = <PMA8084_GPIO_S4>;
418*724ba675SRob Herring		qcom,drive-strength = <PMIC_GPIO_STRENGTH_HIGH>;
419*724ba675SRob Herring	};
420*724ba675SRob Herring
421*724ba675SRob Herring	panel_rst_pin: panel-rst-state {
422*724ba675SRob Herring		pins = "gpio17";
423*724ba675SRob Herring		function = "normal";
424*724ba675SRob Herring		bias-disable;
425*724ba675SRob Herring		power-source = <PMA8084_GPIO_S4>;
426*724ba675SRob Herring		qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
427*724ba675SRob Herring	};
428*724ba675SRob Herring
429*724ba675SRob Herring	fuelgauge_pin: fuelgauge-int-state {
430*724ba675SRob Herring		pins = "gpio21";
431*724ba675SRob Herring		function = "normal";
432*724ba675SRob Herring		bias-disable;
433*724ba675SRob Herring		input-enable;
434*724ba675SRob Herring		power-source = <PMA8084_GPIO_S4>;
435*724ba675SRob Herring	};
436*724ba675SRob Herring};
437*724ba675SRob Herring
438*724ba675SRob Herring&remoteproc_adsp {
439*724ba675SRob Herring	status = "okay";
440*724ba675SRob Herring	cx-supply = <&pma8084_s2>;
441*724ba675SRob Herring};
442*724ba675SRob Herring
443*724ba675SRob Herring&remoteproc_mss {
444*724ba675SRob Herring	status = "okay";
445*724ba675SRob Herring	cx-supply = <&pma8084_s2>;
446*724ba675SRob Herring	mss-supply = <&pma8084_s6>;
447*724ba675SRob Herring	mx-supply = <&pma8084_s1>;
448*724ba675SRob Herring	pll-supply = <&pma8084_l12>;
449*724ba675SRob Herring};
450*724ba675SRob Herring
451*724ba675SRob Herring&rpm_requests {
452*724ba675SRob Herring	regulators-0 {
453*724ba675SRob Herring		compatible = "qcom,rpm-pma8084-regulators";
454*724ba675SRob Herring
455*724ba675SRob Herring		pma8084_s1: s1 {
456*724ba675SRob Herring			regulator-min-microvolt = <675000>;
457*724ba675SRob Herring			regulator-max-microvolt = <1050000>;
458*724ba675SRob Herring			regulator-always-on;
459*724ba675SRob Herring		};
460*724ba675SRob Herring
461*724ba675SRob Herring		pma8084_s2: s2 {
462*724ba675SRob Herring			regulator-min-microvolt = <500000>;
463*724ba675SRob Herring			regulator-max-microvolt = <1050000>;
464*724ba675SRob Herring		};
465*724ba675SRob Herring
466*724ba675SRob Herring		pma8084_s3: s3 {
467*724ba675SRob Herring			regulator-min-microvolt = <1300000>;
468*724ba675SRob Herring			regulator-max-microvolt = <1300000>;
469*724ba675SRob Herring		};
470*724ba675SRob Herring
471*724ba675SRob Herring		pma8084_s4: s4 {
472*724ba675SRob Herring			regulator-min-microvolt = <1800000>;
473*724ba675SRob Herring			regulator-max-microvolt = <1800000>;
474*724ba675SRob Herring		};
475*724ba675SRob Herring
476*724ba675SRob Herring		pma8084_s5: s5 {
477*724ba675SRob Herring			regulator-min-microvolt = <2150000>;
478*724ba675SRob Herring			regulator-max-microvolt = <2150000>;
479*724ba675SRob Herring		};
480*724ba675SRob Herring
481*724ba675SRob Herring		pma8084_s6: s6 {
482*724ba675SRob Herring			regulator-min-microvolt = <1050000>;
483*724ba675SRob Herring			regulator-max-microvolt = <1050000>;
484*724ba675SRob Herring		};
485*724ba675SRob Herring
486*724ba675SRob Herring		pma8084_l1: l1 {
487*724ba675SRob Herring			regulator-min-microvolt = <1225000>;
488*724ba675SRob Herring			regulator-max-microvolt = <1225000>;
489*724ba675SRob Herring		};
490*724ba675SRob Herring
491*724ba675SRob Herring		pma8084_l2: l2 {
492*724ba675SRob Herring			regulator-min-microvolt = <1200000>;
493*724ba675SRob Herring			regulator-max-microvolt = <1200000>;
494*724ba675SRob Herring		};
495*724ba675SRob Herring
496*724ba675SRob Herring		pma8084_l3: l3 {
497*724ba675SRob Herring			regulator-min-microvolt = <1050000>;
498*724ba675SRob Herring			regulator-max-microvolt = <1200000>;
499*724ba675SRob Herring		};
500*724ba675SRob Herring
501*724ba675SRob Herring		pma8084_l4: l4 {
502*724ba675SRob Herring			regulator-min-microvolt = <1200000>;
503*724ba675SRob Herring			regulator-max-microvolt = <1225000>;
504*724ba675SRob Herring		};
505*724ba675SRob Herring
506*724ba675SRob Herring		pma8084_l5: l5 {
507*724ba675SRob Herring			regulator-min-microvolt = <1800000>;
508*724ba675SRob Herring			regulator-max-microvolt = <1800000>;
509*724ba675SRob Herring		};
510*724ba675SRob Herring
511*724ba675SRob Herring		pma8084_l6: l6 {
512*724ba675SRob Herring			regulator-min-microvolt = <1800000>;
513*724ba675SRob Herring			regulator-max-microvolt = <1800000>;
514*724ba675SRob Herring		};
515*724ba675SRob Herring
516*724ba675SRob Herring		pma8084_l7: l7 {
517*724ba675SRob Herring			regulator-min-microvolt = <1800000>;
518*724ba675SRob Herring			regulator-max-microvolt = <1800000>;
519*724ba675SRob Herring		};
520*724ba675SRob Herring
521*724ba675SRob Herring		pma8084_l8: l8 {
522*724ba675SRob Herring			regulator-min-microvolt = <1800000>;
523*724ba675SRob Herring			regulator-max-microvolt = <1800000>;
524*724ba675SRob Herring		};
525*724ba675SRob Herring
526*724ba675SRob Herring		pma8084_l9: l9 {
527*724ba675SRob Herring			regulator-min-microvolt = <1800000>;
528*724ba675SRob Herring			regulator-max-microvolt = <2950000>;
529*724ba675SRob Herring		};
530*724ba675SRob Herring
531*724ba675SRob Herring		pma8084_l10: l10 {
532*724ba675SRob Herring			regulator-min-microvolt = <1800000>;
533*724ba675SRob Herring			regulator-max-microvolt = <2950000>;
534*724ba675SRob Herring		};
535*724ba675SRob Herring
536*724ba675SRob Herring		pma8084_l11: l11 {
537*724ba675SRob Herring			regulator-min-microvolt = <1300000>;
538*724ba675SRob Herring			regulator-max-microvolt = <1300000>;
539*724ba675SRob Herring		};
540*724ba675SRob Herring
541*724ba675SRob Herring		pma8084_l12: l12 {
542*724ba675SRob Herring			regulator-min-microvolt = <1800000>;
543*724ba675SRob Herring			regulator-max-microvolt = <1800000>;
544*724ba675SRob Herring			regulator-always-on;
545*724ba675SRob Herring		};
546*724ba675SRob Herring
547*724ba675SRob Herring		pma8084_l13: l13 {
548*724ba675SRob Herring			regulator-min-microvolt = <1800000>;
549*724ba675SRob Herring			regulator-max-microvolt = <2950000>;
550*724ba675SRob Herring		};
551*724ba675SRob Herring
552*724ba675SRob Herring		pma8084_l14: l14 {
553*724ba675SRob Herring			regulator-min-microvolt = <1800000>;
554*724ba675SRob Herring			regulator-max-microvolt = <1800000>;
555*724ba675SRob Herring		};
556*724ba675SRob Herring
557*724ba675SRob Herring		pma8084_l15: l15 {
558*724ba675SRob Herring			regulator-min-microvolt = <2050000>;
559*724ba675SRob Herring			regulator-max-microvolt = <2050000>;
560*724ba675SRob Herring		};
561*724ba675SRob Herring
562*724ba675SRob Herring		pma8084_l16: l16 {
563*724ba675SRob Herring			regulator-min-microvolt = <2700000>;
564*724ba675SRob Herring			regulator-max-microvolt = <2700000>;
565*724ba675SRob Herring		};
566*724ba675SRob Herring
567*724ba675SRob Herring		pma8084_l17: l17 {
568*724ba675SRob Herring			regulator-min-microvolt = <2850000>;
569*724ba675SRob Herring			regulator-max-microvolt = <2850000>;
570*724ba675SRob Herring		};
571*724ba675SRob Herring
572*724ba675SRob Herring		pma8084_l18: l18 {
573*724ba675SRob Herring			regulator-min-microvolt = <2850000>;
574*724ba675SRob Herring			regulator-max-microvolt = <2850000>;
575*724ba675SRob Herring		};
576*724ba675SRob Herring
577*724ba675SRob Herring		pma8084_l19: l19 {
578*724ba675SRob Herring			regulator-min-microvolt = <3300000>;
579*724ba675SRob Herring			regulator-max-microvolt = <3300000>;
580*724ba675SRob Herring		};
581*724ba675SRob Herring
582*724ba675SRob Herring		pma8084_l20: l20 {
583*724ba675SRob Herring			regulator-min-microvolt = <2950000>;
584*724ba675SRob Herring			regulator-max-microvolt = <2950000>;
585*724ba675SRob Herring			regulator-system-load = <200000>;
586*724ba675SRob Herring			regulator-allow-set-load;
587*724ba675SRob Herring		};
588*724ba675SRob Herring
589*724ba675SRob Herring		pma8084_l21: l21 {
590*724ba675SRob Herring			regulator-min-microvolt = <2950000>;
591*724ba675SRob Herring			regulator-max-microvolt = <2950000>;
592*724ba675SRob Herring			regulator-system-load = <200000>;
593*724ba675SRob Herring			regulator-allow-set-load;
594*724ba675SRob Herring		};
595*724ba675SRob Herring
596*724ba675SRob Herring		pma8084_l22: l22 {
597*724ba675SRob Herring			regulator-min-microvolt = <3000000>;
598*724ba675SRob Herring			regulator-max-microvolt = <3300000>;
599*724ba675SRob Herring		};
600*724ba675SRob Herring
601*724ba675SRob Herring		pma8084_l23: l23 {
602*724ba675SRob Herring			regulator-min-microvolt = <3000000>;
603*724ba675SRob Herring			regulator-max-microvolt = <3000000>;
604*724ba675SRob Herring		};
605*724ba675SRob Herring
606*724ba675SRob Herring		pma8084_l24: l24 {
607*724ba675SRob Herring			regulator-min-microvolt = <3075000>;
608*724ba675SRob Herring			regulator-max-microvolt = <3075000>;
609*724ba675SRob Herring		};
610*724ba675SRob Herring
611*724ba675SRob Herring		pma8084_l25: l25 {
612*724ba675SRob Herring			regulator-min-microvolt = <2100000>;
613*724ba675SRob Herring			regulator-max-microvolt = <2100000>;
614*724ba675SRob Herring		};
615*724ba675SRob Herring
616*724ba675SRob Herring		pma8084_l26: l26 {
617*724ba675SRob Herring			regulator-min-microvolt = <1800000>;
618*724ba675SRob Herring			regulator-max-microvolt = <2050000>;
619*724ba675SRob Herring		};
620*724ba675SRob Herring
621*724ba675SRob Herring		pma8084_l27: l27 {
622*724ba675SRob Herring			regulator-min-microvolt = <1000000>;
623*724ba675SRob Herring			regulator-max-microvolt = <1225000>;
624*724ba675SRob Herring		};
625*724ba675SRob Herring
626*724ba675SRob Herring		pma8084_lvs1: lvs1 {};
627*724ba675SRob Herring		pma8084_lvs2: lvs2 {};
628*724ba675SRob Herring		pma8084_lvs3: lvs3 {};
629*724ba675SRob Herring		pma8084_lvs4: lvs4 {};
630*724ba675SRob Herring
631*724ba675SRob Herring		pma8084_5vs1: 5vs1 {};
632*724ba675SRob Herring	};
633*724ba675SRob Herring};
634*724ba675SRob Herring
635*724ba675SRob Herring&sdhc_1 {
636*724ba675SRob Herring	status = "okay";
637*724ba675SRob Herring
638*724ba675SRob Herring	vmmc-supply = <&pma8084_l20>;
639*724ba675SRob Herring	vqmmc-supply = <&pma8084_s4>;
640*724ba675SRob Herring
641*724ba675SRob Herring	pinctrl-names = "default", "sleep";
642*724ba675SRob Herring	pinctrl-0 = <&sdc1_on>;
643*724ba675SRob Herring	pinctrl-1 = <&sdc1_off>;
644*724ba675SRob Herring};
645*724ba675SRob Herring
646*724ba675SRob Herring&sdhc_2 {
647*724ba675SRob Herring	status = "okay";
648*724ba675SRob Herring	max-frequency = <100000000>;
649*724ba675SRob Herring	vmmc-supply = <&vreg_wlan>;
650*724ba675SRob Herring	vqmmc-supply = <&pma8084_s4>;
651*724ba675SRob Herring	non-removable;
652*724ba675SRob Herring
653*724ba675SRob Herring	pinctrl-names = "default", "sleep";
654*724ba675SRob Herring	pinctrl-0 = <&sdc2_on>;
655*724ba675SRob Herring	pinctrl-1 = <&sdc2_off>;
656*724ba675SRob Herring
657*724ba675SRob Herring	wifi@1 {
658*724ba675SRob Herring		reg = <1>;
659*724ba675SRob Herring		compatible = "brcm,bcm4329-fmac";
660*724ba675SRob Herring
661*724ba675SRob Herring		interrupt-parent = <&tlmm>;
662*724ba675SRob Herring		interrupts = <92 IRQ_TYPE_LEVEL_HIGH>;
663*724ba675SRob Herring		interrupt-names = "host-wake";
664*724ba675SRob Herring
665*724ba675SRob Herring		pinctrl-names = "default";
666*724ba675SRob Herring		pinctrl-0 = <&wlan_sleep_clk_pin &wifi_pin>;
667*724ba675SRob Herring	};
668*724ba675SRob Herring};
669*724ba675SRob Herring
670*724ba675SRob Herring&sdhc_3 {
671*724ba675SRob Herring	status = "okay";
672*724ba675SRob Herring	max-frequency = <100000000>;
673*724ba675SRob Herring	vmmc-supply = <&pma8084_l21>;
674*724ba675SRob Herring	vqmmc-supply = <&pma8084_l13>;
675*724ba675SRob Herring
676*724ba675SRob Herring	/*
677*724ba675SRob Herring	 * cd-gpio is intentionally disabled. If enabled, an SD card
678*724ba675SRob Herring	 * present during boot is not initialized correctly. Without
679*724ba675SRob Herring	 * cd-gpios the driver resorts to polling, so hotplug works.
680*724ba675SRob Herring	 */
681*724ba675SRob Herring	pinctrl-names = "default";
682*724ba675SRob Herring	pinctrl-0 = <&sdc3_on /* &sdhc3_cd_pin */>;
683*724ba675SRob Herring	/* cd-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>; */
684*724ba675SRob Herring};
685*724ba675SRob Herring
686*724ba675SRob Herring&tlmm {
687*724ba675SRob Herring	/* This seems suspicious, but somebody with this device should look into it. */
688*724ba675SRob Herring	blsp2_uart2_pins_active: blsp2-uart2-pins-active-state {
689*724ba675SRob Herring		pins = "gpio45", "gpio46", "gpio47", "gpio48";
690*724ba675SRob Herring		function = "blsp_uart8";
691*724ba675SRob Herring		drive-strength = <8>;
692*724ba675SRob Herring		bias-disable;
693*724ba675SRob Herring	};
694*724ba675SRob Herring
695*724ba675SRob Herring	blsp2_uart2_pins_sleep: blsp2-uart2-pins-sleep-state {
696*724ba675SRob Herring		pins = "gpio45", "gpio46", "gpio47", "gpio48";
697*724ba675SRob Herring		function = "gpio";
698*724ba675SRob Herring		drive-strength = <2>;
699*724ba675SRob Herring		bias-pull-down;
700*724ba675SRob Herring	};
701*724ba675SRob Herring
702*724ba675SRob Herring	bt_pins: bt-pins-state {
703*724ba675SRob Herring		hostwake-pins {
704*724ba675SRob Herring			pins = "gpio75";
705*724ba675SRob Herring			function = "gpio";
706*724ba675SRob Herring			drive-strength = <16>;
707*724ba675SRob Herring			input-enable;
708*724ba675SRob Herring		};
709*724ba675SRob Herring
710*724ba675SRob Herring		devwake-pins {
711*724ba675SRob Herring			pins = "gpio91";
712*724ba675SRob Herring			function = "gpio";
713*724ba675SRob Herring			drive-strength = <2>;
714*724ba675SRob Herring		};
715*724ba675SRob Herring	};
716*724ba675SRob Herring
717*724ba675SRob Herring	sdc1_on: sdhc1-on-state {
718*724ba675SRob Herring		clk-pins {
719*724ba675SRob Herring			pins = "sdc1_clk";
720*724ba675SRob Herring			drive-strength = <4>;
721*724ba675SRob Herring			bias-disable;
722*724ba675SRob Herring		};
723*724ba675SRob Herring
724*724ba675SRob Herring		cmd-data-pins {
725*724ba675SRob Herring			pins = "sdc1_cmd", "sdc1_data";
726*724ba675SRob Herring			drive-strength = <4>;
727*724ba675SRob Herring			bias-pull-up;
728*724ba675SRob Herring		};
729*724ba675SRob Herring	};
730*724ba675SRob Herring
731*724ba675SRob Herring	sdc3_on: sdc3-on-state {
732*724ba675SRob Herring		pins = "gpio35", "gpio36", "gpio37", "gpio38", "gpio39", "gpio40";
733*724ba675SRob Herring		function = "sdc3";
734*724ba675SRob Herring		drive-strength = <8>;
735*724ba675SRob Herring		bias-disable;
736*724ba675SRob Herring	};
737*724ba675SRob Herring
738*724ba675SRob Herring	sdhc3_cd_pin: sdc3-cd-on-state {
739*724ba675SRob Herring		pins = "gpio62";
740*724ba675SRob Herring		function = "gpio";
741*724ba675SRob Herring
742*724ba675SRob Herring		drive-strength = <2>;
743*724ba675SRob Herring		bias-disable;
744*724ba675SRob Herring	};
745*724ba675SRob Herring
746*724ba675SRob Herring	sdc2_on: sdhc2-on-state {
747*724ba675SRob Herring		clk-pins {
748*724ba675SRob Herring			pins = "sdc2_clk";
749*724ba675SRob Herring			drive-strength = <6>;
750*724ba675SRob Herring			bias-disable;
751*724ba675SRob Herring		};
752*724ba675SRob Herring
753*724ba675SRob Herring		cmd-data-pins {
754*724ba675SRob Herring			pins = "sdc2_cmd", "sdc2_data";
755*724ba675SRob Herring			drive-strength = <6>;
756*724ba675SRob Herring			bias-pull-up;
757*724ba675SRob Herring		};
758*724ba675SRob Herring	};
759*724ba675SRob Herring
760*724ba675SRob Herring	i2c_touchkey_pins: i2c-touchkey-state {
761*724ba675SRob Herring		pins = "gpio95", "gpio96";
762*724ba675SRob Herring		function = "gpio";
763*724ba675SRob Herring		input-enable;
764*724ba675SRob Herring		bias-pull-up;
765*724ba675SRob Herring	};
766*724ba675SRob Herring
767*724ba675SRob Herring	i2c_led_gpioex_pins: i2c-led-gpioex-state {
768*724ba675SRob Herring		pins = "gpio120", "gpio121";
769*724ba675SRob Herring		function = "gpio";
770*724ba675SRob Herring		input-enable;
771*724ba675SRob Herring		bias-pull-down;
772*724ba675SRob Herring	};
773*724ba675SRob Herring
774*724ba675SRob Herring	gpioex_pin: gpioex-state {
775*724ba675SRob Herring		pins = "gpio145";
776*724ba675SRob Herring		function = "gpio";
777*724ba675SRob Herring		bias-pull-up;
778*724ba675SRob Herring		drive-strength = <2>;
779*724ba675SRob Herring	};
780*724ba675SRob Herring
781*724ba675SRob Herring	wifi_pin: wifi-state {
782*724ba675SRob Herring		pins = "gpio92";
783*724ba675SRob Herring		function = "gpio";
784*724ba675SRob Herring		input-enable;
785*724ba675SRob Herring		bias-pull-down;
786*724ba675SRob Herring	};
787*724ba675SRob Herring
788*724ba675SRob Herring	panel_te_pin: panel-state {
789*724ba675SRob Herring		pins = "gpio12";
790*724ba675SRob Herring		function = "mdp_vsync";
791*724ba675SRob Herring		drive-strength = <2>;
792*724ba675SRob Herring		bias-disable;
793*724ba675SRob Herring	};
794*724ba675SRob Herring};
795*724ba675SRob Herring
796*724ba675SRob Herring&usb {
797*724ba675SRob Herring	status = "okay";
798*724ba675SRob Herring
799*724ba675SRob Herring	phys = <&usb_hs1_phy>;
800*724ba675SRob Herring	phy-select = <&tcsr 0xb000 0>;
801*724ba675SRob Herring
802*724ba675SRob Herring	hnp-disable;
803*724ba675SRob Herring	srp-disable;
804*724ba675SRob Herring	adp-disable;
805*724ba675SRob Herring};
806*724ba675SRob Herring
807*724ba675SRob Herring&usb_hs1_phy {
808*724ba675SRob Herring	status = "okay";
809*724ba675SRob Herring
810*724ba675SRob Herring	v1p8-supply = <&pma8084_l6>;
811*724ba675SRob Herring	v3p3-supply = <&pma8084_l24>;
812*724ba675SRob Herring
813*724ba675SRob Herring	qcom,init-seq = /bits/ 8 <0x1 0x64>;
814*724ba675SRob Herring};
815