Merge tag 'amdtee-fix-for-v6.6' of https://git.linaro.org/people/jens.wiklander/linux...
[linux-2.6-microblaze.git] / arch / arm64 / boot / dts / qcom / qrb4210-rb2.dts
1 // SPDX-License-Identifier: BSD-3-Clause
2 /*
3  * Copyright (c) 2023, Linaro Limited
4  */
5
6 /dts-v1/;
7
8 #include <dt-bindings/leds/common.h>
9 #include "sm4250.dtsi"
10 #include "pm6125.dtsi"
11
12 / {
13         model = "Qualcomm Technologies, Inc. QRB4210 RB2";
14         compatible = "qcom,qrb4210-rb2", "qcom,qrb4210", "qcom,sm4250";
15
16         aliases {
17                 serial0 = &uart4;
18         };
19
20         chosen {
21                 stdout-path = "serial0:115200n8";
22         };
23
24         clocks {
25                 clk40M: can-clk {
26                         compatible = "fixed-clock";
27                         clock-frequency = <40000000>;
28                         #clock-cells = <0>;
29                 };
30         };
31
32         gpio-keys {
33                 compatible = "gpio-keys";
34                 label = "gpio-keys";
35
36                 pinctrl-0 = <&kypd_vol_up_n>;
37                 pinctrl-names = "default";
38
39                 key-volume-up {
40                         label = "Volume Up";
41                         linux,code = <KEY_VOLUMEUP>;
42                         gpios = <&pm6125_gpios 5 GPIO_ACTIVE_LOW>;
43                         debounce-interval = <15>;
44                         linux,can-disable;
45                         wakeup-source;
46                 };
47         };
48
49         hdmi-connector {
50                 compatible = "hdmi-connector";
51                 type = "a";
52
53                 port {
54                         hdmi_con: endpoint {
55                                 remote-endpoint = <&lt9611_out>;
56                         };
57                 };
58         };
59
60         leds {
61                 compatible = "gpio-leds";
62
63                 led-bt {
64                         label = "blue:bt";
65                         function = LED_FUNCTION_BLUETOOTH;
66                         color = <LED_COLOR_ID_BLUE>;
67                         gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>;
68                         linux,default-trigger = "bluetooth-power";
69                         default-state = "off";
70                 };
71
72                 led-user0 {
73                         label = "green:user0";
74                         function = LED_FUNCTION_INDICATOR;
75                         color = <LED_COLOR_ID_GREEN>;
76                         gpios = <&tlmm 52 GPIO_ACTIVE_HIGH>;
77                         linux,default-trigger = "none";
78                         default-state = "off";
79                         panic-indicator;
80                 };
81
82                 led-wlan {
83                         label = "yellow:wlan";
84                         function = LED_FUNCTION_WLAN;
85                         color = <LED_COLOR_ID_YELLOW>;
86                         gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>;
87                         linux,default-trigger = "phy0tx";
88                         default-state = "off";
89                 };
90         };
91
92         vreg_hdmi_out_1p2: regulator-hdmi-out-1p2 {
93                 compatible = "regulator-fixed";
94                 regulator-name = "VREG_HDMI_OUT_1P2";
95                 regulator-min-microvolt = <1200000>;
96                 regulator-max-microvolt = <1200000>;
97                 vin-supply = <&vdc_1v2>;
98                 regulator-always-on;
99                 regulator-boot-on;
100         };
101
102         lt9611_3v3: regulator-lt9611-3v3 {
103                 compatible = "regulator-fixed";
104                 regulator-name = "LT9611_3V3";
105                 regulator-min-microvolt = <3300000>;
106                 regulator-max-microvolt = <3300000>;
107                 vin-supply = <&vdc_3v3>;
108                 regulator-always-on;
109                 regulator-boot-on;
110         };
111
112         /* Main barrel jack input */
113         vdc_12v: regulator-vdc-12v {
114                 compatible = "regulator-fixed";
115                 regulator-name = "DC_12V";
116                 regulator-min-microvolt = <12000000>;
117                 regulator-max-microvolt = <12000000>;
118                 regulator-always-on;
119                 regulator-boot-on;
120         };
121
122         /* 1.2V supply stepped down from the barrel jack input */
123         vdc_1v2: regulator-vdc-1v2 {
124                 compatible = "regulator-fixed";
125                 regulator-name = "VDC_1V2";
126                 regulator-min-microvolt = <1200000>;
127                 regulator-max-microvolt = <1200000>;
128                 vin-supply = <&vdc_12v>;
129                 regulator-always-on;
130                 regulator-boot-on;
131         };
132
133         /* 3.3V supply stepped down from the barrel jack input */
134         vdc_3v3: regulator-vdc-3v3 {
135                 compatible = "regulator-fixed";
136                 regulator-name = "VDC_3V3";
137                 regulator-min-microvolt = <3300000>;
138                 regulator-max-microvolt = <3300000>;
139                 vin-supply = <&vdc_12v>;
140                 regulator-always-on;
141                 regulator-boot-on;
142         };
143
144         /* 5V supply stepped down from the barrel jack input */
145         vdc_5v: regulator-vdc-5v {
146                 compatible = "regulator-fixed";
147                 regulator-name = "VDC_5V";
148
149                 regulator-min-microvolt = <5000000>;
150                 regulator-max-microvolt = <5000000>;
151                 regulator-always-on;
152                 regulator-boot-on;
153         };
154
155         /* "Battery" voltage for the SoM, stepped down from the barrel jack input */
156         vdc_vbat_som: regulator-vdc-vbat {
157                 compatible = "regulator-fixed";
158                 regulator-name = "VBAT_SOM";
159                 regulator-min-microvolt = <4200000>;
160                 regulator-max-microvolt = <4200000>;
161                 regulator-always-on;
162                 regulator-boot-on;
163         };
164
165         /* PMI632 charger out, supplied by VBAT */
166         vph_pwr: regulator-vph-pwr {
167                 compatible = "regulator-fixed";
168                 regulator-name = "vph_pwr";
169                 regulator-min-microvolt = <3700000>;
170                 regulator-max-microvolt = <3700000>;
171                 vin-supply = <&vdc_vbat_som>;
172
173                 regulator-always-on;
174                 regulator-boot-on;
175         };
176 };
177
178 &gpi_dma0 {
179         status = "okay";
180 };
181
182 &gpu {
183         status = "okay";
184
185         zap-shader {
186                 firmware-name = "qcom/qrb4210/a610_zap.mbn";
187         };
188 };
189
190 &i2c2 {
191         clock-frequency = <400000>;
192         status = "okay";
193
194         lt9611_codec: hdmi-bridge@2b {
195                 compatible = "lontium,lt9611uxc";
196                 reg = <0x2b>;
197                 interrupts-extended = <&tlmm 46 IRQ_TYPE_EDGE_FALLING>;
198                 reset-gpios = <&tlmm 41 GPIO_ACTIVE_HIGH>;
199
200                 vdd-supply = <&vreg_hdmi_out_1p2>;
201                 vcc-supply = <&lt9611_3v3>;
202
203                 pinctrl-0 = <&lt9611_irq_pin &lt9611_rst_pin>;
204                 pinctrl-names = "default";
205                 #sound-dai-cells = <1>;
206
207                 ports {
208                         #address-cells = <1>;
209                         #size-cells = <0>;
210
211                         port@0 {
212                                 reg = <0>;
213
214                                 lt9611_a: endpoint {
215                                         remote-endpoint = <&mdss_dsi0_out>;
216                                 };
217                         };
218
219                         port@2 {
220                                 reg = <2>;
221
222                                 lt9611_out: endpoint {
223                                         remote-endpoint = <&hdmi_con>;
224                                 };
225                         };
226                 };
227         };
228 };
229
230 &mdss {
231         status = "okay";
232 };
233
234 &mdss_dsi0 {
235         vdda-supply = <&vreg_l18a_1p232>;
236         status = "okay";
237 };
238
239 &mdss_dsi0_out {
240         remote-endpoint = <&lt9611_a>;
241         data-lanes = <0 1 2 3>;
242 };
243
244 &mdss_dsi0_phy {
245         status = "okay";
246 };
247
248 &pm6125_gpios {
249         kypd_vol_up_n: kypd-vol-up-n-state {
250                 pins = "gpio5";
251                 function = "normal";
252                 power-source = <0>;
253                 bias-pull-up;
254                 input-enable;
255         };
256 };
257
258 &pon_pwrkey {
259         status = "okay";
260 };
261
262 &pon_resin {
263         linux,code = <KEY_VOLUMEDOWN>;
264         status = "okay";
265 };
266
267 &qupv3_id_0 {
268         status = "okay";
269 };
270
271 &remoteproc_adsp {
272         firmware-name = "qcom/qrb4210/adsp.mbn";
273
274         status = "okay";
275 };
276
277 &remoteproc_cdsp {
278         firmware-name = "qcom/qrb4210/cdsp.mbn";
279
280         status = "okay";
281 };
282
283 &rpm_requests {
284         regulators {
285                 compatible = "qcom,rpm-pm6125-regulators";
286
287                 vdd-s1-supply = <&vph_pwr>;
288                 vdd-s2-supply = <&vph_pwr>;
289                 vdd-s3-supply = <&vph_pwr>;
290                 vdd-s4-supply = <&vph_pwr>;
291                 vdd-s5-supply = <&vph_pwr>;
292                 vdd-s6-supply = <&vph_pwr>;
293                 vdd-s7-supply = <&vph_pwr>;
294                 vdd-s8-supply = <&vph_pwr>;
295                 vdd-s9-supply = <&vph_pwr>;
296                 vdd-s10-supply = <&vph_pwr>;
297
298                 vdd-l1-l7-l17-l18-supply = <&vreg_s6a_1p352>;
299                 vdd-l2-l3-l4-supply = <&vreg_s6a_1p352>;
300                 vdd-l5-l15-l19-l20-l21-l22-supply = <&vph_pwr>;
301                 vdd-l6-l8-supply = <&vreg_s5a_0p848>;
302                 vdd-l9-l11-supply = <&vreg_s7a_2p04>;
303                 vdd-l10-l13-l14-supply = <&vreg_s7a_2p04>;
304                 vdd-l12-l16-supply = <&vreg_s7a_2p04>;
305                 vdd-l23-l24-supply = <&vph_pwr>;
306
307                 vreg_s5a_0p848: s5 {
308                         regulator-min-microvolt = <920000>;
309                         regulator-max-microvolt = <1128000>;
310                 };
311
312                 vreg_s6a_1p352: s6 {
313                         regulator-min-microvolt = <304000>;
314                         regulator-max-microvolt = <1456000>;
315                 };
316
317                 vreg_s7a_2p04: s7 {
318                         regulator-min-microvolt = <1280000>;
319                         regulator-max-microvolt = <2080000>;
320                 };
321
322                 vreg_l1a_1p0: l1 {
323                         regulator-min-microvolt = <952000>;
324                         regulator-max-microvolt = <1152000>;
325                 };
326
327                 vreg_l4a_0p9: l4 {
328                         regulator-min-microvolt = <488000>;
329                         regulator-max-microvolt = <1000000>;
330                 };
331
332                 vreg_l5a_2p96: l5 {
333                         regulator-min-microvolt = <1648000>;
334                         regulator-max-microvolt = <3056000>;
335                         regulator-allow-set-load;
336                 };
337
338                 vreg_l6a_0p6: l6 {
339                         regulator-min-microvolt = <576000>;
340                         regulator-max-microvolt = <656000>;
341                 };
342
343                 vreg_l7a_1p256: l7 {
344                         regulator-min-microvolt = <1200000>;
345                         regulator-max-microvolt = <1304000>;
346                 };
347
348                 vreg_l8a_0p664: l8 {
349                         regulator-min-microvolt = <400000>;
350                         regulator-max-microvolt = <728000>;
351                 };
352
353                 vreg_l9a_1p8: l9 {
354                         regulator-min-microvolt = <1800000>;
355                         regulator-max-microvolt = <2000000>;
356                 };
357
358                 vreg_l10a_1p8: l10 {
359                         regulator-min-microvolt = <1704000>;
360                         regulator-max-microvolt = <1904000>;
361                 };
362
363                 vreg_l11a_1p8: l11 {
364                         regulator-min-microvolt = <1704000>;
365                         regulator-max-microvolt = <1952000>;
366                         regulator-allow-set-load;
367                 };
368
369                 vreg_l12a_1p8: l12 {
370                         regulator-min-microvolt = <1624000>;
371                         regulator-max-microvolt = <1984000>;
372                 };
373
374                 vreg_l13a_1p8: l13 {
375                         regulator-min-microvolt = <1504000>;
376                         regulator-max-microvolt = <1952000>;
377                 };
378
379                 vreg_l14a_1p8: l14 {
380                         regulator-min-microvolt = <1704000>;
381                         regulator-max-microvolt = <1904000>;
382                 };
383
384                 vreg_l15a_3p128: l15 {
385                         regulator-min-microvolt = <2920000>;
386                         regulator-max-microvolt = <3232000>;
387                 };
388
389                 vreg_l16a_1p3: l16 {
390                         regulator-min-microvolt = <1704000>;
391                         regulator-max-microvolt = <1904000>;
392                 };
393
394                 vreg_l17a_1p3: l17 {
395                         regulator-min-microvolt = <1152000>;
396                         regulator-max-microvolt = <1384000>;
397                 };
398
399                 vreg_l18a_1p232: l18 {
400                         regulator-min-microvolt = <1104000>;
401                         regulator-max-microvolt = <1312000>;
402                 };
403
404                 vreg_l19a_1p8: l19 {
405                         regulator-min-microvolt = <1624000>;
406                         regulator-max-microvolt = <3304000>;
407                 };
408
409                 vreg_l20a_1p8: l20 {
410                         regulator-min-microvolt = <1624000>;
411                         regulator-max-microvolt = <3304000>;
412                 };
413
414                 vreg_l21a_2p704: l21 {
415                         regulator-min-microvolt = <2400000>;
416                         regulator-max-microvolt = <3600000>;
417                 };
418
419                 vreg_l22a_2p96: l22 {
420                         regulator-min-microvolt = <2952000>;
421                         regulator-max-microvolt = <3304000>;
422                         regulator-system-load = <100000>;
423                         regulator-allow-set-load;
424                 };
425
426                 vreg_l23a_3p3: l23 {
427                         regulator-min-microvolt = <3200000>;
428                         regulator-max-microvolt = <3400000>;
429                 };
430
431                 vreg_l24a_2p96: l24 {
432                         regulator-min-microvolt = <2704000>;
433                         regulator-max-microvolt = <3600000>;
434                         regulator-system-load = <100000>;
435                         regulator-allow-set-load;
436                 };
437         };
438 };
439
440 &sdhc_1 {
441         pinctrl-0 = <&sdc1_state_on>;
442         pinctrl-1 = <&sdc1_state_off>;
443         pinctrl-names = "default", "sleep";
444
445         vmmc-supply = <&vreg_l24a_2p96>;
446         vqmmc-supply = <&vreg_l11a_1p8>;
447         no-sdio;
448         non-removable;
449
450         status = "okay";
451 };
452
453 &sdhc_2 {
454         cd-gpios = <&tlmm 88 GPIO_ACTIVE_LOW>; /* card detect gpio */
455
456         pinctrl-0 = <&sdc2_state_on &sdc2_card_det_n>;
457         pinctrl-1 = <&sdc2_state_off &sdc2_card_det_n>;
458         pinctrl-names = "default", "sleep";
459
460         vmmc-supply = <&vreg_l22a_2p96>;
461         vqmmc-supply = <&vreg_l5a_2p96>;
462         no-sdio;
463
464         status = "okay";
465 };
466
467 &spi5 {
468         status = "okay";
469
470         can@0 {
471                 compatible = "microchip,mcp2518fd";
472                 reg = <0>;
473                 interrupts-extended = <&tlmm 39 IRQ_TYPE_LEVEL_LOW>;
474                 clocks = <&clk40M>;
475                 spi-max-frequency = <10000000>;
476                 vdd-supply = <&vdc_5v>;
477                 xceiver-supply = <&vdc_5v>;
478         };
479 };
480
481 &sleep_clk {
482         clock-frequency = <32000>;
483 };
484
485 &tlmm {
486         gpio-reserved-ranges = <43 2>, <49 1>, <54 1>,
487                                <56 3>, <61 2>, <64 1>,
488                                <68 1>, <72 8>, <96 1>;
489
490         lt9611_rst_pin: lt9611-rst-state {
491                 pins = "gpio41";
492                 function = "gpio";
493                 input-disable;
494                 output-high;
495         };
496
497         lt9611_irq_pin: lt9611-irq-state {
498                 pins = "gpio46";
499                 function = "gpio";
500                 bias-disable;
501         };
502
503         sdc2_card_det_n: sd-card-det-n-state {
504                 pins = "gpio88";
505                 function = "gpio";
506                 drive-strength = <2>;
507                 bias-pull-up;
508         };
509 };
510
511 &uart4 {
512         status = "okay";
513 };
514
515 &usb {
516         status = "okay";
517 };
518
519 &usb_dwc3 {
520         maximum-speed = "super-speed";
521         dr_mode = "peripheral";
522 };
523
524 &usb_hsphy {
525         vdd-supply = <&vreg_l4a_0p9>;
526         vdda-pll-supply = <&vreg_l12a_1p8>;
527         vdda-phy-dpdm-supply = <&vreg_l15a_3p128>;
528
529         status = "okay";
530 };
531
532 &usb_qmpphy {
533         vdda-phy-supply = <&vreg_l4a_0p9>;
534         vdda-pll-supply = <&vreg_l12a_1p8>;
535
536         status = "okay";
537 };
538
539 &xo_board {
540         clock-frequency = <19200000>;
541 };