]> Git Repo - u-boot.git/blob - src/arm64/qcom/qrb2210-rb1.dts
Squashed 'dts/upstream/' changes from b35b9bd1d4ee..7e08733c96c8
[u-boot.git] / src / arm64 / qcom / qrb2210-rb1.dts
1 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2 /*
3  * Copyright (c) 2023, Linaro Ltd
4  */
5
6 /dts-v1/;
7
8 #include <dt-bindings/leds/common.h>
9 #include "qcm2290.dtsi"
10 #include "pm4125.dtsi"
11
12 / {
13         model = "Qualcomm Technologies, Inc. Robotics RB1";
14         compatible = "qcom,qrb2210-rb1", "qcom,qrb2210", "qcom,qcm2290";
15
16         aliases {
17                 serial0 = &uart4;
18                 sdhc1 = &sdhc_1;
19                 sdhc2 = &sdhc_2;
20         };
21
22         chosen {
23                 stdout-path = "serial0:115200n8";
24         };
25
26         clocks {
27                 clk40M: can-clk {
28                         compatible = "fixed-clock";
29                         clock-frequency = <40000000>;
30                         #clock-cells = <0>;
31                 };
32         };
33
34         gpio-keys {
35                 compatible = "gpio-keys";
36                 label = "gpio-keys";
37
38                 pinctrl-0 = <&key_volp_n>;
39                 pinctrl-names = "default";
40
41                 key-volume-up {
42                         label = "Volume Up";
43                         linux,code = <KEY_VOLUMEUP>;
44                         gpios = <&tlmm 96 GPIO_ACTIVE_LOW>;
45                         debounce-interval = <15>;
46                         linux,can-disable;
47                         wakeup-source;
48                 };
49         };
50
51         hdmi-connector {
52                 compatible = "hdmi-connector";
53                 type = "a";
54
55                 port {
56                         hdmi_con: endpoint {
57                                 remote-endpoint = <&lt9611_out>;
58                         };
59                 };
60         };
61
62         leds {
63                 compatible = "gpio-leds";
64
65                 led-bt {
66                         label = "blue:bt";
67                         function = LED_FUNCTION_BLUETOOTH;
68                         color = <LED_COLOR_ID_BLUE>;
69                         gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>;
70                         linux,default-trigger = "bluetooth-power";
71                         default-state = "off";
72                 };
73
74                 led-user0 {
75                         label = "green:user0";
76                         function = LED_FUNCTION_INDICATOR;
77                         color = <LED_COLOR_ID_GREEN>;
78                         gpios = <&tlmm 52 GPIO_ACTIVE_HIGH>;
79                         linux,default-trigger = "none";
80                         default-state = "off";
81                         panic-indicator;
82                 };
83
84                 led-wlan {
85                         label = "yellow:wlan";
86                         function = LED_FUNCTION_WLAN;
87                         color = <LED_COLOR_ID_YELLOW>;
88                         gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>;
89                         linux,default-trigger = "phy0tx";
90                         default-state = "off";
91                 };
92         };
93
94         vreg_hdmi_out_1p2: regulator-hdmi-out-1p2 {
95                 compatible = "regulator-fixed";
96                 regulator-name = "VREG_HDMI_OUT_1P2";
97                 regulator-min-microvolt = <1200000>;
98                 regulator-max-microvolt = <1200000>;
99                 vin-supply = <&vdc_1v2>;
100                 regulator-always-on;
101                 regulator-boot-on;
102         };
103
104         lt9611_3v3: regulator-lt9611-3v3 {
105                 compatible = "regulator-fixed";
106                 regulator-name = "LT9611_3V3";
107                 regulator-min-microvolt = <3300000>;
108                 regulator-max-microvolt = <3300000>;
109                 vin-supply = <&vdc_3v3>;
110                 regulator-always-on;
111                 regulator-boot-on;
112         };
113
114         /* Main barrel jack input */
115         vdc_12v: regulator-vdc-12v {
116                 compatible = "regulator-fixed";
117                 regulator-name = "DC_12V";
118                 regulator-min-microvolt = <12000000>;
119                 regulator-max-microvolt = <12000000>;
120                 regulator-always-on;
121                 regulator-boot-on;
122         };
123
124         /* 1.2V supply stepped down from the barrel jack input */
125         vdc_1v2: regulator-vdc-1v2 {
126                 compatible = "regulator-fixed";
127                 regulator-name = "VDC_1V2";
128                 regulator-min-microvolt = <1200000>;
129                 regulator-max-microvolt = <1200000>;
130                 vin-supply = <&vdc_12v>;
131                 regulator-always-on;
132                 regulator-boot-on;
133         };
134
135         /* 3.3V supply stepped down from the barrel jack input */
136         vdc_3v3: regulator-vdc-3v3 {
137                 compatible = "regulator-fixed";
138                 regulator-name = "VDC_3V3";
139                 regulator-min-microvolt = <3300000>;
140                 regulator-max-microvolt = <3300000>;
141                 vin-supply = <&vdc_12v>;
142                 regulator-always-on;
143                 regulator-boot-on;
144         };
145
146         /* 5V supply stepped down from the barrel jack input */
147         vdc_5v: regulator-vdc-5v {
148                 compatible = "regulator-fixed";
149                 regulator-name = "VDC_5V";
150
151                 regulator-min-microvolt = <5000000>;
152                 regulator-max-microvolt = <5000000>;
153                 regulator-always-on;
154                 regulator-boot-on;
155         };
156
157         /* "Battery" voltage for the SoM, stepped down from the barrel jack input */
158         vdc_vbat_som: regulator-vdc-vbat {
159                 compatible = "regulator-fixed";
160                 regulator-name = "VBAT_SOM";
161                 regulator-min-microvolt = <4200000>;
162                 regulator-max-microvolt = <4200000>;
163                 regulator-always-on;
164                 regulator-boot-on;
165         };
166
167         /* PM2250 charger out, supplied by VBAT */
168         vph_pwr: regulator-vph-pwr {
169                 compatible = "regulator-fixed";
170                 regulator-name = "vph_pwr";
171                 regulator-min-microvolt = <3700000>;
172                 regulator-max-microvolt = <3700000>;
173                 vin-supply = <&vdc_vbat_som>;
174
175                 regulator-always-on;
176                 regulator-boot-on;
177         };
178 };
179
180 &CPU_PD0 {
181         /delete-property/ power-domains;
182 };
183
184 &CPU_PD1 {
185         /delete-property/ power-domains;
186 };
187
188 &CPU_PD2 {
189         /delete-property/ power-domains;
190 };
191
192 &CPU_PD3 {
193         /delete-property/ power-domains;
194 };
195
196 /delete-node/ &CLUSTER_PD;
197
198 &gpi_dma0 {
199         status = "okay";
200 };
201
202 &i2c2 {
203         clock-frequency = <400000>;
204         status = "okay";
205
206         lt9611_codec: hdmi-bridge@2b {
207                 compatible = "lontium,lt9611uxc";
208                 reg = <0x2b>;
209                 interrupts-extended = <&tlmm 46 IRQ_TYPE_EDGE_FALLING>;
210                 reset-gpios = <&tlmm 41 GPIO_ACTIVE_HIGH>;
211
212                 vdd-supply = <&vreg_hdmi_out_1p2>;
213                 vcc-supply = <&lt9611_3v3>;
214
215                 pinctrl-0 = <&lt9611_irq_pin &lt9611_rst_pin>;
216                 pinctrl-names = "default";
217                 #sound-dai-cells = <1>;
218
219                 ports {
220                         #address-cells = <1>;
221                         #size-cells = <0>;
222
223                         port@0 {
224                                 reg = <0>;
225
226                                 lt9611_a: endpoint {
227                                         remote-endpoint = <&mdss_dsi0_out>;
228                                 };
229                         };
230
231                         port@2 {
232                                 reg = <2>;
233
234                                 lt9611_out: endpoint {
235                                         remote-endpoint = <&hdmi_con>;
236                                 };
237                         };
238                 };
239         };
240 };
241
242 &mdss {
243         status = "okay";
244 };
245
246 &mdss_dsi0 {
247         vdda-supply = <&pm4125_l5>;
248         status = "okay";
249 };
250
251 &mdss_dsi0_out {
252         remote-endpoint = <&lt9611_a>;
253         data-lanes = <0 1 2 3>;
254 };
255
256 &mdss_dsi0_phy {
257         status = "okay";
258 };
259
260 &pm4125_resin {
261         linux,code = <KEY_VOLUMEDOWN>;
262         status = "okay";
263 };
264
265 &qupv3_id_0 {
266         status = "okay";
267 };
268
269 &remoteproc_adsp {
270         firmware-name = "qcom/qcm2290/adsp.mbn";
271         status = "okay";
272 };
273
274 &remoteproc_mpss {
275         firmware-name = "qcom/qcm2290/modem.mbn";
276         status = "okay";
277 };
278
279 &rpm_requests {
280         regulators {
281                 compatible = "qcom,rpm-pm2250-regulators";
282                 vdd_s3-supply = <&vph_pwr>;
283                 vdd_s4-supply = <&vph_pwr>;
284                 vdd_l1_l2_l3_l5_l6_l7_l8_l9_l10_l11_l12-supply = <&pm4125_s3>;
285                 vdd_l4_l17_l18_l19_l20_l21_l22-supply = <&vph_pwr>;
286                 vdd_l13_l14_l15_l16-supply = <&pm4125_s4>;
287
288                 /*
289                  * S1 - VDD_APC
290                  * S2 - VDD_CX
291                  */
292
293                 pm4125_s3: s3 {
294                         /* 0.4V-1.6625V -> 1.3V (Power tree requirements) */
295                         regulator-min-microvolt = <1352000>;
296                         regulator-max-microvolt = <1352000>;
297                         regulator-boot-on;
298                 };
299
300                 pm4125_s4: s4 {
301                         /* 1.2V-2.35V -> 2.05V (Power tree requirements) */
302                         regulator-min-microvolt = <2072000>;
303                         regulator-max-microvolt = <2072000>;
304                         regulator-boot-on;
305                 };
306
307                 /* L1 - VDD_MX */
308
309                 pm4125_l2: l2 {
310                         /* LPDDR4X VDD2 */
311                         regulator-min-microvolt = <1136000>;
312                         regulator-max-microvolt = <1136000>;
313                         regulator-always-on;
314                         regulator-boot-on;
315                 };
316
317                 pm4125_l3: l3 {
318                         /* LPDDR4X VDDQ */
319                         regulator-min-microvolt = <616000>;
320                         regulator-max-microvolt = <616000>;
321                         regulator-always-on;
322                         regulator-boot-on;
323                 };
324
325                 pm4125_l4: l4 {
326                         /* max = 3.05V -> max = 2.7 to disable 3V signaling (SDHCI2) */
327                         regulator-min-microvolt = <1800000>;
328                         regulator-max-microvolt = <2700000>;
329                         regulator-allow-set-load;
330                 };
331
332                 pm4125_l5: l5 {
333                         /* CSI/DSI */
334                         regulator-min-microvolt = <1232000>;
335                         regulator-max-microvolt = <1232000>;
336                         regulator-allow-set-load;
337                         regulator-boot-on;
338                 };
339
340                 pm4125_l6: l6 {
341                         /* DRAM PLL */
342                         regulator-min-microvolt = <928000>;
343                         regulator-max-microvolt = <928000>;
344                         regulator-always-on;
345                         regulator-boot-on;
346                 };
347
348                 pm4125_l7: l7 {
349                         /* Wi-Fi CX/MX */
350                         regulator-min-microvolt = <664000>;
351                         regulator-max-microvolt = <664000>;
352                 };
353
354                 /*
355                  * L8 - VDD_LPI_CX
356                  * L9 - VDD_LPI_MX
357                  */
358
359                 pm4125_l10: l10 {
360                         /* Wi-Fi RFA */
361                         regulator-min-microvolt = <1304000>;
362                         regulator-max-microvolt = <1304000>;
363                 };
364
365                 pm4125_l11: l11 {
366                         /* GPS RF1 */
367                         regulator-min-microvolt = <1000000>;
368                         regulator-max-microvolt = <1000000>;
369                         regulator-boot-on;
370                 };
371
372                 pm4125_l12: l12 {
373                         /* USB PHYs */
374                         regulator-min-microvolt = <928000>;
375                         regulator-max-microvolt = <928000>;
376                         regulator-allow-set-load;
377                         regulator-boot-on;
378                 };
379
380                 pm4125_l13: l13 {
381                         /* USB/QFPROM/PLLs */
382                         regulator-min-microvolt = <1800000>;
383                         regulator-max-microvolt = <1800000>;
384                         regulator-allow-set-load;
385                         regulator-boot-on;
386                 };
387
388                 pm4125_l14: l14 {
389                         /* SDHCI1 VQMMC */
390                         regulator-min-microvolt = <1800000>;
391                         regulator-max-microvolt = <1800000>;
392                         regulator-allow-set-load;
393                         /* Broken hardware, never turn it off! */
394                         regulator-always-on;
395                 };
396
397                 pm4125_l15: l15 {
398                         /* WCD/DSI/BT VDDIO */
399                         regulator-min-microvolt = <1800000>;
400                         regulator-max-microvolt = <1800000>;
401                         regulator-allow-set-load;
402                         regulator-always-on;
403                         regulator-boot-on;
404                 };
405
406                 pm4125_l16: l16 {
407                         /* GPS RF2 */
408                         regulator-min-microvolt = <1800000>;
409                         regulator-max-microvolt = <1800000>;
410                         regulator-boot-on;
411                 };
412
413                 pm4125_l17: l17 {
414                         regulator-min-microvolt = <3000000>;
415                         regulator-max-microvolt = <3000000>;
416                 };
417
418                 pm4125_l18: l18 {
419                         /* VDD_PXn */
420                         regulator-min-microvolt = <1800000>;
421                         regulator-max-microvolt = <1800000>;
422                 };
423
424                 pm4125_l19: l19 {
425                         /* VDD_PXn */
426                         regulator-min-microvolt = <1800000>;
427                         regulator-max-microvolt = <1800000>;
428                 };
429
430                 pm4125_l20: l20 {
431                         /* SDHCI1 VMMC */
432                         regulator-min-microvolt = <2400000>;
433                         regulator-max-microvolt = <3600000>;
434                         regulator-allow-set-load;
435                 };
436
437                 pm4125_l21: l21 {
438                         /* SDHCI2 VMMC */
439                         regulator-min-microvolt = <2960000>;
440                         regulator-max-microvolt = <3300000>;
441                         regulator-allow-set-load;
442                         regulator-boot-on;
443                 };
444
445                 pm4125_l22: l22 {
446                         /* Wi-Fi */
447                         regulator-min-microvolt = <3312000>;
448                         regulator-max-microvolt = <3312000>;
449                 };
450         };
451 };
452
453 &sdhc_1 {
454         vmmc-supply = <&pm4125_l20>;
455         vqmmc-supply = <&pm4125_l14>;
456         pinctrl-0 = <&sdc1_state_on>;
457         pinctrl-1 = <&sdc1_state_off>;
458         pinctrl-names = "default", "sleep";
459         non-removable;
460         supports-cqe;
461         no-sdio;
462         no-sd;
463         status = "okay";
464 };
465
466 &sdhc_2 {
467         vmmc-supply = <&pm4125_l21>;
468         vqmmc-supply = <&pm4125_l4>;
469         cd-gpios = <&tlmm 88 GPIO_ACTIVE_LOW>;
470         pinctrl-0 = <&sdc2_state_on &sd_det_in_on>;
471         pinctrl-1 = <&sdc2_state_off &sd_det_in_off>;
472         pinctrl-names = "default", "sleep";
473         no-sdio;
474         no-mmc;
475         status = "okay";
476 };
477
478 &spi5 {
479         status = "okay";
480
481         can@0 {
482                 compatible = "microchip,mcp2518fd";
483                 reg = <0>;
484                 interrupts-extended = <&tlmm 39 IRQ_TYPE_LEVEL_LOW>;
485                 clocks = <&clk40M>;
486                 spi-max-frequency = <10000000>;
487                 vdd-supply = <&vdc_5v>;
488                 xceiver-supply = <&vdc_5v>;
489         };
490 };
491
492 &tlmm {
493         lt9611_rst_pin: lt9611-rst-state {
494                 pins = "gpio41";
495                 function = "gpio";
496                 input-disable;
497                 output-high;
498         };
499
500         lt9611_irq_pin: lt9611-irq-state {
501                 pins = "gpio46";
502                 function = "gpio";
503                 bias-disable;
504         };
505
506         sd_det_in_on: sd-det-in-on-state {
507                 pins = "gpio88";
508                 function = "gpio";
509                 drive-strength = <2>;
510                 bias-pull-up;
511         };
512
513         sd_det_in_off: sd-det-in-off-state {
514                 pins = "gpio88";
515                 function = "gpio";
516                 drive-strength = <2>;
517                 bias-disable;
518         };
519
520         key_volp_n: key-volp-n-state {
521                 pins = "gpio96";
522                 function = "gpio";
523                 bias-pull-up;
524                 output-disable;
525         };
526 };
527
528 /* UART connected to the Micro-USB port via a FTDI chip */
529 &uart4 {
530         compatible = "qcom,geni-debug-uart";
531         status = "okay";
532 };
533
534 &usb {
535         status = "okay";
536 };
537
538 &usb_qmpphy {
539         vdda-phy-supply = <&pm4125_l12>;
540         vdda-pll-supply = <&pm4125_l13>;
541         status = "okay";
542 };
543
544 &usb_dwc3 {
545         dr_mode = "host";
546 };
547
548 &usb_hsphy {
549         vdd-supply = <&pm4125_l12>;
550         vdda-pll-supply = <&pm4125_l13>;
551         vdda-phy-dpdm-supply = <&pm4125_l21>;
552         status = "okay";
553 };
554
555 &wifi {
556         vdd-0.8-cx-mx-supply = <&pm4125_l7>;
557         vdd-1.8-xo-supply = <&pm4125_l13>;
558         vdd-1.3-rfa-supply = <&pm4125_l10>;
559         vdd-3.3-ch0-supply = <&pm4125_l22>;
560         qcom,ath10k-calibration-variant = "Thundercomm_RB1";
561         status = "okay";
562 };
563
564 &xo_board {
565         clock-frequency = <38400000>;
566 };
This page took 0.070601 seconds and 4 git commands to generate.