blob: 6d1b2439ae3ace4d7489258000bb610d2f72b967 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: GPL-2.0
2#include <dt-bindings/gpio/gpio.h>
3#include <dt-bindings/input/input.h>
4#include <dt-bindings/leds/common.h>
5#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
6#include "qcom-msm8974.dtsi"
7#include "qcom-pm8841.dtsi"
8#include "qcom-pm8941.dtsi"
9
10/delete-node/ &mpss_region;
11
12/ {
13 model = "Qualcomm APQ8074 Dragonboard";
14 compatible = "qcom,apq8074-dragonboard", "qcom,apq8074";
15
16 aliases {
17 serial0 = &blsp1_uart2;
18 usid0 = &pm8941_0;
19 usid4 = &pm8841_0;
20 };
21
22 chosen {
23 stdout-path = "serial0:115200n8";
24 };
25
26 gpio-keys {
27 compatible = "gpio-keys";
28 autorepeat;
29
30 pinctrl-0 = <&msm_keys_default>;
31 pinctrl-names = "default";
32
33 button-volup {
34 label = "Volume Up";
35 linux,code = <KEY_VOLUMEUP>;
36 gpios = <&pm8941_gpios 5 GPIO_ACTIVE_LOW>;
37 };
38
39 button-general {
40 label = "General";
41 linux,code = <KEY_PROG1>;
42 gpios = <&pm8941_gpios 23 GPIO_ACTIVE_LOW>;
43 };
44 };
45
46 reserved-memory {
47 mpss_region: mpss@ac00000 {
48 reg = <0x0ac00000 0x2500000>;
49 no-map;
50 };
51 };
52};
53
54&blsp1_uart2 {
55 status = "okay";
56};
57
58&blsp2_dma {
59 qcom,controlled-remotely;
60};
61
62&blsp2_i2c5 {
63 status = "okay";
64 clock-frequency = <200000>;
65
66 eeprom: eeprom@52 {
67 compatible = "atmel,24c128";
68 reg = <0x52>;
69 pagesize = <32>;
70 read-only;
71 };
72};
73
74&gpu {
75 status = "okay";
76};
77
78&mdss {
79 status = "okay";
80};
81
82&mdss_dsi0 {
83 vdda-supply = <&pm8941_l2>;
84 vdd-supply = <&pm8941_l22>;
85 vddio-supply = <&pm8941_l12>;
86
87 status = "okay";
88
89 panel: panel@0 {
90 compatible = "sharp,ls043t1le01-qhd";
91 reg = <0>;
92
93 avdd-supply = <&pm8941_l22>;
94 backlight = <&pm8941_wled>;
95 reset-gpios = <&pm8941_gpios 19 GPIO_ACTIVE_HIGH>;
96
97 port {
98 panel_in: endpoint {
99 remote-endpoint = <&mdss_dsi0_out>;
100 };
101 };
102 };
103};
104
105&mdss_dsi0_out {
106 remote-endpoint = <&panel_in>;
107 data-lanes = <0 1 2 3>;
108};
109
110&mdss_dsi0_phy {
111 status = "okay";
112
113 vddio-supply = <&pm8941_l12>;
114};
115
116&gpu {
117 status = "okay";
118};
119
120&mdss {
121 status = "okay";
122};
123
124&pm8941_gpios {
125 msm_keys_default: pm8941-gpio-keys-state {
126 pins = "gpio5", "gpio23";
127 function = "normal";
128 input-enable;
129 drive-push-pull;
130 bias-pull-up;
131 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
132 power-source = <PM8941_GPIO_S3>; /* 1.8V */
133 };
134};
135
136&pm8941_lpg {
137 qcom,power-source = <1>;
138 status = "okay";
139
140 led@5 {
141 reg = <5>;
142 color = <LED_COLOR_ID_BLUE>;
143 function = LED_FUNCTION_INDICATOR;
144 };
145
146 led@6 {
147 reg = <6>;
148 color = <LED_COLOR_ID_GREEN>;
149 function = LED_FUNCTION_INDICATOR;
150 };
151
152 led@7 {
153 reg = <7>;
154 color = <LED_COLOR_ID_RED>;
155 function = LED_FUNCTION_INDICATOR;
156 };
157};
158
159&pm8941_resin {
160 linux,code = <KEY_VOLUMEDOWN>;
161 status = "okay";
162};
163
164&pm8941_wled {
165 qcom,cs-out;
166 qcom,switching-freq = <3200>;
167 qcom,ovp = <32>;
168 qcom,num-strings = <1>;
169
170 status = "okay";
171};
172
173&remoteproc_adsp {
174 cx-supply = <&pm8841_s2>;
175
176 firmware-name = "qcom/apq8074/adsp.mbn";
177
178 status = "okay";
179};
180
181&remoteproc_mss {
182 cx-supply = <&pm8841_s2>;
183 mss-supply = <&pm8841_s3>;
184 mx-supply = <&pm8841_s1>;
185 pll-supply = <&pm8941_l12>;
186
187 firmware-name = "qcom/apq8074/mba.mbn", "qcom/apq8074/modem.mbn";
188
189 status = "okay";
190};
191
192&rpm_requests {
193 regulators-0 {
194 compatible = "qcom,rpm-pm8841-regulators";
195
196 pm8841_s1: s1 {
197 regulator-min-microvolt = <675000>;
198 regulator-max-microvolt = <1050000>;
199 };
200
201 pm8841_s2: s2 {
202 regulator-min-microvolt = <500000>;
203 regulator-max-microvolt = <1050000>;
204 };
205
206 pm8841_s3: s3 {
207 regulator-min-microvolt = <500000>;
208 regulator-max-microvolt = <1050000>;
209 };
210
211 pm8841_s4: s4 {
212 regulator-min-microvolt = <500000>;
213 regulator-max-microvolt = <1050000>;
214 };
215 };
216
217 regulators-1 {
218 compatible = "qcom,rpm-pm8941-regulators";
219
220 vdd_l1_l3-supply = <&pm8941_s1>;
221 vdd_l2_lvs1_2_3-supply = <&pm8941_s3>;
222 vdd_l4_l11-supply = <&pm8941_s1>;
223 vdd_l5_l7-supply = <&pm8941_s2>;
224 vdd_l6_l12_l14_l15-supply = <&pm8941_s2>;
225 vin_5vs-supply = <&pm8941_5v>;
226
227 pm8941_s1: s1 {
228 regulator-min-microvolt = <1300000>;
229 regulator-max-microvolt = <1300000>;
230 regulator-always-on;
231 regulator-boot-on;
232 };
233
234 pm8941_s2: s2 {
235 regulator-min-microvolt = <2150000>;
236 regulator-max-microvolt = <2150000>;
237 regulator-boot-on;
238 };
239
240 pm8941_s3: s3 {
241 regulator-min-microvolt = <1800000>;
242 regulator-max-microvolt = <1800000>;
243 regulator-always-on;
244 regulator-boot-on;
245 };
246
247 pm8941_l1: l1 {
248 regulator-min-microvolt = <1225000>;
249 regulator-max-microvolt = <1225000>;
250 regulator-always-on;
251 regulator-boot-on;
252 };
253
254 pm8941_l2: l2 {
255 regulator-min-microvolt = <1200000>;
256 regulator-max-microvolt = <1200000>;
257 };
258
259 pm8941_l3: l3 {
260 regulator-min-microvolt = <1225000>;
261 regulator-max-microvolt = <1225000>;
262 };
263
264 pm8941_l4: l4 {
265 regulator-min-microvolt = <1225000>;
266 regulator-max-microvolt = <1225000>;
267 };
268
269 pm8941_l5: l5 {
270 regulator-min-microvolt = <1800000>;
271 regulator-max-microvolt = <1800000>;
272 };
273
274 pm8941_l6: l6 {
275 regulator-min-microvolt = <1800000>;
276 regulator-max-microvolt = <1800000>;
277 regulator-boot-on;
278 };
279
280 pm8941_l7: l7 {
281 regulator-min-microvolt = <1800000>;
282 regulator-max-microvolt = <1800000>;
283 regulator-boot-on;
284 };
285
286 pm8941_l8: l8 {
287 regulator-min-microvolt = <1800000>;
288 regulator-max-microvolt = <1800000>;
289 };
290
291 pm8941_l9: l9 {
292 regulator-min-microvolt = <1800000>;
293 regulator-max-microvolt = <2950000>;
294 };
295
296 pm8941_l10: l10 {
297 regulator-min-microvolt = <1800000>;
298 regulator-max-microvolt = <1800000>;
299 regulator-always-on;
300 };
301
302 pm8941_l11: l11 {
303 regulator-min-microvolt = <1300000>;
304 regulator-max-microvolt = <1300000>;
305 };
306
307 pm8941_l12: l12 {
308 regulator-min-microvolt = <1800000>;
309 regulator-max-microvolt = <1800000>;
310 regulator-always-on;
311 regulator-boot-on;
312 };
313
314 pm8941_l13: l13 {
315 regulator-min-microvolt = <1800000>;
316 regulator-max-microvolt = <2950000>;
317 regulator-boot-on;
318 };
319
320 pm8941_l14: l14 {
321 regulator-min-microvolt = <1800000>;
322 regulator-max-microvolt = <1800000>;
323 };
324
325 pm8941_l15: l15 {
326 regulator-min-microvolt = <2050000>;
327 regulator-max-microvolt = <2050000>;
328 };
329
330 pm8941_l16: l16 {
331 regulator-min-microvolt = <2700000>;
332 regulator-max-microvolt = <2700000>;
333 };
334
335 pm8941_l17: l17 {
336 regulator-min-microvolt = <2700000>;
337 regulator-max-microvolt = <2700000>;
338 };
339
340 pm8941_l18: l18 {
341 regulator-min-microvolt = <2850000>;
342 regulator-max-microvolt = <2850000>;
343 };
344
345 pm8941_l19: l19 {
346 regulator-min-microvolt = <3300000>;
347 regulator-max-microvolt = <3300000>;
348 regulator-always-on;
349 };
350
351 pm8941_l20: l20 {
352 regulator-min-microvolt = <2950000>;
353 regulator-max-microvolt = <2950000>;
354 regulator-system-load = <200000>;
355 regulator-allow-set-load;
356 regulator-boot-on;
357 };
358
359 pm8941_l21: l21 {
360 regulator-min-microvolt = <2950000>;
361 regulator-max-microvolt = <2950000>;
362 regulator-boot-on;
363 };
364
365 pm8941_l22: l22 {
366 regulator-min-microvolt = <3000000>;
367 regulator-max-microvolt = <3000000>;
368 };
369
370 pm8941_l23: l23 {
371 regulator-min-microvolt = <3000000>;
372 regulator-max-microvolt = <3000000>;
373 };
374
375 pm8941_l24: l24 {
376 regulator-min-microvolt = <3075000>;
377 regulator-max-microvolt = <3075000>;
378 regulator-boot-on;
379 };
380 };
381};
382
383&sdhc_1 {
384 status = "okay";
385
386 vmmc-supply = <&pm8941_l20>;
387 vqmmc-supply = <&pm8941_s3>;
388
389 pinctrl-names = "default", "sleep";
390 pinctrl-0 = <&sdc1_on>;
391 pinctrl-1 = <&sdc1_off>;
392};
393
394&sdhc_2 {
395 status = "okay";
396
397 cd-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>;
398 vmmc-supply = <&pm8941_l21>;
399 vqmmc-supply = <&pm8941_l13>;
400
401 pinctrl-names = "default", "sleep";
402 pinctrl-0 = <&sdc2_on>;
403 pinctrl-1 = <&sdc2_off>;
404};
405
406&tlmm {
407 sdc1_on: sdc1-on-state {
408 clk-pins {
409 pins = "sdc1_clk";
410 drive-strength = <16>;
411 bias-disable;
412 };
413
414 cmd-data-pins {
415 pins = "sdc1_cmd", "sdc1_data";
416 drive-strength = <10>;
417 bias-pull-up;
418 };
419 };
420
421 sdc2_on: sdc2-on-state {
422 clk-pins {
423 pins = "sdc2_clk";
424 drive-strength = <10>;
425 bias-disable;
426 };
427
428 cmd-data-pins {
429 pins = "sdc2_cmd", "sdc2_data";
430 drive-strength = <6>;
431 bias-pull-up;
432 };
433
434 cd-pins {
435 pins = "gpio62";
436 function = "gpio";
437 drive-strength = <2>;
438 bias-disable;
439 };
440 };
441};
442
443&usb {
444 status = "okay";
445
446 phys = <&usb_hs2_phy>;
447 phy-select = <&tcsr 0xb000 1>;
448 extcon = <&smbb>, <&usb_id>;
449 vbus-supply = <&chg_otg>;
450 hnp-disable;
451 srp-disable;
452 adp-disable;
453};
454
455&usb_hs2_phy {
456 status = "okay";
457 v3p3-supply = <&pm8941_l24>;
458 v1p8-supply = <&pm8941_l6>;
459 extcon = <&smbb>;
460 qcom,init-seq = /bits/ 8 <0x1 0x63>;
461};