xref: /freebsd/sys/contrib/device-tree/src/arm/qcom/qcom-msm8974-lge-nexus5-hammerhead.dts (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2f126890aSEmmanuel Vadot#include "qcom-msm8974.dtsi"
38d13bc63SEmmanuel Vadot#include "pm8841.dtsi"
48d13bc63SEmmanuel Vadot#include "pm8941.dtsi"
5f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h>
6f126890aSEmmanuel Vadot#include <dt-bindings/leds/common.h>
7f126890aSEmmanuel Vadot#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
8f126890aSEmmanuel Vadot
9f126890aSEmmanuel Vadot/ {
10f126890aSEmmanuel Vadot	model = "LGE MSM 8974 HAMMERHEAD";
11f126890aSEmmanuel Vadot	compatible = "lge,hammerhead", "qcom,msm8974";
12f126890aSEmmanuel Vadot	chassis-type = "handset";
13f126890aSEmmanuel Vadot
14f126890aSEmmanuel Vadot	aliases {
15f126890aSEmmanuel Vadot		serial0 = &blsp1_uart1;
16f126890aSEmmanuel Vadot		serial1 = &blsp2_uart4;
17f126890aSEmmanuel Vadot	};
18f126890aSEmmanuel Vadot
19f126890aSEmmanuel Vadot	chosen {
20f126890aSEmmanuel Vadot		stdout-path = "serial0:115200n8";
21f126890aSEmmanuel Vadot	};
22f126890aSEmmanuel Vadot
23f126890aSEmmanuel Vadot	gpio-keys {
24f126890aSEmmanuel Vadot		compatible = "gpio-keys";
25f126890aSEmmanuel Vadot
26f126890aSEmmanuel Vadot		pinctrl-names = "default";
27f126890aSEmmanuel Vadot		pinctrl-0 = <&gpio_keys_pin_a>;
28f126890aSEmmanuel Vadot
29f126890aSEmmanuel Vadot		key-volume-up {
30f126890aSEmmanuel Vadot			label = "volume_up";
31f126890aSEmmanuel Vadot			gpios = <&pm8941_gpios 2 GPIO_ACTIVE_LOW>;
32f126890aSEmmanuel Vadot			linux,input-type = <1>;
33f126890aSEmmanuel Vadot			linux,code = <KEY_VOLUMEUP>;
34f126890aSEmmanuel Vadot		};
35f126890aSEmmanuel Vadot
36f126890aSEmmanuel Vadot		key-volume-down {
37f126890aSEmmanuel Vadot			label = "volume_down";
38f126890aSEmmanuel Vadot			gpios = <&pm8941_gpios 3 GPIO_ACTIVE_LOW>;
39f126890aSEmmanuel Vadot			linux,input-type = <1>;
40f126890aSEmmanuel Vadot			linux,code = <KEY_VOLUMEDOWN>;
41f126890aSEmmanuel Vadot		};
42f126890aSEmmanuel Vadot	};
43f126890aSEmmanuel Vadot
44f126890aSEmmanuel Vadot	clk_pwm: pwm {
45f126890aSEmmanuel Vadot		compatible = "clk-pwm";
46f126890aSEmmanuel Vadot		clocks = <&mmcc CAMSS_GP1_CLK>;
47f126890aSEmmanuel Vadot
48f126890aSEmmanuel Vadot		pinctrl-0 = <&vibrator_pin>;
49f126890aSEmmanuel Vadot		pinctrl-names = "default";
50f126890aSEmmanuel Vadot
51f126890aSEmmanuel Vadot		#pwm-cells = <2>;
52f126890aSEmmanuel Vadot	};
53f126890aSEmmanuel Vadot
54f126890aSEmmanuel Vadot	vibrator {
55f126890aSEmmanuel Vadot		compatible = "pwm-vibrator";
56f126890aSEmmanuel Vadot		pwms = <&clk_pwm 0 100000>;
57f126890aSEmmanuel Vadot		pwm-names = "enable";
58f126890aSEmmanuel Vadot
59f126890aSEmmanuel Vadot		vcc-supply = <&pm8941_l19>;
60f126890aSEmmanuel Vadot		enable-gpios = <&tlmm 60 GPIO_ACTIVE_HIGH>;
61f126890aSEmmanuel Vadot	};
62f126890aSEmmanuel Vadot
638d13bc63SEmmanuel Vadot	vreg_boost: vreg-boost {
648d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
658d13bc63SEmmanuel Vadot
668d13bc63SEmmanuel Vadot		regulator-name = "vreg-boost";
678d13bc63SEmmanuel Vadot		regulator-min-microvolt = <3150000>;
688d13bc63SEmmanuel Vadot		regulator-max-microvolt = <3150000>;
698d13bc63SEmmanuel Vadot
708d13bc63SEmmanuel Vadot		regulator-always-on;
718d13bc63SEmmanuel Vadot		regulator-boot-on;
728d13bc63SEmmanuel Vadot
738d13bc63SEmmanuel Vadot		gpio = <&pm8941_gpios 21 GPIO_ACTIVE_HIGH>;
748d13bc63SEmmanuel Vadot		enable-active-high;
758d13bc63SEmmanuel Vadot
768d13bc63SEmmanuel Vadot		pinctrl-names = "default";
778d13bc63SEmmanuel Vadot		pinctrl-0 = <&boost_bypass_n_pin>;
788d13bc63SEmmanuel Vadot	};
798d13bc63SEmmanuel Vadot
808d13bc63SEmmanuel Vadot	vreg_vph_pwr: vreg-vph-pwr {
818d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
828d13bc63SEmmanuel Vadot		regulator-name = "vph-pwr";
838d13bc63SEmmanuel Vadot
848d13bc63SEmmanuel Vadot		regulator-min-microvolt = <3600000>;
858d13bc63SEmmanuel Vadot		regulator-max-microvolt = <3600000>;
868d13bc63SEmmanuel Vadot
878d13bc63SEmmanuel Vadot		regulator-always-on;
888d13bc63SEmmanuel Vadot	};
898d13bc63SEmmanuel Vadot
90f126890aSEmmanuel Vadot	vreg_wlan: wlan-regulator {
91f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
92f126890aSEmmanuel Vadot
93f126890aSEmmanuel Vadot		regulator-name = "wl-reg";
94f126890aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
95f126890aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
96f126890aSEmmanuel Vadot
97f126890aSEmmanuel Vadot		gpio = <&tlmm 26 GPIO_ACTIVE_HIGH>;
98f126890aSEmmanuel Vadot		enable-active-high;
99f126890aSEmmanuel Vadot
100f126890aSEmmanuel Vadot		pinctrl-names = "default";
101f126890aSEmmanuel Vadot		pinctrl-0 = <&wlan_regulator_pin>;
102f126890aSEmmanuel Vadot	};
103f126890aSEmmanuel Vadot};
104f126890aSEmmanuel Vadot
105f126890aSEmmanuel Vadot&blsp1_i2c1 {
106f126890aSEmmanuel Vadot	status = "okay";
107f126890aSEmmanuel Vadot	clock-frequency = <100000>;
108f126890aSEmmanuel Vadot
109f126890aSEmmanuel Vadot	charger: bq24192@6b {
110f126890aSEmmanuel Vadot		compatible = "ti,bq24192";
111f126890aSEmmanuel Vadot		reg = <0x6b>;
112f126890aSEmmanuel Vadot		interrupts-extended = <&spmi_bus 0 0xd5 0 IRQ_TYPE_EDGE_FALLING>;
113f126890aSEmmanuel Vadot
114f126890aSEmmanuel Vadot		omit-battery-class;
115f126890aSEmmanuel Vadot
116f126890aSEmmanuel Vadot		usb_otg_vbus: usb-otg-vbus { };
117f126890aSEmmanuel Vadot	};
118f126890aSEmmanuel Vadot
119f126890aSEmmanuel Vadot	fuelgauge: max17048@36 {
120f126890aSEmmanuel Vadot		compatible = "maxim,max17048";
121f126890aSEmmanuel Vadot		reg = <0x36>;
122f126890aSEmmanuel Vadot
123f126890aSEmmanuel Vadot		maxim,double-soc;
124f126890aSEmmanuel Vadot		maxim,rcomp = /bits/ 8 <0x4d>;
125f126890aSEmmanuel Vadot
126f126890aSEmmanuel Vadot		interrupt-parent = <&tlmm>;
127f126890aSEmmanuel Vadot		interrupts = <9 IRQ_TYPE_LEVEL_LOW>;
128f126890aSEmmanuel Vadot
129f126890aSEmmanuel Vadot		pinctrl-names = "default";
130f126890aSEmmanuel Vadot		pinctrl-0 = <&fuelgauge_pin>;
131f126890aSEmmanuel Vadot
132f126890aSEmmanuel Vadot		maxim,alert-low-soc-level = <2>;
133f126890aSEmmanuel Vadot	};
134f126890aSEmmanuel Vadot};
135f126890aSEmmanuel Vadot
136f126890aSEmmanuel Vadot&blsp1_i2c2 {
137f126890aSEmmanuel Vadot	status = "okay";
138f126890aSEmmanuel Vadot	clock-frequency = <355000>;
139f126890aSEmmanuel Vadot
140f126890aSEmmanuel Vadot	synaptics@70 {
141f126890aSEmmanuel Vadot		compatible = "syna,rmi4-i2c";
142f126890aSEmmanuel Vadot		reg = <0x70>;
143f126890aSEmmanuel Vadot
144f126890aSEmmanuel Vadot		interrupts-extended = <&tlmm 5 IRQ_TYPE_EDGE_FALLING>;
145f126890aSEmmanuel Vadot		vdd-supply = <&pm8941_l22>;
146f126890aSEmmanuel Vadot		vio-supply = <&pm8941_lvs3>;
147f126890aSEmmanuel Vadot
148f126890aSEmmanuel Vadot		pinctrl-names = "default";
149f126890aSEmmanuel Vadot		pinctrl-0 = <&touch_pin>;
150f126890aSEmmanuel Vadot
151f126890aSEmmanuel Vadot		#address-cells = <1>;
152f126890aSEmmanuel Vadot		#size-cells = <0>;
153f126890aSEmmanuel Vadot
154f126890aSEmmanuel Vadot		rmi4-f01@1 {
155f126890aSEmmanuel Vadot			reg = <0x1>;
156f126890aSEmmanuel Vadot			syna,nosleep-mode = <1>;
157f126890aSEmmanuel Vadot		};
158f126890aSEmmanuel Vadot
159f126890aSEmmanuel Vadot		rmi4-f12@12 {
160f126890aSEmmanuel Vadot			reg = <0x12>;
161f126890aSEmmanuel Vadot			syna,sensor-type = <1>;
162f126890aSEmmanuel Vadot		};
163f126890aSEmmanuel Vadot	};
164f126890aSEmmanuel Vadot};
165f126890aSEmmanuel Vadot
166f126890aSEmmanuel Vadot&blsp1_i2c3 {
167f126890aSEmmanuel Vadot	status = "okay";
168f126890aSEmmanuel Vadot	clock-frequency = <100000>;
169f126890aSEmmanuel Vadot
170f126890aSEmmanuel Vadot	avago_apds993@39 {
171f126890aSEmmanuel Vadot		compatible = "avago,apds9930";
172f126890aSEmmanuel Vadot		reg = <0x39>;
173f126890aSEmmanuel Vadot		interrupts-extended = <&tlmm 61 IRQ_TYPE_EDGE_FALLING>;
174f126890aSEmmanuel Vadot		vdd-supply = <&pm8941_l17>;
175f126890aSEmmanuel Vadot		vddio-supply = <&pm8941_lvs1>;
176f126890aSEmmanuel Vadot		led-max-microamp = <100000>;
177f126890aSEmmanuel Vadot		amstaos,proximity-diodes = <0>;
178f126890aSEmmanuel Vadot	};
179f126890aSEmmanuel Vadot};
180f126890aSEmmanuel Vadot
181f126890aSEmmanuel Vadot&blsp2_i2c5 {
182f126890aSEmmanuel Vadot	status = "okay";
183f126890aSEmmanuel Vadot	clock-frequency = <355000>;
184f126890aSEmmanuel Vadot
185*0e8011faSEmmanuel Vadot	backlight: led-controller@38 {
186f126890aSEmmanuel Vadot		compatible = "ti,lm3630a";
187f126890aSEmmanuel Vadot		status = "okay";
188f126890aSEmmanuel Vadot		reg = <0x38>;
189f126890aSEmmanuel Vadot
190f126890aSEmmanuel Vadot		#address-cells = <1>;
191f126890aSEmmanuel Vadot		#size-cells = <0>;
192f126890aSEmmanuel Vadot
193f126890aSEmmanuel Vadot		led@0 {
194f126890aSEmmanuel Vadot			reg = <0>;
195f126890aSEmmanuel Vadot			led-sources = <0 1>;
196f126890aSEmmanuel Vadot			label = "lcd-backlight";
197f126890aSEmmanuel Vadot			default-brightness = <200>;
198f126890aSEmmanuel Vadot		};
199f126890aSEmmanuel Vadot	};
200f126890aSEmmanuel Vadot};
201f126890aSEmmanuel Vadot
202f126890aSEmmanuel Vadot&blsp2_i2c6 {
203f126890aSEmmanuel Vadot	status = "okay";
204f126890aSEmmanuel Vadot	clock-frequency = <100000>;
205f126890aSEmmanuel Vadot
206f126890aSEmmanuel Vadot	mpu6515@68 {
207f126890aSEmmanuel Vadot		compatible = "invensense,mpu6515";
208f126890aSEmmanuel Vadot		reg = <0x68>;
209f126890aSEmmanuel Vadot		interrupts-extended = <&tlmm 73 IRQ_TYPE_EDGE_FALLING>;
210f126890aSEmmanuel Vadot		vddio-supply = <&pm8941_lvs1>;
211f126890aSEmmanuel Vadot
212f126890aSEmmanuel Vadot		pinctrl-names = "default";
213f126890aSEmmanuel Vadot		pinctrl-0 = <&mpu6515_pin>;
214f126890aSEmmanuel Vadot
215f126890aSEmmanuel Vadot		mount-matrix = "0", "-1", "0",
216f126890aSEmmanuel Vadot				"-1", "0", "0",
217f126890aSEmmanuel Vadot				"0", "0", "1";
218f126890aSEmmanuel Vadot
219f126890aSEmmanuel Vadot		i2c-gate {
220f126890aSEmmanuel Vadot			#address-cells = <1>;
221f126890aSEmmanuel Vadot			#size-cells = <0>;
222f126890aSEmmanuel Vadot			ak8963@f {
223f126890aSEmmanuel Vadot				compatible = "asahi-kasei,ak8963";
224f126890aSEmmanuel Vadot				reg = <0x0f>;
225f126890aSEmmanuel Vadot				gpios = <&tlmm 67 GPIO_ACTIVE_HIGH>;
226f126890aSEmmanuel Vadot				vid-supply = <&pm8941_lvs1>;
227f126890aSEmmanuel Vadot				vdd-supply = <&pm8941_l17>;
228f126890aSEmmanuel Vadot			};
229f126890aSEmmanuel Vadot
230f126890aSEmmanuel Vadot			bmp280@76 {
231f126890aSEmmanuel Vadot				compatible = "bosch,bmp280";
232f126890aSEmmanuel Vadot				reg = <0x76>;
233f126890aSEmmanuel Vadot				vdda-supply = <&pm8941_lvs1>;
234f126890aSEmmanuel Vadot				vddd-supply = <&pm8941_l17>;
235f126890aSEmmanuel Vadot			};
236f126890aSEmmanuel Vadot		};
237f126890aSEmmanuel Vadot	};
238f126890aSEmmanuel Vadot};
239f126890aSEmmanuel Vadot
240f126890aSEmmanuel Vadot&blsp1_uart1 {
241f126890aSEmmanuel Vadot	status = "okay";
242f126890aSEmmanuel Vadot};
243f126890aSEmmanuel Vadot
244f126890aSEmmanuel Vadot&blsp2_uart4 {
245f126890aSEmmanuel Vadot	status = "okay";
246f126890aSEmmanuel Vadot
247f126890aSEmmanuel Vadot	bluetooth {
248f126890aSEmmanuel Vadot		compatible = "brcm,bcm43438-bt";
249f126890aSEmmanuel Vadot		max-speed = <3000000>;
250f126890aSEmmanuel Vadot
251f126890aSEmmanuel Vadot		pinctrl-names = "default";
252f126890aSEmmanuel Vadot		pinctrl-0 = <&bt_pin>;
253f126890aSEmmanuel Vadot
254f126890aSEmmanuel Vadot		host-wakeup-gpios = <&tlmm 42 GPIO_ACTIVE_HIGH>;
255f126890aSEmmanuel Vadot		device-wakeup-gpios = <&tlmm 62 GPIO_ACTIVE_HIGH>;
256f126890aSEmmanuel Vadot		shutdown-gpios = <&tlmm 41 GPIO_ACTIVE_HIGH>;
257f126890aSEmmanuel Vadot	};
258f126890aSEmmanuel Vadot};
259f126890aSEmmanuel Vadot
260f126890aSEmmanuel Vadot&mdss {
261f126890aSEmmanuel Vadot	status = "okay";
262f126890aSEmmanuel Vadot};
263f126890aSEmmanuel Vadot
264f126890aSEmmanuel Vadot&mdss_dsi0 {
265f126890aSEmmanuel Vadot	status = "okay";
266f126890aSEmmanuel Vadot
267f126890aSEmmanuel Vadot	vdda-supply = <&pm8941_l2>;
268f126890aSEmmanuel Vadot	vdd-supply = <&pm8941_lvs3>;
269f126890aSEmmanuel Vadot	vddio-supply = <&pm8941_l12>;
270f126890aSEmmanuel Vadot
271f126890aSEmmanuel Vadot	panel: panel@0 {
272f126890aSEmmanuel Vadot		reg = <0>;
273f126890aSEmmanuel Vadot		compatible = "lg,acx467akm-7";
274f126890aSEmmanuel Vadot
275*0e8011faSEmmanuel Vadot		backlight = <&backlight>;
276*0e8011faSEmmanuel Vadot
277f126890aSEmmanuel Vadot		pinctrl-names = "default";
278f126890aSEmmanuel Vadot		pinctrl-0 = <&panel_pin>;
279f126890aSEmmanuel Vadot
280f126890aSEmmanuel Vadot		port {
281f126890aSEmmanuel Vadot			panel_in: endpoint {
282f126890aSEmmanuel Vadot				remote-endpoint = <&mdss_dsi0_out>;
283f126890aSEmmanuel Vadot			};
284f126890aSEmmanuel Vadot		};
285f126890aSEmmanuel Vadot	};
286f126890aSEmmanuel Vadot};
287f126890aSEmmanuel Vadot
288f126890aSEmmanuel Vadot&mdss_dsi0_out {
289f126890aSEmmanuel Vadot	remote-endpoint = <&panel_in>;
290f126890aSEmmanuel Vadot	data-lanes = <0 1 2 3>;
291f126890aSEmmanuel Vadot};
292f126890aSEmmanuel Vadot
293f126890aSEmmanuel Vadot&mdss_dsi0_phy {
294f126890aSEmmanuel Vadot	status = "okay";
295f126890aSEmmanuel Vadot
296f126890aSEmmanuel Vadot	vddio-supply = <&pm8941_l12>;
297f126890aSEmmanuel Vadot};
298f126890aSEmmanuel Vadot
299f126890aSEmmanuel Vadot&pm8941_gpios {
300f126890aSEmmanuel Vadot	gpio_keys_pin_a: gpio-keys-active-state {
301f126890aSEmmanuel Vadot		pins = "gpio2", "gpio3";
302f126890aSEmmanuel Vadot		function = "normal";
303f126890aSEmmanuel Vadot
304f126890aSEmmanuel Vadot		bias-pull-up;
305f126890aSEmmanuel Vadot		power-source = <PM8941_GPIO_S3>;
306f126890aSEmmanuel Vadot	};
307f126890aSEmmanuel Vadot
308f126890aSEmmanuel Vadot	fuelgauge_pin: fuelgauge-int-state {
309f126890aSEmmanuel Vadot		pins = "gpio9";
310f126890aSEmmanuel Vadot		function = "normal";
311f126890aSEmmanuel Vadot
312f126890aSEmmanuel Vadot		bias-disable;
313f126890aSEmmanuel Vadot		input-enable;
314f126890aSEmmanuel Vadot		power-source = <PM8941_GPIO_S3>;
315f126890aSEmmanuel Vadot	};
316f126890aSEmmanuel Vadot
317f126890aSEmmanuel Vadot	wlan_sleep_clk_pin: wl-sleep-clk-state {
318f126890aSEmmanuel Vadot		pins = "gpio16";
319f126890aSEmmanuel Vadot		function = "func2";
320f126890aSEmmanuel Vadot
321f126890aSEmmanuel Vadot		output-high;
322f126890aSEmmanuel Vadot		power-source = <PM8941_GPIO_S3>;
323f126890aSEmmanuel Vadot	};
324f126890aSEmmanuel Vadot
325f126890aSEmmanuel Vadot	wlan_regulator_pin: wl-reg-active-state {
326f126890aSEmmanuel Vadot		pins = "gpio17";
327f126890aSEmmanuel Vadot		function = "normal";
328f126890aSEmmanuel Vadot
329f126890aSEmmanuel Vadot		bias-disable;
330f126890aSEmmanuel Vadot		power-source = <PM8941_GPIO_S3>;
331f126890aSEmmanuel Vadot	};
332f126890aSEmmanuel Vadot
333*0e8011faSEmmanuel Vadot	otg-hog {
334f126890aSEmmanuel Vadot		gpio-hog;
335f126890aSEmmanuel Vadot		gpios = <35 GPIO_ACTIVE_HIGH>;
336f126890aSEmmanuel Vadot		output-high;
337f126890aSEmmanuel Vadot		line-name = "otg-gpio";
338f126890aSEmmanuel Vadot	};
339f126890aSEmmanuel Vadot};
340f126890aSEmmanuel Vadot
341f126890aSEmmanuel Vadot&pm8941_lpg {
342f126890aSEmmanuel Vadot	status = "okay";
343f126890aSEmmanuel Vadot
344f126890aSEmmanuel Vadot	qcom,power-source = <1>;
345f126890aSEmmanuel Vadot
346f126890aSEmmanuel Vadot	multi-led {
347f126890aSEmmanuel Vadot		color = <LED_COLOR_ID_RGB>;
348f126890aSEmmanuel Vadot		function = LED_FUNCTION_STATUS;
349f126890aSEmmanuel Vadot
350f126890aSEmmanuel Vadot		#address-cells = <1>;
351f126890aSEmmanuel Vadot		#size-cells = <0>;
352f126890aSEmmanuel Vadot
353f126890aSEmmanuel Vadot		led@7 {
354f126890aSEmmanuel Vadot			reg = <7>;
355f126890aSEmmanuel Vadot			color = <LED_COLOR_ID_RED>;
356f126890aSEmmanuel Vadot		};
357f126890aSEmmanuel Vadot
358f126890aSEmmanuel Vadot		led@6 {
359f126890aSEmmanuel Vadot			reg = <6>;
360f126890aSEmmanuel Vadot			color = <LED_COLOR_ID_GREEN>;
361f126890aSEmmanuel Vadot		};
362f126890aSEmmanuel Vadot
363f126890aSEmmanuel Vadot		led@5 {
364f126890aSEmmanuel Vadot			reg = <5>;
365f126890aSEmmanuel Vadot			color = <LED_COLOR_ID_BLUE>;
366f126890aSEmmanuel Vadot		};
367f126890aSEmmanuel Vadot	};
368f126890aSEmmanuel Vadot};
369f126890aSEmmanuel Vadot
370f126890aSEmmanuel Vadot&remoteproc_adsp {
371f126890aSEmmanuel Vadot	cx-supply = <&pm8841_s2>;
3728d13bc63SEmmanuel Vadot	status = "okay";
373f126890aSEmmanuel Vadot};
374f126890aSEmmanuel Vadot
375f126890aSEmmanuel Vadot&remoteproc_mss {
376f126890aSEmmanuel Vadot	cx-supply = <&pm8841_s2>;
377f126890aSEmmanuel Vadot	mss-supply = <&pm8841_s3>;
378f126890aSEmmanuel Vadot	mx-supply = <&pm8841_s1>;
379f126890aSEmmanuel Vadot	pll-supply = <&pm8941_l12>;
3808d13bc63SEmmanuel Vadot	status = "okay";
381f126890aSEmmanuel Vadot};
382f126890aSEmmanuel Vadot
383f126890aSEmmanuel Vadot&rpm_requests {
384f126890aSEmmanuel Vadot	regulators-0 {
385f126890aSEmmanuel Vadot		compatible = "qcom,rpm-pm8841-regulators";
386f126890aSEmmanuel Vadot
387f126890aSEmmanuel Vadot		pm8841_s1: s1 {
388f126890aSEmmanuel Vadot			regulator-min-microvolt = <675000>;
389f126890aSEmmanuel Vadot			regulator-max-microvolt = <1050000>;
390f126890aSEmmanuel Vadot		};
391f126890aSEmmanuel Vadot
392f126890aSEmmanuel Vadot		pm8841_s2: s2 {
393f126890aSEmmanuel Vadot			regulator-min-microvolt = <500000>;
394f126890aSEmmanuel Vadot			regulator-max-microvolt = <1050000>;
395f126890aSEmmanuel Vadot		};
396f126890aSEmmanuel Vadot
397f126890aSEmmanuel Vadot		pm8841_s3: s3 {
398f126890aSEmmanuel Vadot			regulator-min-microvolt = <1050000>;
399f126890aSEmmanuel Vadot			regulator-max-microvolt = <1050000>;
400f126890aSEmmanuel Vadot		};
401f126890aSEmmanuel Vadot
402f126890aSEmmanuel Vadot		pm8841_s4: s4 {
403f126890aSEmmanuel Vadot			regulator-min-microvolt = <815000>;
404f126890aSEmmanuel Vadot			regulator-max-microvolt = <900000>;
405f126890aSEmmanuel Vadot		};
406f126890aSEmmanuel Vadot	};
407f126890aSEmmanuel Vadot
408f126890aSEmmanuel Vadot	regulators-1 {
409f126890aSEmmanuel Vadot		compatible = "qcom,rpm-pm8941-regulators";
410f126890aSEmmanuel Vadot
411f126890aSEmmanuel Vadot		vdd_l1_l3-supply = <&pm8941_s1>;
412f126890aSEmmanuel Vadot		vdd_l2_lvs1_2_3-supply = <&pm8941_s3>;
413f126890aSEmmanuel Vadot		vdd_l4_l11-supply = <&pm8941_s1>;
414f126890aSEmmanuel Vadot		vdd_l5_l7-supply = <&pm8941_s2>;
415f126890aSEmmanuel Vadot		vdd_l6_l12_l14_l15-supply = <&pm8941_s2>;
416f126890aSEmmanuel Vadot		vdd_l8_l16_l18_l19-supply = <&vreg_vph_pwr>;
417f126890aSEmmanuel Vadot		vdd_l9_l10_l17_l22-supply = <&vreg_boost>;
418f126890aSEmmanuel Vadot		vdd_l13_l20_l23_l24-supply = <&vreg_boost>;
419f126890aSEmmanuel Vadot		vdd_l21-supply = <&vreg_boost>;
420f126890aSEmmanuel Vadot
421f126890aSEmmanuel Vadot		pm8941_s1: s1 {
422f126890aSEmmanuel Vadot			regulator-min-microvolt = <1300000>;
423f126890aSEmmanuel Vadot			regulator-max-microvolt = <1300000>;
424f126890aSEmmanuel Vadot			regulator-always-on;
425f126890aSEmmanuel Vadot			regulator-boot-on;
426f126890aSEmmanuel Vadot		};
427f126890aSEmmanuel Vadot
428f126890aSEmmanuel Vadot		pm8941_s2: s2 {
429f126890aSEmmanuel Vadot			regulator-min-microvolt = <2150000>;
430f126890aSEmmanuel Vadot			regulator-max-microvolt = <2150000>;
431f126890aSEmmanuel Vadot			regulator-boot-on;
432f126890aSEmmanuel Vadot		};
433f126890aSEmmanuel Vadot
434f126890aSEmmanuel Vadot		pm8941_s3: s3 {
435f126890aSEmmanuel Vadot			regulator-min-microvolt = <1800000>;
436f126890aSEmmanuel Vadot			regulator-max-microvolt = <1800000>;
437f126890aSEmmanuel Vadot			regulator-always-on;
438f126890aSEmmanuel Vadot			regulator-boot-on;
439f126890aSEmmanuel Vadot		};
440f126890aSEmmanuel Vadot
441f126890aSEmmanuel Vadot		pm8941_l1: l1 {
442f126890aSEmmanuel Vadot			regulator-min-microvolt = <1225000>;
443f126890aSEmmanuel Vadot			regulator-max-microvolt = <1225000>;
444f126890aSEmmanuel Vadot			regulator-always-on;
445f126890aSEmmanuel Vadot			regulator-boot-on;
446f126890aSEmmanuel Vadot		};
447f126890aSEmmanuel Vadot
448f126890aSEmmanuel Vadot		pm8941_l2: l2 {
449f126890aSEmmanuel Vadot			regulator-min-microvolt = <1200000>;
450f126890aSEmmanuel Vadot			regulator-max-microvolt = <1200000>;
451f126890aSEmmanuel Vadot		};
452f126890aSEmmanuel Vadot
453f126890aSEmmanuel Vadot		pm8941_l3: l3 {
454f126890aSEmmanuel Vadot			regulator-min-microvolt = <1225000>;
455f126890aSEmmanuel Vadot			regulator-max-microvolt = <1225000>;
456f126890aSEmmanuel Vadot		};
457f126890aSEmmanuel Vadot
458f126890aSEmmanuel Vadot		pm8941_l4: l4 {
459f126890aSEmmanuel Vadot			regulator-min-microvolt = <1225000>;
460f126890aSEmmanuel Vadot			regulator-max-microvolt = <1225000>;
461f126890aSEmmanuel Vadot		};
462f126890aSEmmanuel Vadot
463f126890aSEmmanuel Vadot		pm8941_l5: l5 {
464f126890aSEmmanuel Vadot			regulator-min-microvolt = <1800000>;
465f126890aSEmmanuel Vadot			regulator-max-microvolt = <1800000>;
466f126890aSEmmanuel Vadot		};
467f126890aSEmmanuel Vadot
468f126890aSEmmanuel Vadot		pm8941_l6: l6 {
469f126890aSEmmanuel Vadot			regulator-min-microvolt = <1800000>;
470f126890aSEmmanuel Vadot			regulator-max-microvolt = <1800000>;
471f126890aSEmmanuel Vadot			regulator-boot-on;
472f126890aSEmmanuel Vadot		};
473f126890aSEmmanuel Vadot
474f126890aSEmmanuel Vadot		pm8941_l7: l7 {
475f126890aSEmmanuel Vadot			regulator-min-microvolt = <1800000>;
476f126890aSEmmanuel Vadot			regulator-max-microvolt = <1800000>;
477f126890aSEmmanuel Vadot			regulator-boot-on;
478f126890aSEmmanuel Vadot		};
479f126890aSEmmanuel Vadot
480f126890aSEmmanuel Vadot		pm8941_l8: l8 {
481f126890aSEmmanuel Vadot			regulator-min-microvolt = <1800000>;
482f126890aSEmmanuel Vadot			regulator-max-microvolt = <1800000>;
483f126890aSEmmanuel Vadot		};
484f126890aSEmmanuel Vadot
485f126890aSEmmanuel Vadot		pm8941_l9: l9 {
486f126890aSEmmanuel Vadot			regulator-min-microvolt = <1800000>;
487f126890aSEmmanuel Vadot			regulator-max-microvolt = <2950000>;
488f126890aSEmmanuel Vadot		};
489f126890aSEmmanuel Vadot
490f126890aSEmmanuel Vadot		pm8941_l10: l10 {
491f126890aSEmmanuel Vadot			regulator-min-microvolt = <1800000>;
492f126890aSEmmanuel Vadot			regulator-max-microvolt = <2950000>;
493f126890aSEmmanuel Vadot		};
494f126890aSEmmanuel Vadot
495f126890aSEmmanuel Vadot		pm8941_l11: l11 {
496f126890aSEmmanuel Vadot			regulator-min-microvolt = <1300000>;
497f126890aSEmmanuel Vadot			regulator-max-microvolt = <1300000>;
498f126890aSEmmanuel Vadot		};
499f126890aSEmmanuel Vadot
500f126890aSEmmanuel Vadot		pm8941_l12: l12 {
501f126890aSEmmanuel Vadot			regulator-min-microvolt = <1800000>;
502f126890aSEmmanuel Vadot			regulator-max-microvolt = <1800000>;
503f126890aSEmmanuel Vadot			regulator-always-on;
504f126890aSEmmanuel Vadot			regulator-boot-on;
505f126890aSEmmanuel Vadot		};
506f126890aSEmmanuel Vadot
507f126890aSEmmanuel Vadot		pm8941_l13: l13 {
508f126890aSEmmanuel Vadot			regulator-min-microvolt = <1800000>;
509f126890aSEmmanuel Vadot			regulator-max-microvolt = <2950000>;
510f126890aSEmmanuel Vadot			regulator-boot-on;
511f126890aSEmmanuel Vadot		};
512f126890aSEmmanuel Vadot
513f126890aSEmmanuel Vadot		pm8941_l14: l14 {
514f126890aSEmmanuel Vadot			regulator-min-microvolt = <1800000>;
515f126890aSEmmanuel Vadot			regulator-max-microvolt = <1800000>;
516f126890aSEmmanuel Vadot		};
517f126890aSEmmanuel Vadot
518f126890aSEmmanuel Vadot		pm8941_l15: l15 {
519f126890aSEmmanuel Vadot			regulator-min-microvolt = <2050000>;
520f126890aSEmmanuel Vadot			regulator-max-microvolt = <2050000>;
521f126890aSEmmanuel Vadot		};
522f126890aSEmmanuel Vadot
523f126890aSEmmanuel Vadot		pm8941_l16: l16 {
524f126890aSEmmanuel Vadot			regulator-min-microvolt = <2700000>;
525f126890aSEmmanuel Vadot			regulator-max-microvolt = <2700000>;
526f126890aSEmmanuel Vadot		};
527f126890aSEmmanuel Vadot
528f126890aSEmmanuel Vadot		pm8941_l17: l17 {
529f126890aSEmmanuel Vadot			regulator-min-microvolt = <2850000>;
530f126890aSEmmanuel Vadot			regulator-max-microvolt = <2850000>;
531f126890aSEmmanuel Vadot		};
532f126890aSEmmanuel Vadot
533f126890aSEmmanuel Vadot		pm8941_l18: l18 {
534f126890aSEmmanuel Vadot			regulator-min-microvolt = <2850000>;
535f126890aSEmmanuel Vadot			regulator-max-microvolt = <2850000>;
536f126890aSEmmanuel Vadot		};
537f126890aSEmmanuel Vadot
538f126890aSEmmanuel Vadot		pm8941_l19: l19 {
539f126890aSEmmanuel Vadot			regulator-min-microvolt = <3000000>;
540f126890aSEmmanuel Vadot			regulator-max-microvolt = <3300000>;
541f126890aSEmmanuel Vadot		};
542f126890aSEmmanuel Vadot
543f126890aSEmmanuel Vadot		pm8941_l20: l20 {
544f126890aSEmmanuel Vadot			regulator-min-microvolt = <2950000>;
545f126890aSEmmanuel Vadot			regulator-max-microvolt = <2950000>;
546f126890aSEmmanuel Vadot			regulator-system-load = <200000>;
547f126890aSEmmanuel Vadot			regulator-allow-set-load;
548f126890aSEmmanuel Vadot			regulator-boot-on;
549f126890aSEmmanuel Vadot		};
550f126890aSEmmanuel Vadot
551f126890aSEmmanuel Vadot		pm8941_l21: l21 {
552f126890aSEmmanuel Vadot			regulator-min-microvolt = <2950000>;
553f126890aSEmmanuel Vadot			regulator-max-microvolt = <2950000>;
554f126890aSEmmanuel Vadot			regulator-boot-on;
555f126890aSEmmanuel Vadot		};
556f126890aSEmmanuel Vadot
557f126890aSEmmanuel Vadot		pm8941_l22: l22 {
558f126890aSEmmanuel Vadot			regulator-min-microvolt = <3000000>;
559f126890aSEmmanuel Vadot			regulator-max-microvolt = <3300000>;
560f126890aSEmmanuel Vadot		};
561f126890aSEmmanuel Vadot
562f126890aSEmmanuel Vadot		pm8941_l23: l23 {
563f126890aSEmmanuel Vadot			regulator-min-microvolt = <3000000>;
564f126890aSEmmanuel Vadot			regulator-max-microvolt = <3000000>;
565f126890aSEmmanuel Vadot		};
566f126890aSEmmanuel Vadot
567f126890aSEmmanuel Vadot		pm8941_l24: l24 {
568f126890aSEmmanuel Vadot			regulator-min-microvolt = <3075000>;
569f126890aSEmmanuel Vadot			regulator-max-microvolt = <3075000>;
570f126890aSEmmanuel Vadot			regulator-boot-on;
571f126890aSEmmanuel Vadot		};
572f126890aSEmmanuel Vadot
573f126890aSEmmanuel Vadot		pm8941_lvs1: lvs1 {};
574f126890aSEmmanuel Vadot		pm8941_lvs3: lvs3 {};
575f126890aSEmmanuel Vadot	};
576f126890aSEmmanuel Vadot};
577f126890aSEmmanuel Vadot
578f126890aSEmmanuel Vadot&sdhc_1 {
579f126890aSEmmanuel Vadot	status = "okay";
580f126890aSEmmanuel Vadot
581f126890aSEmmanuel Vadot	vmmc-supply = <&pm8941_l20>;
582f126890aSEmmanuel Vadot	vqmmc-supply = <&pm8941_s3>;
583f126890aSEmmanuel Vadot
584f126890aSEmmanuel Vadot	pinctrl-names = "default", "sleep";
585f126890aSEmmanuel Vadot	pinctrl-0 = <&sdc1_on>;
586f126890aSEmmanuel Vadot	pinctrl-1 = <&sdc1_off>;
587f126890aSEmmanuel Vadot};
588f126890aSEmmanuel Vadot
589f126890aSEmmanuel Vadot&sdhc_2 {
590f126890aSEmmanuel Vadot	status = "okay";
591f126890aSEmmanuel Vadot
592f126890aSEmmanuel Vadot	max-frequency = <100000000>;
593f126890aSEmmanuel Vadot	vmmc-supply = <&vreg_wlan>;
594f126890aSEmmanuel Vadot	vqmmc-supply = <&pm8941_s3>;
595f126890aSEmmanuel Vadot	non-removable;
596f126890aSEmmanuel Vadot
597f126890aSEmmanuel Vadot	pinctrl-names = "default", "sleep";
598f126890aSEmmanuel Vadot	pinctrl-0 = <&sdc2_on>;
599f126890aSEmmanuel Vadot	pinctrl-1 = <&sdc2_off>;
600f126890aSEmmanuel Vadot
601f126890aSEmmanuel Vadot	bcrmf@1 {
602f126890aSEmmanuel Vadot		compatible = "brcm,bcm4339-fmac", "brcm,bcm4329-fmac";
603f126890aSEmmanuel Vadot		reg = <1>;
604f126890aSEmmanuel Vadot
605f126890aSEmmanuel Vadot		brcm,drive-strength = <10>;
606f126890aSEmmanuel Vadot
607f126890aSEmmanuel Vadot		pinctrl-names = "default";
608f126890aSEmmanuel Vadot		pinctrl-0 = <&wlan_sleep_clk_pin>;
609f126890aSEmmanuel Vadot	};
610f126890aSEmmanuel Vadot};
611f126890aSEmmanuel Vadot
612f126890aSEmmanuel Vadot&tlmm {
613f126890aSEmmanuel Vadot	sdc1_on: sdc1-on-state {
614f126890aSEmmanuel Vadot		clk-pins {
615f126890aSEmmanuel Vadot			pins = "sdc1_clk";
616f126890aSEmmanuel Vadot			drive-strength = <16>;
617f126890aSEmmanuel Vadot			bias-disable;
618f126890aSEmmanuel Vadot		};
619f126890aSEmmanuel Vadot
620f126890aSEmmanuel Vadot		cmd-data-pins {
621f126890aSEmmanuel Vadot			pins = "sdc1_cmd", "sdc1_data";
622f126890aSEmmanuel Vadot			drive-strength = <10>;
623f126890aSEmmanuel Vadot			bias-pull-up;
624f126890aSEmmanuel Vadot		};
625f126890aSEmmanuel Vadot	};
626f126890aSEmmanuel Vadot
627f126890aSEmmanuel Vadot	sdc2_on: sdc2-on-state {
628f126890aSEmmanuel Vadot		clk-pins {
629f126890aSEmmanuel Vadot			pins = "sdc2_clk";
630f126890aSEmmanuel Vadot			drive-strength = <6>;
631f126890aSEmmanuel Vadot			bias-disable;
632f126890aSEmmanuel Vadot		};
633f126890aSEmmanuel Vadot
634f126890aSEmmanuel Vadot		cmd-data-pins {
635f126890aSEmmanuel Vadot			pins = "sdc2_cmd", "sdc2_data";
636f126890aSEmmanuel Vadot			drive-strength = <6>;
637f126890aSEmmanuel Vadot			bias-pull-up;
638f126890aSEmmanuel Vadot		};
639f126890aSEmmanuel Vadot	};
640f126890aSEmmanuel Vadot
641f126890aSEmmanuel Vadot	mpu6515_pin: mpu6515-state {
642f126890aSEmmanuel Vadot		pins = "gpio73";
643f126890aSEmmanuel Vadot		function = "gpio";
644f126890aSEmmanuel Vadot		bias-disable;
645f126890aSEmmanuel Vadot	};
646f126890aSEmmanuel Vadot
647f126890aSEmmanuel Vadot	touch_pin: touch-state {
648f126890aSEmmanuel Vadot		int-pins {
649f126890aSEmmanuel Vadot			pins = "gpio5";
650f126890aSEmmanuel Vadot			function = "gpio";
651f126890aSEmmanuel Vadot
652f126890aSEmmanuel Vadot			drive-strength = <2>;
653f126890aSEmmanuel Vadot			bias-disable;
654f126890aSEmmanuel Vadot		};
655f126890aSEmmanuel Vadot
656f126890aSEmmanuel Vadot		reset-pins {
657f126890aSEmmanuel Vadot			pins = "gpio8";
658f126890aSEmmanuel Vadot			function = "gpio";
659f126890aSEmmanuel Vadot
660f126890aSEmmanuel Vadot			drive-strength = <2>;
661f126890aSEmmanuel Vadot			bias-pull-up;
662f126890aSEmmanuel Vadot		};
663f126890aSEmmanuel Vadot	};
664f126890aSEmmanuel Vadot
665f126890aSEmmanuel Vadot	panel_pin: panel-state {
666f126890aSEmmanuel Vadot		pins = "gpio12";
667f126890aSEmmanuel Vadot		function = "mdp_vsync";
668f126890aSEmmanuel Vadot		drive-strength = <2>;
669f126890aSEmmanuel Vadot		bias-disable;
670f126890aSEmmanuel Vadot	};
671f126890aSEmmanuel Vadot
672f126890aSEmmanuel Vadot	bt_pin: bt-state {
673f126890aSEmmanuel Vadot		hostwake-pins {
674f126890aSEmmanuel Vadot			pins = "gpio42";
675f126890aSEmmanuel Vadot			function = "gpio";
676f126890aSEmmanuel Vadot		};
677f126890aSEmmanuel Vadot
678f126890aSEmmanuel Vadot		devwake-pins {
679f126890aSEmmanuel Vadot			pins = "gpio62";
680f126890aSEmmanuel Vadot			function = "gpio";
681f126890aSEmmanuel Vadot		};
682f126890aSEmmanuel Vadot
683f126890aSEmmanuel Vadot		shutdown-pins {
684f126890aSEmmanuel Vadot			pins = "gpio41";
685f126890aSEmmanuel Vadot			function = "gpio";
686f126890aSEmmanuel Vadot		};
687f126890aSEmmanuel Vadot	};
688f126890aSEmmanuel Vadot
689f126890aSEmmanuel Vadot	vibrator_pin: vibrator-state {
690f126890aSEmmanuel Vadot		core-pins {
691f126890aSEmmanuel Vadot			pins = "gpio27";
692f126890aSEmmanuel Vadot			function = "gp1_clk";
693f126890aSEmmanuel Vadot			drive-strength = <6>;
694f126890aSEmmanuel Vadot			bias-disable;
695f126890aSEmmanuel Vadot		};
696f126890aSEmmanuel Vadot
697f126890aSEmmanuel Vadot		enable-pins {
698f126890aSEmmanuel Vadot			pins = "gpio60";
699f126890aSEmmanuel Vadot			function = "gpio";
700f126890aSEmmanuel Vadot			drive-strength = <2>;
701f126890aSEmmanuel Vadot			bias-disable;
702f126890aSEmmanuel Vadot		};
703f126890aSEmmanuel Vadot	};
704f126890aSEmmanuel Vadot};
705f126890aSEmmanuel Vadot
706f126890aSEmmanuel Vadot&usb {
707f126890aSEmmanuel Vadot	status = "okay";
708f126890aSEmmanuel Vadot
709f126890aSEmmanuel Vadot	phys = <&usb_hs1_phy>;
710f126890aSEmmanuel Vadot	phy-select = <&tcsr 0xb000 0>;
711f126890aSEmmanuel Vadot
712f126890aSEmmanuel Vadot	extcon = <&charger>, <&usb_id>;
713f126890aSEmmanuel Vadot	vbus-supply = <&usb_otg_vbus>;
714f126890aSEmmanuel Vadot
715f126890aSEmmanuel Vadot	hnp-disable;
716f126890aSEmmanuel Vadot	srp-disable;
717f126890aSEmmanuel Vadot	adp-disable;
718f126890aSEmmanuel Vadot};
719f126890aSEmmanuel Vadot
720f126890aSEmmanuel Vadot&usb_hs1_phy {
721f126890aSEmmanuel Vadot	status = "okay";
722f126890aSEmmanuel Vadot
723f126890aSEmmanuel Vadot	v1p8-supply = <&pm8941_l6>;
724f126890aSEmmanuel Vadot	v3p3-supply = <&pm8941_l24>;
725f126890aSEmmanuel Vadot
726f126890aSEmmanuel Vadot	qcom,init-seq = /bits/ 8 <0x1 0x64>;
727f126890aSEmmanuel Vadot};
728