xref: /openbmc/linux/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte.dts (revision 87832e937c808a7ebc41254b408362e3255c87c9)
1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0
2724ba675SRob Herring#include "qcom-msm8974pro.dtsi"
3*9d004cdaSDmitry Baryshkov#include "pma8084.dtsi"
4724ba675SRob Herring#include <dt-bindings/input/input.h>
5724ba675SRob Herring#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
6724ba675SRob Herring#include <dt-bindings/leds/common.h>
7724ba675SRob Herring
8724ba675SRob Herring/ {
9724ba675SRob Herring	model = "Samsung Galaxy S5";
10724ba675SRob Herring	compatible = "samsung,klte", "qcom,msm8974pro", "qcom,msm8974";
11724ba675SRob Herring	chassis-type = "handset";
12724ba675SRob Herring
13724ba675SRob Herring	aliases {
14724ba675SRob Herring		serial0 = &blsp1_uart1;
15724ba675SRob Herring		mmc0 = &sdhc_1; /* SDC1 eMMC slot */
16724ba675SRob Herring		mmc1 = &sdhc_3; /* SDC2 SD card slot */
17724ba675SRob Herring	};
18724ba675SRob Herring
19724ba675SRob Herring	chosen {
20724ba675SRob Herring		stdout-path = "serial0:115200n8";
21724ba675SRob Herring	};
22724ba675SRob Herring
23724ba675SRob Herring	gpio-keys {
24724ba675SRob Herring		compatible = "gpio-keys";
25724ba675SRob Herring
26724ba675SRob Herring		pinctrl-names = "default";
27724ba675SRob Herring		pinctrl-0 = <&gpio_keys_pin_a>;
28724ba675SRob Herring
29724ba675SRob Herring		key-volume-down {
30724ba675SRob Herring			label = "volume_down";
31724ba675SRob Herring			gpios = <&pma8084_gpios 2 GPIO_ACTIVE_LOW>;
32724ba675SRob Herring			linux,input-type = <1>;
33724ba675SRob Herring			linux,code = <KEY_VOLUMEDOWN>;
34724ba675SRob Herring			debounce-interval = <15>;
35724ba675SRob Herring		};
36724ba675SRob Herring
37724ba675SRob Herring		key-home {
38724ba675SRob Herring			label = "home_key";
39724ba675SRob Herring			gpios = <&pma8084_gpios 3 GPIO_ACTIVE_LOW>;
40724ba675SRob Herring			linux,input-type = <1>;
41724ba675SRob Herring			linux,code = <KEY_HOMEPAGE>;
42724ba675SRob Herring			wakeup-source;
43724ba675SRob Herring			debounce-interval = <15>;
44724ba675SRob Herring		};
45724ba675SRob Herring
46724ba675SRob Herring		key-volume-up {
47724ba675SRob Herring			label = "volume_up";
48724ba675SRob Herring			gpios = <&pma8084_gpios 5 GPIO_ACTIVE_LOW>;
49724ba675SRob Herring			linux,input-type = <1>;
50724ba675SRob Herring			linux,code = <KEY_VOLUMEUP>;
51724ba675SRob Herring			debounce-interval = <15>;
52724ba675SRob Herring		};
53724ba675SRob Herring	};
54724ba675SRob Herring
55724ba675SRob Herring	i2c-gpio-touchkey {
56724ba675SRob Herring		compatible = "i2c-gpio";
57724ba675SRob Herring		#address-cells = <1>;
58724ba675SRob Herring		#size-cells = <0>;
59724ba675SRob Herring		sda-gpios = <&tlmm 95 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
60724ba675SRob Herring		scl-gpios = <&tlmm 96 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
61724ba675SRob Herring		pinctrl-names = "default";
62724ba675SRob Herring		pinctrl-0 = <&i2c_touchkey_pins>;
63724ba675SRob Herring
64724ba675SRob Herring		touchkey@20 {
65724ba675SRob Herring			compatible = "cypress,tm2-touchkey";
66724ba675SRob Herring			reg = <0x20>;
67724ba675SRob Herring
68724ba675SRob Herring			interrupt-parent = <&pma8084_gpios>;
69724ba675SRob Herring			interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
70724ba675SRob Herring			pinctrl-names = "default";
71724ba675SRob Herring			pinctrl-0 = <&touchkey_pin>;
72724ba675SRob Herring
73724ba675SRob Herring			vcc-supply = <&max77826_ldo15>;
74724ba675SRob Herring			vdd-supply = <&pma8084_l19>;
75724ba675SRob Herring
76724ba675SRob Herring			linux,keycodes = <KEY_APPSELECT KEY_BACK>;
77724ba675SRob Herring		};
78724ba675SRob Herring	};
79724ba675SRob Herring
80724ba675SRob Herring	i2c-gpio-led {
81724ba675SRob Herring		compatible = "i2c-gpio";
82724ba675SRob Herring		#address-cells = <1>;
83724ba675SRob Herring		#size-cells = <0>;
84724ba675SRob Herring		scl-gpios = <&tlmm 121 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
85724ba675SRob Herring		sda-gpios = <&tlmm 120 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
86724ba675SRob Herring		pinctrl-names = "default";
87724ba675SRob Herring		pinctrl-0 = <&i2c_led_gpioex_pins>;
88724ba675SRob Herring
89724ba675SRob Herring		i2c-gpio,delay-us = <2>;
90724ba675SRob Herring
91724ba675SRob Herring		gpio_expander: gpio@20 {
92724ba675SRob Herring			compatible = "nxp,pcal6416";
93724ba675SRob Herring			reg = <0x20>;
94724ba675SRob Herring
95724ba675SRob Herring			gpio-controller;
96724ba675SRob Herring			#gpio-cells = <2>;
97724ba675SRob Herring
98724ba675SRob Herring			vcc-supply = <&pma8084_s4>;
99724ba675SRob Herring
100724ba675SRob Herring			pinctrl-names = "default";
101724ba675SRob Herring			pinctrl-0 = <&gpioex_pin>;
102724ba675SRob Herring
103724ba675SRob Herring			reset-gpios = <&tlmm 145 GPIO_ACTIVE_LOW>;
104724ba675SRob Herring		};
105724ba675SRob Herring
106724ba675SRob Herring		led-controller@30 {
107724ba675SRob Herring			compatible = "panasonic,an30259a";
108724ba675SRob Herring			reg = <0x30>;
109724ba675SRob Herring
110724ba675SRob Herring			#address-cells = <1>;
111724ba675SRob Herring			#size-cells = <0>;
112724ba675SRob Herring
113724ba675SRob Herring			led@1 {
114724ba675SRob Herring				reg = <1>;
115724ba675SRob Herring				function = LED_FUNCTION_STATUS;
116724ba675SRob Herring				color = <LED_COLOR_ID_RED>;
117724ba675SRob Herring			};
118724ba675SRob Herring
119724ba675SRob Herring			led@2 {
120724ba675SRob Herring				reg = <2>;
121724ba675SRob Herring				function = LED_FUNCTION_STATUS;
122724ba675SRob Herring				color = <LED_COLOR_ID_GREEN>;
123724ba675SRob Herring			};
124724ba675SRob Herring
125724ba675SRob Herring			led@3 {
126724ba675SRob Herring				reg = <3>;
127724ba675SRob Herring				function = LED_FUNCTION_STATUS;
128724ba675SRob Herring				color = <LED_COLOR_ID_BLUE>;
129724ba675SRob Herring			};
130724ba675SRob Herring		};
131724ba675SRob Herring	};
132724ba675SRob Herring
133724ba675SRob Herring	vreg_wlan: wlan-regulator {
134724ba675SRob Herring		compatible = "regulator-fixed";
135724ba675SRob Herring
136724ba675SRob Herring		regulator-name = "wl-reg";
137724ba675SRob Herring		regulator-min-microvolt = <3300000>;
138724ba675SRob Herring		regulator-max-microvolt = <3300000>;
139724ba675SRob Herring
140724ba675SRob Herring		gpio = <&gpio_expander 8 GPIO_ACTIVE_HIGH>;
141724ba675SRob Herring		enable-active-high;
142724ba675SRob Herring	};
143724ba675SRob Herring
144724ba675SRob Herring	vreg_panel: panel-regulator {
145724ba675SRob Herring		compatible = "regulator-fixed";
146724ba675SRob Herring
147724ba675SRob Herring		pinctrl-names = "default";
148724ba675SRob Herring		pinctrl-0 = <&panel_en_pin>;
149724ba675SRob Herring
150724ba675SRob Herring		regulator-name = "panel-vddr-reg";
151724ba675SRob Herring		regulator-min-microvolt = <1500000>;
152724ba675SRob Herring		regulator-max-microvolt = <1500000>;
153724ba675SRob Herring
154724ba675SRob Herring		gpio = <&pma8084_gpios 14 GPIO_ACTIVE_HIGH>;
155724ba675SRob Herring		enable-active-high;
156724ba675SRob Herring	};
157724ba675SRob Herring
158724ba675SRob Herring	/delete-node/ vreg-boost;
159724ba675SRob Herring};
160724ba675SRob Herring
161724ba675SRob Herring&blsp1_i2c2 {
162724ba675SRob Herring	status = "okay";
163724ba675SRob Herring
164724ba675SRob Herring	touchscreen@20 {
165724ba675SRob Herring		compatible = "syna,rmi4-i2c";
166724ba675SRob Herring		reg = <0x20>;
167724ba675SRob Herring
168724ba675SRob Herring		interrupt-parent = <&pma8084_gpios>;
169724ba675SRob Herring		interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
170724ba675SRob Herring
171724ba675SRob Herring		vdd-supply = <&max77826_ldo13>;
172724ba675SRob Herring		vio-supply = <&pma8084_lvs2>;
173724ba675SRob Herring
174724ba675SRob Herring		pinctrl-names = "default";
175724ba675SRob Herring		pinctrl-0 = <&touch_pin>;
176724ba675SRob Herring
177724ba675SRob Herring		syna,startup-delay-ms = <100>;
178724ba675SRob Herring
179724ba675SRob Herring		#address-cells = <1>;
180724ba675SRob Herring		#size-cells = <0>;
181724ba675SRob Herring
182724ba675SRob Herring		rmi4-f01@1 {
183724ba675SRob Herring			reg = <0x1>;
184724ba675SRob Herring			syna,nosleep-mode = <1>;
185724ba675SRob Herring		};
186724ba675SRob Herring
187724ba675SRob Herring		rmi4-f12@12 {
188724ba675SRob Herring			reg = <0x12>;
189724ba675SRob Herring			syna,sensor-type = <1>;
190724ba675SRob Herring		};
191724ba675SRob Herring	};
192724ba675SRob Herring};
193724ba675SRob Herring
194724ba675SRob Herring&blsp1_i2c6 {
195724ba675SRob Herring	status = "okay";
196724ba675SRob Herring
197724ba675SRob Herring	pmic@60 {
198724ba675SRob Herring		reg = <0x60>;
199724ba675SRob Herring		compatible = "maxim,max77826";
200724ba675SRob Herring
201724ba675SRob Herring		regulators {
202724ba675SRob Herring			max77826_ldo1: LDO1 {
203724ba675SRob Herring				regulator-min-microvolt = <1200000>;
204724ba675SRob Herring				regulator-max-microvolt = <1200000>;
205724ba675SRob Herring			};
206724ba675SRob Herring
207724ba675SRob Herring			max77826_ldo2: LDO2 {
208724ba675SRob Herring				regulator-min-microvolt = <1000000>;
209724ba675SRob Herring				regulator-max-microvolt = <1000000>;
210724ba675SRob Herring			};
211724ba675SRob Herring
212724ba675SRob Herring			max77826_ldo3: LDO3 {
213724ba675SRob Herring				regulator-min-microvolt = <1200000>;
214724ba675SRob Herring				regulator-max-microvolt = <1200000>;
215724ba675SRob Herring			};
216724ba675SRob Herring
217724ba675SRob Herring			max77826_ldo4: LDO4 {
218724ba675SRob Herring				regulator-min-microvolt = <1800000>;
219724ba675SRob Herring				regulator-max-microvolt = <1800000>;
220724ba675SRob Herring			};
221724ba675SRob Herring
222724ba675SRob Herring			max77826_ldo5: LDO5 {
223724ba675SRob Herring				regulator-min-microvolt = <1800000>;
224724ba675SRob Herring				regulator-max-microvolt = <1800000>;
225724ba675SRob Herring			};
226724ba675SRob Herring
227724ba675SRob Herring			max77826_ldo6: LDO6 {
228724ba675SRob Herring				regulator-min-microvolt = <1800000>;
229724ba675SRob Herring				regulator-max-microvolt = <3300000>;
230724ba675SRob Herring			};
231724ba675SRob Herring
232724ba675SRob Herring			max77826_ldo7: LDO7 {
233724ba675SRob Herring				regulator-min-microvolt = <1800000>;
234724ba675SRob Herring				regulator-max-microvolt = <1800000>;
235724ba675SRob Herring			};
236724ba675SRob Herring
237724ba675SRob Herring			max77826_ldo8: LDO8 {
238724ba675SRob Herring				regulator-min-microvolt = <1800000>;
239724ba675SRob Herring				regulator-max-microvolt = <3300000>;
240724ba675SRob Herring			};
241724ba675SRob Herring
242724ba675SRob Herring			max77826_ldo9: LDO9 {
243724ba675SRob Herring				regulator-min-microvolt = <1800000>;
244724ba675SRob Herring				regulator-max-microvolt = <1800000>;
245724ba675SRob Herring			};
246724ba675SRob Herring
247724ba675SRob Herring			max77826_ldo10: LDO10 {
248724ba675SRob Herring				regulator-min-microvolt = <2800000>;
249724ba675SRob Herring				regulator-max-microvolt = <2950000>;
250724ba675SRob Herring			};
251724ba675SRob Herring
252724ba675SRob Herring			max77826_ldo11: LDO11 {
253724ba675SRob Herring				regulator-min-microvolt = <2700000>;
254724ba675SRob Herring				regulator-max-microvolt = <2950000>;
255724ba675SRob Herring			};
256724ba675SRob Herring
257724ba675SRob Herring			max77826_ldo12: LDO12 {
258724ba675SRob Herring				regulator-min-microvolt = <2500000>;
259724ba675SRob Herring				regulator-max-microvolt = <3300000>;
260724ba675SRob Herring			};
261724ba675SRob Herring
262724ba675SRob Herring			max77826_ldo13: LDO13 {
263724ba675SRob Herring				regulator-min-microvolt = <3300000>;
264724ba675SRob Herring				regulator-max-microvolt = <3300000>;
265724ba675SRob Herring			};
266724ba675SRob Herring
267724ba675SRob Herring			max77826_ldo14: LDO14 {
268724ba675SRob Herring				regulator-min-microvolt = <3300000>;
269724ba675SRob Herring				regulator-max-microvolt = <3300000>;
270724ba675SRob Herring			};
271724ba675SRob Herring
272724ba675SRob Herring			max77826_ldo15: LDO15 {
273724ba675SRob Herring				regulator-min-microvolt = <1800000>;
274724ba675SRob Herring				regulator-max-microvolt = <1800000>;
275724ba675SRob Herring			};
276724ba675SRob Herring
277724ba675SRob Herring			max77826_buck: BUCK {
278724ba675SRob Herring				regulator-min-microvolt = <1225000>;
279724ba675SRob Herring				regulator-max-microvolt = <1225000>;
280724ba675SRob Herring			};
281724ba675SRob Herring
282724ba675SRob Herring			max77826_buckboost: BUCKBOOST {
283724ba675SRob Herring				regulator-min-microvolt = <3400000>;
284724ba675SRob Herring				regulator-max-microvolt = <3400000>;
285724ba675SRob Herring			};
286724ba675SRob Herring		};
287724ba675SRob Herring	};
288724ba675SRob Herring};
289724ba675SRob Herring
290724ba675SRob Herring&blsp1_uart2 {
291724ba675SRob Herring	status = "okay";
292724ba675SRob Herring};
293724ba675SRob Herring
294724ba675SRob Herring&blsp2_i2c6 {
295724ba675SRob Herring	status = "okay";
296724ba675SRob Herring
297724ba675SRob Herring	fuelgauge@36 {
298724ba675SRob Herring		compatible = "maxim,max17048";
299724ba675SRob Herring		reg = <0x36>;
300724ba675SRob Herring
301724ba675SRob Herring		maxim,double-soc;
302724ba675SRob Herring		maxim,rcomp = /bits/ 8 <0x56>;
303724ba675SRob Herring
304724ba675SRob Herring		interrupt-parent = <&pma8084_gpios>;
305724ba675SRob Herring		interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
306724ba675SRob Herring
307724ba675SRob Herring		pinctrl-names = "default";
308724ba675SRob Herring		pinctrl-0 = <&fuelgauge_pin>;
309724ba675SRob Herring	};
310724ba675SRob Herring};
311724ba675SRob Herring
312724ba675SRob Herring&blsp2_uart2 {
313724ba675SRob Herring	status = "okay";
314724ba675SRob Herring
315724ba675SRob Herring	pinctrl-names = "default", "sleep";
316724ba675SRob Herring	pinctrl-0 = <&blsp2_uart2_pins_active>;
317724ba675SRob Herring	pinctrl-1 = <&blsp2_uart2_pins_sleep>;
318724ba675SRob Herring
319724ba675SRob Herring	bluetooth {
320724ba675SRob Herring		compatible = "brcm,bcm43540-bt";
321724ba675SRob Herring		max-speed = <3000000>;
322724ba675SRob Herring		pinctrl-names = "default";
323724ba675SRob Herring		pinctrl-0 = <&bt_pins>;
324724ba675SRob Herring		device-wakeup-gpios = <&tlmm 91 GPIO_ACTIVE_HIGH>;
325724ba675SRob Herring		shutdown-gpios = <&gpio_expander 9 GPIO_ACTIVE_HIGH>;
326724ba675SRob Herring		interrupt-parent = <&tlmm>;
327724ba675SRob Herring		interrupts = <75 IRQ_TYPE_LEVEL_HIGH>;
328724ba675SRob Herring		interrupt-names = "host-wakeup";
329724ba675SRob Herring	};
330724ba675SRob Herring};
331724ba675SRob Herring
332724ba675SRob Herring&gpu {
333724ba675SRob Herring	status = "okay";
334724ba675SRob Herring};
335724ba675SRob Herring
336724ba675SRob Herring&mdss {
337724ba675SRob Herring	status = "okay";
338724ba675SRob Herring};
339724ba675SRob Herring
340724ba675SRob Herring&mdss_dsi0 {
341724ba675SRob Herring	status = "okay";
342724ba675SRob Herring
343724ba675SRob Herring	vdda-supply = <&pma8084_l2>;
344724ba675SRob Herring	vdd-supply = <&pma8084_l22>;
345724ba675SRob Herring	vddio-supply = <&pma8084_l12>;
346724ba675SRob Herring
347724ba675SRob Herring	panel: panel@0 {
348724ba675SRob Herring		reg = <0>;
349724ba675SRob Herring		compatible = "samsung,s6e3fa2";
350724ba675SRob Herring
351724ba675SRob Herring		pinctrl-names = "default";
352724ba675SRob Herring		pinctrl-0 = <&panel_te_pin &panel_rst_pin>;
353724ba675SRob Herring
354724ba675SRob Herring		iovdd-supply = <&pma8084_lvs4>;
355724ba675SRob Herring		vddr-supply = <&vreg_panel>;
356724ba675SRob Herring
357724ba675SRob Herring		reset-gpios = <&pma8084_gpios 17 GPIO_ACTIVE_LOW>;
358724ba675SRob Herring		te-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>;
359724ba675SRob Herring
360724ba675SRob Herring		port {
361724ba675SRob Herring			panel_in: endpoint {
362724ba675SRob Herring				remote-endpoint = <&mdss_dsi0_out>;
363724ba675SRob Herring			};
364724ba675SRob Herring		};
365724ba675SRob Herring	};
366724ba675SRob Herring};
367724ba675SRob Herring
368724ba675SRob Herring&mdss_dsi0_out {
369724ba675SRob Herring	remote-endpoint = <&panel_in>;
370724ba675SRob Herring	data-lanes = <0 1 2 3>;
371724ba675SRob Herring};
372724ba675SRob Herring
373724ba675SRob Herring&mdss_dsi0_phy {
374724ba675SRob Herring	status = "okay";
375724ba675SRob Herring
376724ba675SRob Herring	vddio-supply = <&pma8084_l12>;
377724ba675SRob Herring};
378724ba675SRob Herring
379724ba675SRob Herring&pma8084_gpios {
380724ba675SRob Herring	gpio_keys_pin_a: gpio-keys-active-state {
381724ba675SRob Herring		pins = "gpio2", "gpio3", "gpio5";
382724ba675SRob Herring		function = "normal";
383724ba675SRob Herring
384724ba675SRob Herring		bias-pull-up;
385724ba675SRob Herring		power-source = <PMA8084_GPIO_S4>;
386724ba675SRob Herring	};
387724ba675SRob Herring
388724ba675SRob Herring	touchkey_pin: touchkey-int-state {
389724ba675SRob Herring		pins = "gpio6";
390724ba675SRob Herring		function = "normal";
391724ba675SRob Herring		bias-disable;
392724ba675SRob Herring		input-enable;
393724ba675SRob Herring		power-source = <PMA8084_GPIO_S4>;
394724ba675SRob Herring	};
395724ba675SRob Herring
396724ba675SRob Herring	touch_pin: touchscreen-int-state {
397724ba675SRob Herring		pins = "gpio8";
398724ba675SRob Herring		function = "normal";
399724ba675SRob Herring		bias-disable;
400724ba675SRob Herring		input-enable;
401724ba675SRob Herring		power-source = <PMA8084_GPIO_S4>;
402724ba675SRob Herring	};
403724ba675SRob Herring
404724ba675SRob Herring	panel_en_pin: panel-en-state {
405724ba675SRob Herring		pins = "gpio14";
406724ba675SRob Herring		function = "normal";
407724ba675SRob Herring		bias-pull-up;
408724ba675SRob Herring		power-source = <PMA8084_GPIO_S4>;
409724ba675SRob Herring		qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
410724ba675SRob Herring	};
411724ba675SRob Herring
412724ba675SRob Herring	wlan_sleep_clk_pin: wlan-sleep-clk-state {
413724ba675SRob Herring		pins = "gpio16";
414724ba675SRob Herring		function = "func2";
415724ba675SRob Herring
416724ba675SRob Herring		output-high;
417724ba675SRob Herring		power-source = <PMA8084_GPIO_S4>;
418724ba675SRob Herring		qcom,drive-strength = <PMIC_GPIO_STRENGTH_HIGH>;
419724ba675SRob Herring	};
420724ba675SRob Herring
421724ba675SRob Herring	panel_rst_pin: panel-rst-state {
422724ba675SRob Herring		pins = "gpio17";
423724ba675SRob Herring		function = "normal";
424724ba675SRob Herring		bias-disable;
425724ba675SRob Herring		power-source = <PMA8084_GPIO_S4>;
426724ba675SRob Herring		qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
427724ba675SRob Herring	};
428724ba675SRob Herring
429724ba675SRob Herring	fuelgauge_pin: fuelgauge-int-state {
430724ba675SRob Herring		pins = "gpio21";
431724ba675SRob Herring		function = "normal";
432724ba675SRob Herring		bias-disable;
433724ba675SRob Herring		input-enable;
434724ba675SRob Herring		power-source = <PMA8084_GPIO_S4>;
435724ba675SRob Herring	};
436724ba675SRob Herring};
437724ba675SRob Herring
438724ba675SRob Herring&remoteproc_adsp {
439724ba675SRob Herring	status = "okay";
440724ba675SRob Herring	cx-supply = <&pma8084_s2>;
441724ba675SRob Herring};
442724ba675SRob Herring
443724ba675SRob Herring&remoteproc_mss {
444724ba675SRob Herring	status = "okay";
445724ba675SRob Herring	cx-supply = <&pma8084_s2>;
446724ba675SRob Herring	mss-supply = <&pma8084_s6>;
447724ba675SRob Herring	mx-supply = <&pma8084_s1>;
448724ba675SRob Herring	pll-supply = <&pma8084_l12>;
449724ba675SRob Herring};
450724ba675SRob Herring
451724ba675SRob Herring&rpm_requests {
452724ba675SRob Herring	regulators-0 {
453724ba675SRob Herring		compatible = "qcom,rpm-pma8084-regulators";
454724ba675SRob Herring
455724ba675SRob Herring		pma8084_s1: s1 {
456724ba675SRob Herring			regulator-min-microvolt = <675000>;
457724ba675SRob Herring			regulator-max-microvolt = <1050000>;
458724ba675SRob Herring			regulator-always-on;
459724ba675SRob Herring		};
460724ba675SRob Herring
461724ba675SRob Herring		pma8084_s2: s2 {
462724ba675SRob Herring			regulator-min-microvolt = <500000>;
463724ba675SRob Herring			regulator-max-microvolt = <1050000>;
464724ba675SRob Herring		};
465724ba675SRob Herring
466724ba675SRob Herring		pma8084_s3: s3 {
467724ba675SRob Herring			regulator-min-microvolt = <1300000>;
468724ba675SRob Herring			regulator-max-microvolt = <1300000>;
469724ba675SRob Herring		};
470724ba675SRob Herring
471724ba675SRob Herring		pma8084_s4: s4 {
472724ba675SRob Herring			regulator-min-microvolt = <1800000>;
473724ba675SRob Herring			regulator-max-microvolt = <1800000>;
474724ba675SRob Herring		};
475724ba675SRob Herring
476724ba675SRob Herring		pma8084_s5: s5 {
477724ba675SRob Herring			regulator-min-microvolt = <2150000>;
478724ba675SRob Herring			regulator-max-microvolt = <2150000>;
479724ba675SRob Herring		};
480724ba675SRob Herring
481724ba675SRob Herring		pma8084_s6: s6 {
482724ba675SRob Herring			regulator-min-microvolt = <1050000>;
483724ba675SRob Herring			regulator-max-microvolt = <1050000>;
484724ba675SRob Herring		};
485724ba675SRob Herring
486724ba675SRob Herring		pma8084_l1: l1 {
487724ba675SRob Herring			regulator-min-microvolt = <1225000>;
488724ba675SRob Herring			regulator-max-microvolt = <1225000>;
489724ba675SRob Herring		};
490724ba675SRob Herring
491724ba675SRob Herring		pma8084_l2: l2 {
492724ba675SRob Herring			regulator-min-microvolt = <1200000>;
493724ba675SRob Herring			regulator-max-microvolt = <1200000>;
494724ba675SRob Herring		};
495724ba675SRob Herring
496724ba675SRob Herring		pma8084_l3: l3 {
497724ba675SRob Herring			regulator-min-microvolt = <1050000>;
498724ba675SRob Herring			regulator-max-microvolt = <1200000>;
499724ba675SRob Herring		};
500724ba675SRob Herring
501724ba675SRob Herring		pma8084_l4: l4 {
502724ba675SRob Herring			regulator-min-microvolt = <1200000>;
503724ba675SRob Herring			regulator-max-microvolt = <1225000>;
504724ba675SRob Herring		};
505724ba675SRob Herring
506724ba675SRob Herring		pma8084_l5: l5 {
507724ba675SRob Herring			regulator-min-microvolt = <1800000>;
508724ba675SRob Herring			regulator-max-microvolt = <1800000>;
509724ba675SRob Herring		};
510724ba675SRob Herring
511724ba675SRob Herring		pma8084_l6: l6 {
512724ba675SRob Herring			regulator-min-microvolt = <1800000>;
513724ba675SRob Herring			regulator-max-microvolt = <1800000>;
514724ba675SRob Herring		};
515724ba675SRob Herring
516724ba675SRob Herring		pma8084_l7: l7 {
517724ba675SRob Herring			regulator-min-microvolt = <1800000>;
518724ba675SRob Herring			regulator-max-microvolt = <1800000>;
519724ba675SRob Herring		};
520724ba675SRob Herring
521724ba675SRob Herring		pma8084_l8: l8 {
522724ba675SRob Herring			regulator-min-microvolt = <1800000>;
523724ba675SRob Herring			regulator-max-microvolt = <1800000>;
524724ba675SRob Herring		};
525724ba675SRob Herring
526724ba675SRob Herring		pma8084_l9: l9 {
527724ba675SRob Herring			regulator-min-microvolt = <1800000>;
528724ba675SRob Herring			regulator-max-microvolt = <2950000>;
529724ba675SRob Herring		};
530724ba675SRob Herring
531724ba675SRob Herring		pma8084_l10: l10 {
532724ba675SRob Herring			regulator-min-microvolt = <1800000>;
533724ba675SRob Herring			regulator-max-microvolt = <2950000>;
534724ba675SRob Herring		};
535724ba675SRob Herring
536724ba675SRob Herring		pma8084_l11: l11 {
537724ba675SRob Herring			regulator-min-microvolt = <1300000>;
538724ba675SRob Herring			regulator-max-microvolt = <1300000>;
539724ba675SRob Herring		};
540724ba675SRob Herring
541724ba675SRob Herring		pma8084_l12: l12 {
542724ba675SRob Herring			regulator-min-microvolt = <1800000>;
543724ba675SRob Herring			regulator-max-microvolt = <1800000>;
544724ba675SRob Herring			regulator-always-on;
545724ba675SRob Herring		};
546724ba675SRob Herring
547724ba675SRob Herring		pma8084_l13: l13 {
548724ba675SRob Herring			regulator-min-microvolt = <1800000>;
549724ba675SRob Herring			regulator-max-microvolt = <2950000>;
550724ba675SRob Herring		};
551724ba675SRob Herring
552724ba675SRob Herring		pma8084_l14: l14 {
553724ba675SRob Herring			regulator-min-microvolt = <1800000>;
554724ba675SRob Herring			regulator-max-microvolt = <1800000>;
555724ba675SRob Herring		};
556724ba675SRob Herring
557724ba675SRob Herring		pma8084_l15: l15 {
558724ba675SRob Herring			regulator-min-microvolt = <2050000>;
559724ba675SRob Herring			regulator-max-microvolt = <2050000>;
560724ba675SRob Herring		};
561724ba675SRob Herring
562724ba675SRob Herring		pma8084_l16: l16 {
563724ba675SRob Herring			regulator-min-microvolt = <2700000>;
564724ba675SRob Herring			regulator-max-microvolt = <2700000>;
565724ba675SRob Herring		};
566724ba675SRob Herring
567724ba675SRob Herring		pma8084_l17: l17 {
568724ba675SRob Herring			regulator-min-microvolt = <2850000>;
569724ba675SRob Herring			regulator-max-microvolt = <2850000>;
570724ba675SRob Herring		};
571724ba675SRob Herring
572724ba675SRob Herring		pma8084_l18: l18 {
573724ba675SRob Herring			regulator-min-microvolt = <2850000>;
574724ba675SRob Herring			regulator-max-microvolt = <2850000>;
575724ba675SRob Herring		};
576724ba675SRob Herring
577724ba675SRob Herring		pma8084_l19: l19 {
578724ba675SRob Herring			regulator-min-microvolt = <3300000>;
579724ba675SRob Herring			regulator-max-microvolt = <3300000>;
580724ba675SRob Herring		};
581724ba675SRob Herring
582724ba675SRob Herring		pma8084_l20: l20 {
583724ba675SRob Herring			regulator-min-microvolt = <2950000>;
584724ba675SRob Herring			regulator-max-microvolt = <2950000>;
585724ba675SRob Herring			regulator-system-load = <200000>;
586724ba675SRob Herring			regulator-allow-set-load;
587724ba675SRob Herring		};
588724ba675SRob Herring
589724ba675SRob Herring		pma8084_l21: l21 {
590724ba675SRob Herring			regulator-min-microvolt = <2950000>;
591724ba675SRob Herring			regulator-max-microvolt = <2950000>;
592724ba675SRob Herring			regulator-system-load = <200000>;
593724ba675SRob Herring			regulator-allow-set-load;
594724ba675SRob Herring		};
595724ba675SRob Herring
596724ba675SRob Herring		pma8084_l22: l22 {
597724ba675SRob Herring			regulator-min-microvolt = <3000000>;
598724ba675SRob Herring			regulator-max-microvolt = <3300000>;
599724ba675SRob Herring		};
600724ba675SRob Herring
601724ba675SRob Herring		pma8084_l23: l23 {
602724ba675SRob Herring			regulator-min-microvolt = <3000000>;
603724ba675SRob Herring			regulator-max-microvolt = <3000000>;
604724ba675SRob Herring		};
605724ba675SRob Herring
606724ba675SRob Herring		pma8084_l24: l24 {
607724ba675SRob Herring			regulator-min-microvolt = <3075000>;
608724ba675SRob Herring			regulator-max-microvolt = <3075000>;
609724ba675SRob Herring		};
610724ba675SRob Herring
611724ba675SRob Herring		pma8084_l25: l25 {
612724ba675SRob Herring			regulator-min-microvolt = <2100000>;
613724ba675SRob Herring			regulator-max-microvolt = <2100000>;
614724ba675SRob Herring		};
615724ba675SRob Herring
616724ba675SRob Herring		pma8084_l26: l26 {
617724ba675SRob Herring			regulator-min-microvolt = <1800000>;
618724ba675SRob Herring			regulator-max-microvolt = <2050000>;
619724ba675SRob Herring		};
620724ba675SRob Herring
621724ba675SRob Herring		pma8084_l27: l27 {
622724ba675SRob Herring			regulator-min-microvolt = <1000000>;
623724ba675SRob Herring			regulator-max-microvolt = <1225000>;
624724ba675SRob Herring		};
625724ba675SRob Herring
626724ba675SRob Herring		pma8084_lvs1: lvs1 {};
627724ba675SRob Herring		pma8084_lvs2: lvs2 {};
628724ba675SRob Herring		pma8084_lvs3: lvs3 {};
629724ba675SRob Herring		pma8084_lvs4: lvs4 {};
630724ba675SRob Herring
631724ba675SRob Herring		pma8084_5vs1: 5vs1 {};
632724ba675SRob Herring	};
633724ba675SRob Herring};
634724ba675SRob Herring
635724ba675SRob Herring&sdhc_1 {
636724ba675SRob Herring	status = "okay";
637724ba675SRob Herring
638724ba675SRob Herring	vmmc-supply = <&pma8084_l20>;
639724ba675SRob Herring	vqmmc-supply = <&pma8084_s4>;
640724ba675SRob Herring
641724ba675SRob Herring	pinctrl-names = "default", "sleep";
642724ba675SRob Herring	pinctrl-0 = <&sdc1_on>;
643724ba675SRob Herring	pinctrl-1 = <&sdc1_off>;
644724ba675SRob Herring};
645724ba675SRob Herring
646724ba675SRob Herring&sdhc_2 {
647724ba675SRob Herring	status = "okay";
648724ba675SRob Herring	max-frequency = <100000000>;
649724ba675SRob Herring	vmmc-supply = <&vreg_wlan>;
650724ba675SRob Herring	vqmmc-supply = <&pma8084_s4>;
651724ba675SRob Herring	non-removable;
652724ba675SRob Herring
653724ba675SRob Herring	pinctrl-names = "default", "sleep";
654724ba675SRob Herring	pinctrl-0 = <&sdc2_on>;
655724ba675SRob Herring	pinctrl-1 = <&sdc2_off>;
656724ba675SRob Herring
657724ba675SRob Herring	wifi@1 {
658724ba675SRob Herring		reg = <1>;
659724ba675SRob Herring		compatible = "brcm,bcm4329-fmac";
660724ba675SRob Herring
661724ba675SRob Herring		interrupt-parent = <&tlmm>;
662724ba675SRob Herring		interrupts = <92 IRQ_TYPE_LEVEL_HIGH>;
663724ba675SRob Herring		interrupt-names = "host-wake";
664724ba675SRob Herring
665724ba675SRob Herring		pinctrl-names = "default";
666724ba675SRob Herring		pinctrl-0 = <&wlan_sleep_clk_pin &wifi_pin>;
667724ba675SRob Herring	};
668724ba675SRob Herring};
669724ba675SRob Herring
670724ba675SRob Herring&sdhc_3 {
671724ba675SRob Herring	status = "okay";
672724ba675SRob Herring	max-frequency = <100000000>;
673724ba675SRob Herring	vmmc-supply = <&pma8084_l21>;
674724ba675SRob Herring	vqmmc-supply = <&pma8084_l13>;
675724ba675SRob Herring
676724ba675SRob Herring	/*
677724ba675SRob Herring	 * cd-gpio is intentionally disabled. If enabled, an SD card
678724ba675SRob Herring	 * present during boot is not initialized correctly. Without
679724ba675SRob Herring	 * cd-gpios the driver resorts to polling, so hotplug works.
680724ba675SRob Herring	 */
681724ba675SRob Herring	pinctrl-names = "default";
682724ba675SRob Herring	pinctrl-0 = <&sdc3_on /* &sdhc3_cd_pin */>;
683724ba675SRob Herring	/* cd-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>; */
684724ba675SRob Herring};
685724ba675SRob Herring
686724ba675SRob Herring&tlmm {
687724ba675SRob Herring	/* This seems suspicious, but somebody with this device should look into it. */
688724ba675SRob Herring	blsp2_uart2_pins_active: blsp2-uart2-pins-active-state {
689724ba675SRob Herring		pins = "gpio45", "gpio46", "gpio47", "gpio48";
690724ba675SRob Herring		function = "blsp_uart8";
691724ba675SRob Herring		drive-strength = <8>;
692724ba675SRob Herring		bias-disable;
693724ba675SRob Herring	};
694724ba675SRob Herring
695724ba675SRob Herring	blsp2_uart2_pins_sleep: blsp2-uart2-pins-sleep-state {
696724ba675SRob Herring		pins = "gpio45", "gpio46", "gpio47", "gpio48";
697724ba675SRob Herring		function = "gpio";
698724ba675SRob Herring		drive-strength = <2>;
699724ba675SRob Herring		bias-pull-down;
700724ba675SRob Herring	};
701724ba675SRob Herring
702724ba675SRob Herring	bt_pins: bt-pins-state {
703724ba675SRob Herring		hostwake-pins {
704724ba675SRob Herring			pins = "gpio75";
705724ba675SRob Herring			function = "gpio";
706724ba675SRob Herring			drive-strength = <16>;
707724ba675SRob Herring		};
708724ba675SRob Herring
709724ba675SRob Herring		devwake-pins {
710724ba675SRob Herring			pins = "gpio91";
711724ba675SRob Herring			function = "gpio";
712724ba675SRob Herring			drive-strength = <2>;
713724ba675SRob Herring		};
714724ba675SRob Herring	};
715724ba675SRob Herring
716724ba675SRob Herring	sdc1_on: sdhc1-on-state {
717724ba675SRob Herring		clk-pins {
718724ba675SRob Herring			pins = "sdc1_clk";
719724ba675SRob Herring			drive-strength = <4>;
720724ba675SRob Herring			bias-disable;
721724ba675SRob Herring		};
722724ba675SRob Herring
723724ba675SRob Herring		cmd-data-pins {
724724ba675SRob Herring			pins = "sdc1_cmd", "sdc1_data";
725724ba675SRob Herring			drive-strength = <4>;
726724ba675SRob Herring			bias-pull-up;
727724ba675SRob Herring		};
728724ba675SRob Herring	};
729724ba675SRob Herring
730724ba675SRob Herring	sdc3_on: sdc3-on-state {
731724ba675SRob Herring		pins = "gpio35", "gpio36", "gpio37", "gpio38", "gpio39", "gpio40";
732724ba675SRob Herring		function = "sdc3";
733724ba675SRob Herring		drive-strength = <8>;
734724ba675SRob Herring		bias-disable;
735724ba675SRob Herring	};
736724ba675SRob Herring
737724ba675SRob Herring	sdhc3_cd_pin: sdc3-cd-on-state {
738724ba675SRob Herring		pins = "gpio62";
739724ba675SRob Herring		function = "gpio";
740724ba675SRob Herring
741724ba675SRob Herring		drive-strength = <2>;
742724ba675SRob Herring		bias-disable;
743724ba675SRob Herring	};
744724ba675SRob Herring
745724ba675SRob Herring	sdc2_on: sdhc2-on-state {
746724ba675SRob Herring		clk-pins {
747724ba675SRob Herring			pins = "sdc2_clk";
748724ba675SRob Herring			drive-strength = <6>;
749724ba675SRob Herring			bias-disable;
750724ba675SRob Herring		};
751724ba675SRob Herring
752724ba675SRob Herring		cmd-data-pins {
753724ba675SRob Herring			pins = "sdc2_cmd", "sdc2_data";
754724ba675SRob Herring			drive-strength = <6>;
755724ba675SRob Herring			bias-pull-up;
756724ba675SRob Herring		};
757724ba675SRob Herring	};
758724ba675SRob Herring
759724ba675SRob Herring	i2c_touchkey_pins: i2c-touchkey-state {
760724ba675SRob Herring		pins = "gpio95", "gpio96";
761724ba675SRob Herring		function = "gpio";
762724ba675SRob Herring		bias-pull-up;
763724ba675SRob Herring	};
764724ba675SRob Herring
765724ba675SRob Herring	i2c_led_gpioex_pins: i2c-led-gpioex-state {
766724ba675SRob Herring		pins = "gpio120", "gpio121";
767724ba675SRob Herring		function = "gpio";
768724ba675SRob Herring		bias-pull-down;
769724ba675SRob Herring	};
770724ba675SRob Herring
771724ba675SRob Herring	gpioex_pin: gpioex-state {
772724ba675SRob Herring		pins = "gpio145";
773724ba675SRob Herring		function = "gpio";
774724ba675SRob Herring		bias-pull-up;
775724ba675SRob Herring		drive-strength = <2>;
776724ba675SRob Herring	};
777724ba675SRob Herring
778724ba675SRob Herring	wifi_pin: wifi-state {
779724ba675SRob Herring		pins = "gpio92";
780724ba675SRob Herring		function = "gpio";
781724ba675SRob Herring		bias-pull-down;
782724ba675SRob Herring	};
783724ba675SRob Herring
784724ba675SRob Herring	panel_te_pin: panel-state {
785724ba675SRob Herring		pins = "gpio12";
786724ba675SRob Herring		function = "mdp_vsync";
787724ba675SRob Herring		drive-strength = <2>;
788724ba675SRob Herring		bias-disable;
789724ba675SRob Herring	};
790724ba675SRob Herring};
791724ba675SRob Herring
792724ba675SRob Herring&usb {
793724ba675SRob Herring	status = "okay";
794724ba675SRob Herring
795724ba675SRob Herring	phys = <&usb_hs1_phy>;
796724ba675SRob Herring	phy-select = <&tcsr 0xb000 0>;
797724ba675SRob Herring
798724ba675SRob Herring	hnp-disable;
799724ba675SRob Herring	srp-disable;
800724ba675SRob Herring	adp-disable;
801724ba675SRob Herring};
802724ba675SRob Herring
803724ba675SRob Herring&usb_hs1_phy {
804724ba675SRob Herring	status = "okay";
805724ba675SRob Herring
806724ba675SRob Herring	v1p8-supply = <&pma8084_l6>;
807724ba675SRob Herring	v3p3-supply = <&pma8084_l24>;
808724ba675SRob Herring
809724ba675SRob Herring	qcom,init-seq = /bits/ 8 <0x1 0x64>;
810724ba675SRob Herring};
811