xref: /linux/arch/arm/boot/dts/qcom/qcom-apq8074-dragonboard.dts (revision 455a4c46e023ab84263eae0fc7acca9a5ee8b7ac)
1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0
2724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
3724ba675SRob Herring#include <dt-bindings/input/input.h>
4724ba675SRob Herring#include <dt-bindings/leds/common.h>
5724ba675SRob Herring#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
6724ba675SRob Herring#include "qcom-msm8974.dtsi"
7*455a4c46SDmitry Baryshkov#include "pm8841.dtsi"
8*455a4c46SDmitry Baryshkov#include "pm8941.dtsi"
9724ba675SRob Herring
10724ba675SRob Herring/delete-node/ &mpss_region;
11724ba675SRob Herring
12724ba675SRob Herring/ {
13724ba675SRob Herring	model = "Qualcomm APQ8074 Dragonboard";
14724ba675SRob Herring	compatible = "qcom,apq8074-dragonboard", "qcom,apq8074";
15724ba675SRob Herring
16724ba675SRob Herring	aliases {
17724ba675SRob Herring		serial0 = &blsp1_uart2;
18724ba675SRob Herring		usid0 = &pm8941_0;
19724ba675SRob Herring		usid4 = &pm8841_0;
20724ba675SRob Herring	};
21724ba675SRob Herring
22724ba675SRob Herring	chosen {
23724ba675SRob Herring		stdout-path = "serial0:115200n8";
24724ba675SRob Herring	};
25724ba675SRob Herring
26724ba675SRob Herring	gpio-keys {
27724ba675SRob Herring		compatible = "gpio-keys";
28724ba675SRob Herring		autorepeat;
29724ba675SRob Herring
30724ba675SRob Herring		pinctrl-0 = <&msm_keys_default>;
31724ba675SRob Herring		pinctrl-names = "default";
32724ba675SRob Herring
33724ba675SRob Herring		button-volup {
34724ba675SRob Herring			label = "Volume Up";
35724ba675SRob Herring			linux,code = <KEY_VOLUMEUP>;
36724ba675SRob Herring			gpios = <&pm8941_gpios 5 GPIO_ACTIVE_LOW>;
37724ba675SRob Herring		};
38724ba675SRob Herring
39724ba675SRob Herring		button-general {
40724ba675SRob Herring			label = "General";
41724ba675SRob Herring			linux,code = <KEY_PROG1>;
42724ba675SRob Herring			gpios = <&pm8941_gpios 23 GPIO_ACTIVE_LOW>;
43724ba675SRob Herring		};
44724ba675SRob Herring	};
45724ba675SRob Herring
46724ba675SRob Herring	reserved-memory {
47724ba675SRob Herring		mpss_region: mpss@ac00000 {
48724ba675SRob Herring			reg = <0x0ac00000 0x2500000>;
49724ba675SRob Herring			no-map;
50724ba675SRob Herring		};
51724ba675SRob Herring	};
52724ba675SRob Herring};
53724ba675SRob Herring
54724ba675SRob Herring&blsp1_uart2 {
55724ba675SRob Herring	status = "okay";
56724ba675SRob Herring};
57724ba675SRob Herring
58724ba675SRob Herring&blsp2_dma {
59724ba675SRob Herring	qcom,controlled-remotely;
60724ba675SRob Herring};
61724ba675SRob Herring
62724ba675SRob Herring&blsp2_i2c5 {
63724ba675SRob Herring	status = "okay";
64724ba675SRob Herring	clock-frequency = <200000>;
65724ba675SRob Herring
66724ba675SRob Herring	eeprom: eeprom@52 {
67724ba675SRob Herring		compatible = "atmel,24c128";
68724ba675SRob Herring		reg = <0x52>;
69724ba675SRob Herring		pagesize = <32>;
70724ba675SRob Herring		read-only;
71724ba675SRob Herring	};
72724ba675SRob Herring};
73724ba675SRob Herring
74724ba675SRob Herring&gpu {
75724ba675SRob Herring	status = "okay";
76724ba675SRob Herring};
77724ba675SRob Herring
78724ba675SRob Herring&mdss {
79724ba675SRob Herring	status = "okay";
80724ba675SRob Herring};
81724ba675SRob Herring
82724ba675SRob Herring&mdss_dsi0 {
83724ba675SRob Herring	vdda-supply = <&pm8941_l2>;
84724ba675SRob Herring	vdd-supply = <&pm8941_l22>;
85724ba675SRob Herring	vddio-supply = <&pm8941_l12>;
86724ba675SRob Herring
87724ba675SRob Herring	status = "okay";
88724ba675SRob Herring
89724ba675SRob Herring	panel: panel@0 {
90724ba675SRob Herring		compatible = "sharp,ls043t1le01-qhd";
91724ba675SRob Herring		reg = <0>;
92724ba675SRob Herring
93724ba675SRob Herring		avdd-supply = <&pm8941_l22>;
94724ba675SRob Herring		backlight = <&pm8941_wled>;
95724ba675SRob Herring		reset-gpios = <&pm8941_gpios 19 GPIO_ACTIVE_HIGH>;
96724ba675SRob Herring
97724ba675SRob Herring		port {
98724ba675SRob Herring			panel_in: endpoint {
99724ba675SRob Herring				remote-endpoint = <&mdss_dsi0_out>;
100724ba675SRob Herring			};
101724ba675SRob Herring		};
102724ba675SRob Herring	};
103724ba675SRob Herring};
104724ba675SRob Herring
105724ba675SRob Herring&mdss_dsi0_out {
106724ba675SRob Herring	remote-endpoint = <&panel_in>;
107724ba675SRob Herring	data-lanes = <0 1 2 3>;
108724ba675SRob Herring};
109724ba675SRob Herring
110724ba675SRob Herring&mdss_dsi0_phy {
111724ba675SRob Herring	status = "okay";
112724ba675SRob Herring
113724ba675SRob Herring	vddio-supply = <&pm8941_l12>;
114724ba675SRob Herring};
115724ba675SRob Herring
116724ba675SRob Herring&gpu {
117724ba675SRob Herring	status = "okay";
118724ba675SRob Herring};
119724ba675SRob Herring
120724ba675SRob Herring&mdss {
121724ba675SRob Herring	status = "okay";
122724ba675SRob Herring};
123724ba675SRob Herring
124724ba675SRob Herring&pm8941_gpios {
125724ba675SRob Herring        msm_keys_default: pm8941-gpio-keys-state {
126724ba675SRob Herring		pins = "gpio5", "gpio23";
127724ba675SRob Herring		function = "normal";
128724ba675SRob Herring		input-enable;
129724ba675SRob Herring		drive-push-pull;
130724ba675SRob Herring		bias-pull-up;
131724ba675SRob Herring		qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
132724ba675SRob Herring		power-source = <PM8941_GPIO_S3>; /* 1.8V */
133724ba675SRob Herring        };
134724ba675SRob Herring};
135724ba675SRob Herring
136724ba675SRob Herring&pm8941_lpg {
137724ba675SRob Herring	qcom,power-source = <1>;
138724ba675SRob Herring	status = "okay";
139724ba675SRob Herring
140724ba675SRob Herring	led@5 {
141724ba675SRob Herring		reg = <5>;
142724ba675SRob Herring		color = <LED_COLOR_ID_BLUE>;
143724ba675SRob Herring		function = LED_FUNCTION_INDICATOR;
144724ba675SRob Herring	};
145724ba675SRob Herring
146724ba675SRob Herring	led@6 {
147724ba675SRob Herring		reg = <6>;
148724ba675SRob Herring		color = <LED_COLOR_ID_GREEN>;
149724ba675SRob Herring		function = LED_FUNCTION_INDICATOR;
150724ba675SRob Herring	};
151724ba675SRob Herring
152724ba675SRob Herring	led@7 {
153724ba675SRob Herring		reg = <7>;
154724ba675SRob Herring		color = <LED_COLOR_ID_RED>;
155724ba675SRob Herring		function = LED_FUNCTION_INDICATOR;
156724ba675SRob Herring	};
157724ba675SRob Herring};
158724ba675SRob Herring
159a9037f33SDmitry Baryshkov&pm8941_resin {
160a9037f33SDmitry Baryshkov	linux,code = <KEY_VOLUMEDOWN>;
161a9037f33SDmitry Baryshkov	status = "okay";
162a9037f33SDmitry Baryshkov};
163a9037f33SDmitry Baryshkov
164724ba675SRob Herring&pm8941_wled {
165724ba675SRob Herring	qcom,cs-out;
166724ba675SRob Herring	qcom,switching-freq = <3200>;
167724ba675SRob Herring	qcom,ovp = <32>;
168724ba675SRob Herring	qcom,num-strings = <1>;
169724ba675SRob Herring
170724ba675SRob Herring	status = "okay";
171724ba675SRob Herring};
172724ba675SRob Herring
173724ba675SRob Herring&remoteproc_adsp {
174724ba675SRob Herring	cx-supply = <&pm8841_s2>;
175724ba675SRob Herring
176724ba675SRob Herring	firmware-name = "qcom/apq8074/adsp.mbn";
177724ba675SRob Herring
178724ba675SRob Herring	status = "okay";
179724ba675SRob Herring};
180724ba675SRob Herring
181724ba675SRob Herring&remoteproc_mss {
182724ba675SRob Herring	cx-supply = <&pm8841_s2>;
183724ba675SRob Herring	mss-supply = <&pm8841_s3>;
184724ba675SRob Herring	mx-supply = <&pm8841_s1>;
185724ba675SRob Herring	pll-supply = <&pm8941_l12>;
186724ba675SRob Herring
187724ba675SRob Herring	firmware-name = "qcom/apq8074/mba.mbn", "qcom/apq8074/modem.mbn";
188724ba675SRob Herring
189724ba675SRob Herring	status = "okay";
190724ba675SRob Herring};
191724ba675SRob Herring
192724ba675SRob Herring&rpm_requests {
193724ba675SRob Herring	regulators-0 {
194724ba675SRob Herring		compatible = "qcom,rpm-pm8841-regulators";
195724ba675SRob Herring
196724ba675SRob Herring		pm8841_s1: s1 {
197724ba675SRob Herring			regulator-min-microvolt = <675000>;
198724ba675SRob Herring			regulator-max-microvolt = <1050000>;
199724ba675SRob Herring		};
200724ba675SRob Herring
201724ba675SRob Herring		pm8841_s2: s2 {
202724ba675SRob Herring			regulator-min-microvolt = <500000>;
203724ba675SRob Herring			regulator-max-microvolt = <1050000>;
204724ba675SRob Herring		};
205724ba675SRob Herring
206724ba675SRob Herring		pm8841_s3: s3 {
207724ba675SRob Herring			regulator-min-microvolt = <500000>;
208724ba675SRob Herring			regulator-max-microvolt = <1050000>;
209724ba675SRob Herring		};
210724ba675SRob Herring
211724ba675SRob Herring		pm8841_s4: s4 {
212724ba675SRob Herring			regulator-min-microvolt = <500000>;
213724ba675SRob Herring			regulator-max-microvolt = <1050000>;
214724ba675SRob Herring		};
215724ba675SRob Herring	};
216724ba675SRob Herring
217724ba675SRob Herring	regulators-1 {
218724ba675SRob Herring		compatible = "qcom,rpm-pm8941-regulators";
219724ba675SRob Herring
220724ba675SRob Herring		vdd_l1_l3-supply = <&pm8941_s1>;
221724ba675SRob Herring		vdd_l2_lvs1_2_3-supply = <&pm8941_s3>;
222724ba675SRob Herring		vdd_l4_l11-supply = <&pm8941_s1>;
223724ba675SRob Herring		vdd_l5_l7-supply = <&pm8941_s2>;
224724ba675SRob Herring		vdd_l6_l12_l14_l15-supply = <&pm8941_s2>;
225724ba675SRob Herring		vin_5vs-supply = <&pm8941_5v>;
226724ba675SRob Herring
227724ba675SRob Herring		pm8941_s1: s1 {
228724ba675SRob Herring			regulator-min-microvolt = <1300000>;
229724ba675SRob Herring			regulator-max-microvolt = <1300000>;
230724ba675SRob Herring			regulator-always-on;
231724ba675SRob Herring			regulator-boot-on;
232724ba675SRob Herring		};
233724ba675SRob Herring
234724ba675SRob Herring		pm8941_s2: s2 {
235724ba675SRob Herring			regulator-min-microvolt = <2150000>;
236724ba675SRob Herring			regulator-max-microvolt = <2150000>;
237724ba675SRob Herring			regulator-boot-on;
238724ba675SRob Herring		};
239724ba675SRob Herring
240724ba675SRob Herring		pm8941_s3: s3 {
241724ba675SRob Herring			regulator-min-microvolt = <1800000>;
242724ba675SRob Herring			regulator-max-microvolt = <1800000>;
243724ba675SRob Herring			regulator-always-on;
244724ba675SRob Herring			regulator-boot-on;
245724ba675SRob Herring		};
246724ba675SRob Herring
247724ba675SRob Herring		pm8941_l1: l1 {
248724ba675SRob Herring			regulator-min-microvolt = <1225000>;
249724ba675SRob Herring			regulator-max-microvolt = <1225000>;
250724ba675SRob Herring			regulator-always-on;
251724ba675SRob Herring			regulator-boot-on;
252724ba675SRob Herring		};
253724ba675SRob Herring
254724ba675SRob Herring		pm8941_l2: l2 {
255724ba675SRob Herring			regulator-min-microvolt = <1200000>;
256724ba675SRob Herring			regulator-max-microvolt = <1200000>;
257724ba675SRob Herring		};
258724ba675SRob Herring
259724ba675SRob Herring		pm8941_l3: l3 {
260724ba675SRob Herring			regulator-min-microvolt = <1225000>;
261724ba675SRob Herring			regulator-max-microvolt = <1225000>;
262724ba675SRob Herring		};
263724ba675SRob Herring
264724ba675SRob Herring		pm8941_l4: l4 {
265724ba675SRob Herring			regulator-min-microvolt = <1225000>;
266724ba675SRob Herring			regulator-max-microvolt = <1225000>;
267724ba675SRob Herring		};
268724ba675SRob Herring
269724ba675SRob Herring		pm8941_l5: l5 {
270724ba675SRob Herring			regulator-min-microvolt = <1800000>;
271724ba675SRob Herring			regulator-max-microvolt = <1800000>;
272724ba675SRob Herring		};
273724ba675SRob Herring
274724ba675SRob Herring		pm8941_l6: l6 {
275724ba675SRob Herring			regulator-min-microvolt = <1800000>;
276724ba675SRob Herring			regulator-max-microvolt = <1800000>;
277724ba675SRob Herring			regulator-boot-on;
278724ba675SRob Herring		};
279724ba675SRob Herring
280724ba675SRob Herring		pm8941_l7: l7 {
281724ba675SRob Herring			regulator-min-microvolt = <1800000>;
282724ba675SRob Herring			regulator-max-microvolt = <1800000>;
283724ba675SRob Herring			regulator-boot-on;
284724ba675SRob Herring		};
285724ba675SRob Herring
286724ba675SRob Herring		pm8941_l8: l8 {
287724ba675SRob Herring			regulator-min-microvolt = <1800000>;
288724ba675SRob Herring			regulator-max-microvolt = <1800000>;
289724ba675SRob Herring		};
290724ba675SRob Herring
291724ba675SRob Herring		pm8941_l9: l9 {
292724ba675SRob Herring			regulator-min-microvolt = <1800000>;
293724ba675SRob Herring			regulator-max-microvolt = <2950000>;
294724ba675SRob Herring		};
295724ba675SRob Herring
296724ba675SRob Herring		pm8941_l10: l10 {
297724ba675SRob Herring			regulator-min-microvolt = <1800000>;
298724ba675SRob Herring			regulator-max-microvolt = <1800000>;
299724ba675SRob Herring			regulator-always-on;
300724ba675SRob Herring		};
301724ba675SRob Herring
302724ba675SRob Herring		pm8941_l11: l11 {
303724ba675SRob Herring			regulator-min-microvolt = <1300000>;
304724ba675SRob Herring			regulator-max-microvolt = <1300000>;
305724ba675SRob Herring		};
306724ba675SRob Herring
307724ba675SRob Herring		pm8941_l12: l12 {
308724ba675SRob Herring			regulator-min-microvolt = <1800000>;
309724ba675SRob Herring			regulator-max-microvolt = <1800000>;
310724ba675SRob Herring			regulator-always-on;
311724ba675SRob Herring			regulator-boot-on;
312724ba675SRob Herring		};
313724ba675SRob Herring
314724ba675SRob Herring		pm8941_l13: l13 {
315724ba675SRob Herring			regulator-min-microvolt = <1800000>;
316724ba675SRob Herring			regulator-max-microvolt = <2950000>;
317724ba675SRob Herring			regulator-boot-on;
318724ba675SRob Herring		};
319724ba675SRob Herring
320724ba675SRob Herring		pm8941_l14: l14 {
321724ba675SRob Herring			regulator-min-microvolt = <1800000>;
322724ba675SRob Herring			regulator-max-microvolt = <1800000>;
323724ba675SRob Herring		};
324724ba675SRob Herring
325724ba675SRob Herring		pm8941_l15: l15 {
326724ba675SRob Herring			regulator-min-microvolt = <2050000>;
327724ba675SRob Herring			regulator-max-microvolt = <2050000>;
328724ba675SRob Herring		};
329724ba675SRob Herring
330724ba675SRob Herring		pm8941_l16: l16 {
331724ba675SRob Herring			regulator-min-microvolt = <2700000>;
332724ba675SRob Herring			regulator-max-microvolt = <2700000>;
333724ba675SRob Herring		};
334724ba675SRob Herring
335724ba675SRob Herring		pm8941_l17: l17 {
336724ba675SRob Herring			regulator-min-microvolt = <2700000>;
337724ba675SRob Herring			regulator-max-microvolt = <2700000>;
338724ba675SRob Herring		};
339724ba675SRob Herring
340724ba675SRob Herring		pm8941_l18: l18 {
341724ba675SRob Herring			regulator-min-microvolt = <2850000>;
342724ba675SRob Herring			regulator-max-microvolt = <2850000>;
343724ba675SRob Herring		};
344724ba675SRob Herring
345724ba675SRob Herring		pm8941_l19: l19 {
346724ba675SRob Herring			regulator-min-microvolt = <3300000>;
347724ba675SRob Herring			regulator-max-microvolt = <3300000>;
348724ba675SRob Herring			regulator-always-on;
349724ba675SRob Herring		};
350724ba675SRob Herring
351724ba675SRob Herring		pm8941_l20: l20 {
352724ba675SRob Herring			regulator-min-microvolt = <2950000>;
353724ba675SRob Herring			regulator-max-microvolt = <2950000>;
354724ba675SRob Herring			regulator-system-load = <200000>;
355724ba675SRob Herring			regulator-allow-set-load;
356724ba675SRob Herring			regulator-boot-on;
357724ba675SRob Herring		};
358724ba675SRob Herring
359724ba675SRob Herring		pm8941_l21: l21 {
360724ba675SRob Herring			regulator-min-microvolt = <2950000>;
361724ba675SRob Herring			regulator-max-microvolt = <2950000>;
362724ba675SRob Herring			regulator-boot-on;
363724ba675SRob Herring		};
364724ba675SRob Herring
365724ba675SRob Herring		pm8941_l22: l22 {
366724ba675SRob Herring			regulator-min-microvolt = <3000000>;
367724ba675SRob Herring			regulator-max-microvolt = <3000000>;
368724ba675SRob Herring		};
369724ba675SRob Herring
370724ba675SRob Herring		pm8941_l23: l23 {
371724ba675SRob Herring			regulator-min-microvolt = <3000000>;
372724ba675SRob Herring			regulator-max-microvolt = <3000000>;
373724ba675SRob Herring		};
374724ba675SRob Herring
375724ba675SRob Herring		pm8941_l24: l24 {
376724ba675SRob Herring			regulator-min-microvolt = <3075000>;
377724ba675SRob Herring			regulator-max-microvolt = <3075000>;
378724ba675SRob Herring			regulator-boot-on;
379724ba675SRob Herring		};
380724ba675SRob Herring	};
381724ba675SRob Herring};
382724ba675SRob Herring
383724ba675SRob Herring&sdhc_1 {
384724ba675SRob Herring	status = "okay";
385724ba675SRob Herring
386724ba675SRob Herring	vmmc-supply = <&pm8941_l20>;
387724ba675SRob Herring	vqmmc-supply = <&pm8941_s3>;
388724ba675SRob Herring
389724ba675SRob Herring	pinctrl-names = "default", "sleep";
390724ba675SRob Herring	pinctrl-0 = <&sdc1_on>;
391724ba675SRob Herring	pinctrl-1 = <&sdc1_off>;
392724ba675SRob Herring};
393724ba675SRob Herring
394724ba675SRob Herring&sdhc_2 {
395724ba675SRob Herring	status = "okay";
396724ba675SRob Herring
397724ba675SRob Herring	cd-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>;
398724ba675SRob Herring	vmmc-supply = <&pm8941_l21>;
399724ba675SRob Herring	vqmmc-supply = <&pm8941_l13>;
400724ba675SRob Herring
401724ba675SRob Herring	pinctrl-names = "default", "sleep";
402724ba675SRob Herring	pinctrl-0 = <&sdc2_on>;
403724ba675SRob Herring	pinctrl-1 = <&sdc2_off>;
404724ba675SRob Herring};
405724ba675SRob Herring
406724ba675SRob Herring&tlmm {
407724ba675SRob Herring	sdc1_on: sdc1-on-state {
408724ba675SRob Herring		clk-pins {
409724ba675SRob Herring			pins = "sdc1_clk";
410724ba675SRob Herring			drive-strength = <16>;
411724ba675SRob Herring			bias-disable;
412724ba675SRob Herring		};
413724ba675SRob Herring
414724ba675SRob Herring		cmd-data-pins {
415724ba675SRob Herring			pins = "sdc1_cmd", "sdc1_data";
416724ba675SRob Herring			drive-strength = <10>;
417724ba675SRob Herring			bias-pull-up;
418724ba675SRob Herring		};
419724ba675SRob Herring	};
420724ba675SRob Herring
421724ba675SRob Herring	sdc2_on: sdc2-on-state {
422724ba675SRob Herring		clk-pins {
423724ba675SRob Herring			pins = "sdc2_clk";
424724ba675SRob Herring			drive-strength = <10>;
425724ba675SRob Herring			bias-disable;
426724ba675SRob Herring		};
427724ba675SRob Herring
428724ba675SRob Herring		cmd-data-pins {
429724ba675SRob Herring			pins = "sdc2_cmd", "sdc2_data";
430724ba675SRob Herring			drive-strength = <6>;
431724ba675SRob Herring			bias-pull-up;
432724ba675SRob Herring		};
433724ba675SRob Herring
434724ba675SRob Herring		cd-pins {
435724ba675SRob Herring			pins = "gpio62";
436724ba675SRob Herring			function = "gpio";
437724ba675SRob Herring			drive-strength = <2>;
438724ba675SRob Herring			bias-disable;
439724ba675SRob Herring		};
440724ba675SRob Herring	};
441724ba675SRob Herring};
442724ba675SRob Herring
443724ba675SRob Herring&usb {
444724ba675SRob Herring	status = "okay";
445724ba675SRob Herring
446724ba675SRob Herring	phys = <&usb_hs2_phy>;
447724ba675SRob Herring	phy-select = <&tcsr 0xb000 1>;
448724ba675SRob Herring	extcon = <&smbb>, <&usb_id>;
449724ba675SRob Herring	vbus-supply = <&chg_otg>;
450724ba675SRob Herring	hnp-disable;
451724ba675SRob Herring	srp-disable;
452724ba675SRob Herring	adp-disable;
453724ba675SRob Herring};
454724ba675SRob Herring
455724ba675SRob Herring&usb_hs2_phy {
456724ba675SRob Herring	status = "okay";
457724ba675SRob Herring	v3p3-supply = <&pm8941_l24>;
458724ba675SRob Herring	v1p8-supply = <&pm8941_l6>;
459724ba675SRob Herring	extcon = <&smbb>;
460724ba675SRob Herring	qcom,init-seq = /bits/ 8 <0x1 0x63>;
461724ba675SRob Herring};
462