1a4a0e55ea369cc8bc20311b0006d36c8f60d70d
[platform/kernel/linux-rpi.git] / arch / arm / boot / dts / broadcom / bcm2712-rpi-5-b.dts
1 // SPDX-License-Identifier: GPL-2.0
2 /dts-v1/;
3
4 #include <dt-bindings/gpio/gpio.h>
5 #include <dt-bindings/clock/rp1.h>
6 #include <dt-bindings/interrupt-controller/irq.h>
7 #include <dt-bindings/mfd/rp1.h>
8 #include <dt-bindings/pwm/pwm.h>
9 #include <dt-bindings/reset/raspberrypi,firmware-reset.h>
10
11 #define i2c0 _i2c0
12 #define i2c3 _i2c3
13 #define i2c4 _i2c4
14 #define i2c5 _i2c5
15 #define i2c6 _i2c6
16 #define i2c8 _i2c8
17 #define i2s _i2s
18 #define pwm0 _pwm0
19 #define pwm1 _pwm1
20 #define spi0 _spi0
21 #define spi3 _spi3
22 #define spi4 _spi4
23 #define spi5 _spi5
24 #define spi6 _spi6
25 #define uart0 _uart0
26 #define uart2 _uart2
27 #define uart5 _uart5
28
29 #include "bcm2712.dtsi"
30
31 #undef i2c0
32 #undef i2c3
33 #undef i2c4
34 #undef i2c5
35 #undef i2c6
36 #undef i2c8
37 #undef i2s
38 #undef pwm0
39 #undef pwm1
40 #undef spi0
41 #undef spi3
42 #undef spi4
43 #undef spi5
44 #undef spi6
45 #undef uart0
46 #undef uart2
47 #undef uart3
48 #undef uart4
49 #undef uart5
50
51 / {
52         compatible = "raspberrypi,5-model-b", "brcm,bcm2712";
53         model = "Raspberry Pi 5";
54
55         /* Will be filled by the bootloader */
56         memory@0 {
57                 device_type = "memory";
58                 reg = <0 0 0x28000000>;
59         };
60
61         leds: leds {
62                 compatible = "gpio-leds";
63
64                 led_pwr: led-pwr {
65                         label = "PWR";
66                         gpios = <&rp1_gpio 44 GPIO_ACTIVE_LOW>;
67                         default-state = "off";
68                         linux,default-trigger = "none";
69                 };
70
71                 led_act: led-act {
72                         label = "ACT";
73                         gpios = <&gio_aon 9 GPIO_ACTIVE_LOW>;
74                         default-state = "off";
75                         linux,default-trigger = "mmc0";
76                 };
77         };
78
79         sd_io_1v8_reg: sd_io_1v8_reg {
80                 compatible = "regulator-gpio";
81                 regulator-name = "vdd-sd-io";
82                 regulator-min-microvolt = <1800000>;
83                 regulator-max-microvolt = <3300000>;
84                 regulator-boot-on;
85                 regulator-always-on;
86                 regulator-settling-time-us = <5000>;
87                 gpios = <&gio_aon 3 GPIO_ACTIVE_HIGH>;
88                 states = <1800000 0x1
89                           3300000 0x0>;
90                 status = "okay";
91         };
92
93         sd_vcc_reg: sd_vcc_reg {
94                 compatible = "regulator-fixed";
95                 regulator-name = "vcc-sd";
96                 regulator-min-microvolt = <3300000>;
97                 regulator-max-microvolt = <3300000>;
98                 regulator-boot-on;
99                 enable-active-high;
100                 gpios = <&gio_aon 4 GPIO_ACTIVE_HIGH>;
101                 status = "okay";
102         };
103
104         wl_on_reg: wl_on_reg {
105                 compatible = "regulator-fixed";
106                 regulator-name = "wl-on-regulator";
107                 regulator-min-microvolt = <3300000>;
108                 regulator-max-microvolt = <3300000>;
109                 pinctrl-0 = <&wl_on_pins>;
110                 pinctrl-names = "default";
111
112                 gpio = <&gio 28 GPIO_ACTIVE_HIGH>;
113
114                 startup-delay-us = <150000>;
115                 enable-active-high;
116         };
117
118         clocks: clocks {
119         };
120
121         cam1_clk: cam1_clk {
122                 compatible = "fixed-clock";
123                 #clock-cells = <0>;
124                 status = "disabled";
125         };
126
127         cam0_clk: cam0_clk {
128                 compatible = "fixed-clock";
129                 #clock-cells = <0>;
130                 status = "disabled";
131         };
132
133         cam0_reg: cam0_reg {
134                 compatible = "regulator-fixed";
135                 regulator-name = "cam0_reg";
136                 enable-active-high;
137                 status = "okay";
138                 gpio = <&rp1_gpio 34 0>;  // CD0_IO0_MICCLK, to MIPI 0 connector
139         };
140
141         cam1_reg: cam1_reg {
142                 compatible = "regulator-fixed";
143                 regulator-name = "cam1_reg";
144                 enable-active-high;
145                 status = "okay";
146                 gpio = <&rp1_gpio 46 0>;  // CD1_IO0_MICCLK, to MIPI 1 connector
147         };
148
149         cam_dummy_reg: cam_dummy_reg {
150                 compatible = "regulator-fixed";
151                 regulator-name = "cam-dummy-reg";
152                 status = "okay";
153         };
154
155         dummy: dummy {
156                 // A target for unwanted overlay fragments
157         };
158
159
160         // A few extra labels to keep overlays happy
161
162         i2c0if: i2c0if {};
163         i2c0mux: i2c0mux {};
164 };
165
166 rp1_target: &pcie2 {
167         brcm,enable-mps-rcb;
168         brcm,vdm-qos-map = <0xbbaa9888>;
169         aspm-no-l0s;
170         status = "okay";
171 };
172
173 // Add some labels to 2712 device
174
175 // The system UART
176 uart10: &_uart0 { status = "okay"; };
177
178 // The system SPI for the bootloader EEPROM
179 spi10: &_spi0 { status = "okay"; };
180
181 i2c_rp1boot: &_i2c3 { };
182
183 #include "rp1.dtsi"
184
185 &rp1 {
186         // PCIe address space layout:
187         // 00_00000000-00_00xxxxxx = RP1 peripherals
188         // 10_00000000-1x_xxxxxxxx = up to 64GB system RAM
189
190         // outbound access aimed at PCIe 0_00xxxxxx -> RP1 c0_40xxxxxx
191         // This is the RP1 peripheral space
192         ranges = <0xc0 0x40000000
193                   0x02000000 0x00 0x00000000
194                   0x00 0x00400000>;
195
196         dma-ranges =
197         // inbound RP1 1x_xxxxxxxx -> PCIe 1x_xxxxxxxx
198                      <0x10 0x00000000
199                       0x43000000 0x10 0x00000000
200                       0x10 0x00000000>,
201
202         // inbound RP1 c0_40xxxxxx -> PCIe 00_00xxxxxx
203         // This allows the RP1 DMA controller to address RP1 hardware
204                      <0xc0 0x40000000
205                       0x02000000 0x0 0x00000000
206                       0x0 0x00400000>,
207
208         // inbound RP1 0x_xxxxxxxx -> PCIe 1x_xxxxxxxx
209                      <0x00 0x00000000
210                       0x02000000 0x10 0x00000000
211                       0x10 0x00000000>;
212 };
213
214 // Expose RP1 nodes as system nodes with labels
215
216 &rp1_dma  {
217         status = "okay";
218 };
219
220 &rp1_eth {
221         status = "okay";
222         phy-handle = <&phy1>;
223         phy-reset-gpios = <&rp1_gpio 32 GPIO_ACTIVE_LOW>;
224         phy-reset-duration = <5>;
225
226         phy1: ethernet-phy@1 {
227                 reg = <0x1>;
228                 brcm,powerdown-enable;
229         };
230 };
231
232 gpio: &rp1_gpio {
233         status = "okay";
234 };
235
236 aux: &dummy {};
237
238 &rp1_usb0 {
239         pinctrl-0 = <&usb_vbus_pins>;
240         pinctrl-names = "default";
241         status = "okay";
242 };
243
244 &rp1_usb1 {
245         status = "okay";
246 };
247
248 #include "bcm2712-rpi.dtsi"
249
250 i2c_csi_dsi0: &i2c6 { // Note: This is for MIPI0 connector only
251         pinctrl-0 = <&rp1_i2c6_38_39>;
252         pinctrl-names = "default";
253         clock-frequency = <100000>;
254 };
255
256 i2c_csi_dsi1: &i2c4 { // Note: This is for MIPI1 connector only
257         pinctrl-0 = <&rp1_i2c4_40_41>;
258         pinctrl-names = "default";
259         clock-frequency = <100000>;
260 };
261
262 i2c_csi_dsi: &i2c_csi_dsi1 { }; // An alias for compatibility
263
264 csi0: &rp1_csi0 { };
265 csi1: &rp1_csi1 { };
266 dsi0: &rp1_dsi0 { };
267 dsi1: &rp1_dsi1 { };
268 dpi: &rp1_dpi { };
269 vec: &rp1_vec { };
270 dpi_gpio0:              &rp1_dpi_24bit_gpio0        { };
271 dpi_gpio1:              &rp1_dpi_24bit_gpio2        { };
272 dpi_18bit_cpadhi_gpio0: &rp1_dpi_18bit_cpadhi_gpio0 { };
273 dpi_18bit_cpadhi_gpio2: &rp1_dpi_18bit_cpadhi_gpio2 { };
274 dpi_18bit_gpio0:        &rp1_dpi_18bit_gpio0        { };
275 dpi_18bit_gpio2:        &rp1_dpi_18bit_gpio2        { };
276 dpi_16bit_cpadhi_gpio0: &rp1_dpi_16bit_cpadhi_gpio0 { };
277 dpi_16bit_cpadhi_gpio2: &rp1_dpi_16bit_cpadhi_gpio2 { };
278 dpi_16bit_gpio0:        &rp1_dpi_16bit_gpio0        { };
279 dpi_16bit_gpio2:        &rp1_dpi_16bit_gpio2        { };
280
281 /* Add the IOMMUs for some RP1 bus masters */
282
283 &csi0 {
284         iommus = <&iommu5>;
285 };
286
287 &csi1 {
288         iommus = <&iommu5>;
289 };
290
291 &dsi0 {
292         iommus = <&iommu5>;
293 };
294
295 &dsi1 {
296         iommus = <&iommu5>;
297 };
298
299 &dpi {
300         iommus = <&iommu5>;
301 };
302
303 &vec {
304         iommus = <&iommu5>;
305 };
306
307 &ddc0 {
308         status = "disabled";
309 };
310
311 &ddc1 {
312         status = "disabled";
313 };
314
315 &hdmi0 {
316         clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 0>, <&clk_27MHz>;
317         clock-names = "hdmi", "bvb", "audio", "cec";
318         status = "disabled";
319 };
320
321 &hdmi1 {
322         clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 1>, <&clk_27MHz>;
323         clock-names = "hdmi", "bvb", "audio", "cec";
324         status = "disabled";
325 };
326
327 &hvs {
328         clocks = <&firmware_clocks 4>, <&firmware_clocks 16>;
329         clock-names = "core", "disp";
330 };
331
332 &mop {
333         status = "disabled";
334 };
335
336 &moplet {
337         status = "disabled";
338 };
339
340 &pixelvalve0 {
341         status = "disabled";
342 };
343
344 &pixelvalve1 {
345         status = "disabled";
346 };
347
348 &disp_intr {
349         status = "disabled";
350 };
351
352 /* SDIO1 is used to drive the SD card */
353 &sdio1 {
354         pinctrl-0 = <&emmc_sd_pulls>, <&emmc_aon_cd_pins>;
355         pinctrl-names = "default";
356         vqmmc-supply = <&sd_io_1v8_reg>;
357         vmmc-supply = <&sd_vcc_reg>;
358         bus-width = <4>;
359         sd-uhs-sdr50;
360         sd-uhs-ddr50;
361         sd-uhs-sdr104;
362         //broken-cd;
363         //no-1-8-v;
364         status = "okay";
365 };
366
367 &pinctrl_aon {
368         emmc_aon_cd_pins: emmc_aon_cd_pins {
369                 function = "sd_card_g";
370                 pins = "aon_gpio5";
371                 bias-pull-up;
372         };
373
374         /* Slight hack - only one PWM pin (status LED) is usable */
375         aon_pwm_1pin: aon_pwm_1pin {
376                 function = "aon_pwm";
377                 pins = "aon_gpio9";
378         };
379 };
380
381 &pinctrl {
382         pwr_button_pins: pwr_button_pins {
383                 function = "gpio";
384                 pins = "gpio20";
385                 bias-pull-up;
386         };
387
388         wl_on_pins: wl_on_pins {
389                 function = "gpio";
390                 pins = "gpio28";
391         };
392
393         bt_shutdown_pins: bt_shutdown_pins {
394                 function = "gpio";
395                 pins = "gpio29";
396         };
397
398         emmc_sd_pulls: emmc_sd_pulls {
399                 function = "emmc_dat0", "emmc_dat1", "emmc_dat2", "emmc_dat3";
400                 bias-pull-up;
401         };
402 };
403
404 /* uarta communicates with the BT module */
405 &uarta {
406         uart-has-rtscts;
407         auto-flow-control;
408         status = "okay";
409         clock-frequency = <96000000>;
410         pinctrl-0 = <&uarta_24_pins &bt_shutdown_pins>;
411         pinctrl-names = "default";
412
413         bluetooth: bluetooth {
414                 compatible = "brcm,bcm43438-bt";
415                 max-speed = <3000000>;
416                 shutdown-gpios = <&gio 29 GPIO_ACTIVE_HIGH>;
417                 local-bd-address = [ 00 00 00 00 00 00 ];
418         };
419 };
420
421 &i2c_rp1boot {
422         clock-frequency = <400000>;
423         pinctrl-0 = <&i2c3_m4_agpio0_pins>;
424         pinctrl-names = "default";
425 };
426
427 / {
428         chosen: chosen {
429                 bootargs = "reboot=w coherent_pool=1M 8250.nr_uarts=1 pci=pcie_bus_safe snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1";
430                 stdout-path = "serial10:115200n8";
431         };
432
433         fan: cooling_fan {
434                 status = "disabled";
435                 compatible = "pwm-fan";
436                 #cooling-cells = <2>;
437                 cooling-min-state = <0>;
438                 cooling-max-state = <3>;
439                 cooling-levels = <0 75 125 175 250>;
440                 pwms = <&rp1_pwm1 3 41566 PWM_POLARITY_INVERTED>;
441                 rpm-regmap = <&rp1_pwm1>;
442                 rpm-offset = <0x3c>;
443         };
444
445         pwr_button {
446                 compatible = "gpio-keys";
447
448                 pinctrl-names = "default";
449                 pinctrl-0 = <&pwr_button_pins>;
450                 status = "okay";
451
452                 pwr_key: pwr {
453                         label = "pwr_button";
454                         // linux,code = <205>; // KEY_SUSPEND
455                         linux,code = <116>; // KEY_POWER
456                         gpios = <&gio 20 GPIO_ACTIVE_LOW>;
457                         debounce-interval = <50>; // ms
458                 };
459         };
460 };
461
462 &usb {
463         power-domains = <&power RPI_POWER_DOMAIN_USB>;
464 };
465
466 /* SDIO2 drives the WLAN interface */
467 &sdio2 {
468         pinctrl-0 = <&sdio2_30_pins>;
469         pinctrl-names = "default";
470         bus-width = <4>;
471         vmmc-supply = <&wl_on_reg>;
472         sd-uhs-ddr50;
473         non-removable;
474         status = "okay";
475         #address-cells = <1>;
476         #size-cells = <0>;
477
478         wifi: wifi@1 {
479                 reg = <1>;
480                 compatible = "brcm,bcm4329-fmac";
481                 local-mac-address = [00 00 00 00 00 00];
482         };
483 };
484
485 &rpivid {
486         status = "okay";
487 };
488
489 &pinctrl {
490         spi10_gpio2: spi10_gpio2 {
491                 function = "vc_spi0";
492                 pins = "gpio2", "gpio3", "gpio4";
493                 bias-disable;
494         };
495
496         spi10_cs_gpio1: spi10_cs_gpio1 {
497                 function = "gpio";
498                 pins = "gpio1";
499                 bias-pull-up;
500         };
501 };
502
503 spi10_pins: &spi10_gpio2 {};
504 spi10_cs_pins: &spi10_cs_gpio1 {};
505
506 &spi10 {
507         pinctrl-names = "default";
508         cs-gpios = <&gio 1 1>;
509         pinctrl-0 = <&spi10_pins &spi10_cs_pins>;
510
511         spidev10: spidev@0 {
512                 compatible = "spidev";
513                 reg = <0>;      /* CE0 */
514                 #address-cells = <1>;
515                 #size-cells = <0>;
516                 spi-max-frequency = <20000000>;
517                 status = "okay";
518         };
519 };
520
521 // =============================================
522 // Board specific stuff here
523
524 &gio_aon {
525         // Don't use GIO_AON as an interrupt controller because it will
526         // clash with the firmware monitoring the PMIC interrupt via the VPU.
527
528         /delete-property/ interrupt-controller;
529 };
530
531 &main_aon_irq {
532         // Don't use the MAIN_AON_IRQ interrupt controller because it will
533         // clash with the firmware monitoring the PMIC interrupt via the VPU.
534
535         status = "disabled";
536 };
537
538 &rp1_pwm1 {
539         status = "disabled";
540         pinctrl-0 = <&rp1_pwm1_gpio45>;
541         pinctrl-names = "default";
542 };
543
544 &thermal_trips {
545         cpu_tepid: cpu-tepid {
546                 temperature = <50000>;
547                 hysteresis = <5000>;
548                 type = "active";
549         };
550
551         cpu_warm: cpu-warm {
552                 temperature = <60000>;
553                 hysteresis = <5000>;
554                 type = "active";
555         };
556
557         cpu_hot: cpu-hot {
558                 temperature = <67500>;
559                 hysteresis = <5000>;
560                 type = "active";
561         };
562
563         cpu_vhot: cpu-vhot {
564                 temperature = <75000>;
565                 hysteresis = <5000>;
566                 type = "active";
567         };
568 };
569
570 &cooling_maps {
571         tepid {
572                 trip = <&cpu_tepid>;
573                 cooling-device = <&fan 1 1>;
574         };
575
576         warm {
577                 trip = <&cpu_warm>;
578                 cooling-device = <&fan 2 2>;
579         };
580
581         hot {
582                 trip = <&cpu_hot>;
583                 cooling-device = <&fan 3 3>;
584         };
585
586         vhot {
587                 trip = <&cpu_vhot>;
588                 cooling-device = <&fan 4 4>;
589         };
590
591         melt {
592                 trip = <&cpu_crit>;
593                 cooling-device = <&fan 4 4>;
594         };
595 };
596
597 &gio {
598         // The GPIOs above 35 are not used on Pi 5, so shrink the upper bank
599         // to reduce the clutter in gpioinfo/pinctrl
600         brcm,gpio-bank-widths = <32 4>;
601
602         gpio-line-names =
603                 "-", // GPIO_000
604                 "2712_BOOT_CS_N", // GPIO_001
605                 "2712_BOOT_MISO", // GPIO_002
606                 "2712_BOOT_MOSI", // GPIO_003
607                 "2712_BOOT_SCLK", // GPIO_004
608                 "-", // GPIO_005
609                 "-", // GPIO_006
610                 "-", // GPIO_007
611                 "-", // GPIO_008
612                 "-", // GPIO_009
613                 "-", // GPIO_010
614                 "-", // GPIO_011
615                 "-", // GPIO_012
616                 "-", // GPIO_013
617                 "PCIE_SDA", // GPIO_014
618                 "PCIE_SCL", // GPIO_015
619                 "-", // GPIO_016
620                 "-", // GPIO_017
621                 "-", // GPIO_018
622                 "-", // GPIO_019
623                 "PWR_GPIO", // GPIO_020
624                 "2712_G21_FS", // GPIO_021
625                 "-", // GPIO_022
626                 "-", // GPIO_023
627                 "BT_RTS", // GPIO_024
628                 "BT_CTS", // GPIO_025
629                 "BT_TXD", // GPIO_026
630                 "BT_RXD", // GPIO_027
631                 "WL_ON", // GPIO_028
632                 "BT_ON", // GPIO_029
633                 "WIFI_SDIO_CLK", // GPIO_030
634                 "WIFI_SDIO_CMD", // GPIO_031
635                 "WIFI_SDIO_D0", // GPIO_032
636                 "WIFI_SDIO_D1", // GPIO_033
637                 "WIFI_SDIO_D2", // GPIO_034
638                 "WIFI_SDIO_D3"; // GPIO_035
639 };
640
641 &gio_aon {
642         gpio-line-names =
643                 "RP1_SDA", // AON_GPIO_00
644                 "RP1_SCL", // AON_GPIO_01
645                 "RP1_RUN", // AON_GPIO_02
646                 "SD_IOVDD_SEL", // AON_GPIO_03
647                 "SD_PWR_ON", // AON_GPIO_04
648                 "SD_CDET_N", // AON_GPIO_05
649                 "SD_FLG_N", // AON_GPIO_06
650                 "-", // AON_GPIO_07
651                 "2712_WAKE", // AON_GPIO_08
652                 "2712_STAT_LED", // AON_GPIO_09
653                 "-", // AON_GPIO_10
654                 "-", // AON_GPIO_11
655                 "PMIC_INT", // AON_GPIO_12
656                 "UART_TX_FS", // AON_GPIO_13
657                 "UART_RX_FS", // AON_GPIO_14
658                 "-", // AON_GPIO_15
659                 "-", // AON_GPIO_16
660
661                 // Pad bank0 out to 32 entries
662                 "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
663
664                 "HDMI0_SCL", // AON_SGPIO_00
665                 "HDMI0_SDA", // AON_SGPIO_01
666                 "HDMI1_SCL", // AON_SGPIO_02
667                 "HDMI1_SDA", // AON_SGPIO_03
668                 "PMIC_SCL", // AON_SGPIO_04
669                 "PMIC_SDA"; // AON_SGPIO_05
670
671         rp1_run_hog {
672                 gpio-hog;
673                 gpios = <2 GPIO_ACTIVE_HIGH>;
674                 output-high;
675                 line-name = "RP1 RUN pin";
676         };
677 };
678
679 &rp1_gpio {
680         gpio-line-names =
681                 "ID_SDA", // GPIO0
682                 "ID_SCL", // GPIO1
683                 "GPIO2", // GPIO2
684                 "GPIO3", // GPIO3
685                 "GPIO4", // GPIO4
686                 "GPIO5", // GPIO5
687                 "GPIO6", // GPIO6
688                 "GPIO7", // GPIO7
689                 "GPIO8", // GPIO8
690                 "GPIO9", // GPIO9
691                 "GPIO10", // GPIO10
692                 "GPIO11", // GPIO11
693                 "GPIO12", // GPIO12
694                 "GPIO13", // GPIO13
695                 "GPIO14", // GPIO14
696                 "GPIO15", // GPIO15
697                 "GPIO16", // GPIO16
698                 "GPIO17", // GPIO17
699                 "GPIO18", // GPIO18
700                 "GPIO19", // GPIO19
701                 "GPIO20", // GPIO20
702                 "GPIO21", // GPIO21
703                 "GPIO22", // GPIO22
704                 "GPIO23", // GPIO23
705                 "GPIO24", // GPIO24
706                 "GPIO25", // GPIO25
707                 "GPIO26", // GPIO26
708                 "GPIO27", // GPIO27
709
710                 "PCIE_RP1_WAKE", // GPIO28
711                 "FAN_TACH", // GPIO29
712                 "HOST_SDA", // GPIO30
713                 "HOST_SCL", // GPIO31
714                 "ETH_RST_N", // GPIO32
715                 "-", // GPIO33
716
717                 "CD0_IO0_MICCLK", // GPIO34
718                 "CD0_IO0_MICDAT0", // GPIO35
719                 "RP1_PCIE_CLKREQ_N", // GPIO36
720                 "-", // GPIO37
721                 "CD0_SDA", // GPIO38
722                 "CD0_SCL", // GPIO39
723                 "CD1_SDA", // GPIO40
724                 "CD1_SCL", // GPIO41
725                 "USB_VBUS_EN", // GPIO42
726                 "USB_OC_N", // GPIO43
727                 "RP1_STAT_LED", // GPIO44
728                 "FAN_PWM", // GPIO45
729                 "CD1_IO0_MICCLK", // GPIO46
730                 "2712_WAKE", // GPIO47
731                 "CD1_IO1_MICDAT1", // GPIO48
732                 "EN_MAX_USB_CUR", // GPIO49
733                 "-", // GPIO50
734                 "-", // GPIO51
735                 "-", // GPIO52
736                 "-"; // GPIO53
737
738         usb_vbus_pins: usb_vbus_pins {
739                 function = "vbus1";
740                 pins = "gpio42", "gpio43";
741         };
742 };
743
744 / {
745         aliases: aliases {
746                 blconfig = &blconfig;
747                 bluetooth = &bluetooth;
748                 console = &uart10;
749                 ethernet0 = &rp1_eth;
750                 wifi0 = &wifi;
751                 fb = &fb;
752                 mailbox = &mailbox;
753                 mmc0 = &sdio1;
754                 uart0 = &uart0;
755                 uart1 = &uart1;
756                 uart2 = &uart2;
757                 uart3 = &uart3;
758                 uart4 = &uart4;
759                 uart10 = &uart10;
760                 serial0 = &uart0;
761                 serial1 = &uart1;
762                 serial2 = &uart2;
763                 serial3 = &uart3;
764                 serial4 = &uart4;
765                 serial10 = &uart10;
766                 i2c = &i2c_arm;
767                 i2c0 = &i2c0;
768                 i2c1 = &i2c1;
769                 i2c2 = &i2c2;
770                 i2c3 = &i2c3;
771                 i2c4 = &i2c4;
772                 i2c5 = &i2c5;
773                 i2c6 = &i2c6;
774                 i2c10 = &i2c_rp1boot;
775                 // Bit-bashed i2c_gpios start at 10
776                 spi0 = &spi0;
777                 spi1 = &spi1;
778                 spi2 = &spi2;
779                 spi3 = &spi3;
780                 spi4 = &spi4;
781                 spi5 = &spi5;
782                 spi10 = &spi10;
783                 gpio0 = &gpio;
784                 gpio1 = &gio;
785                 gpio2 = &gio_aon;
786                 gpio3 = &pinctrl;
787                 gpio4 = &pinctrl_aon;
788                 usb0 = &rp1_usb0;
789                 usb1 = &rp1_usb1;
790                 drm-dsi1 = &dsi0;
791                 drm-dsi2 = &dsi1;
792         };
793
794         __overrides__ {
795                 bdaddr = <&bluetooth>, "local-bd-address[";
796                 button_debounce = <&pwr_key>, "debounce-interval:0";
797                 cooling_fan = <&fan>, "status", <&rp1_pwm1>, "status";
798                 uart0_console = <&uart0>,"status", <&aliases>, "console=",&uart0;
799                 i2c0 = <&i2c0>, "status";
800                 i2c1 = <&i2c1>, "status";
801                 i2c = <&i2c1>, "status";
802                 i2c_arm = <&i2c_arm>, "status";
803                 i2c_vc = <&i2c_vc>, "status";
804                 i2c_csi_dsi = <&i2c_csi_dsi>, "status";
805                 i2c_csi_dsi0 = <&i2c_csi_dsi0>, "status";
806                 i2c_csi_dsi1 = <&i2c_csi_dsi1>, "status";
807                 i2c0_baudrate = <&i2c0>, "clock-frequency:0";
808                 i2c1_baudrate = <&i2c1>, "clock-frequency:0";
809                 i2c_baudrate = <&i2c_arm>, "clock-frequency:0";
810                 i2c_arm_baudrate = <&i2c_arm>, "clock-frequency:0";
811                 i2c_vc_baudrate = <&i2c_vc>, "clock-frequency:0";
812                 krnbt = <&bluetooth>, "status";
813                 nvme = <&pciex1>, "status";
814                 pciex1 = <&pciex1>, "status";
815                 pciex1_gen = <&pciex1> , "max-link-speed:0";
816                 pciex1_no_l0s = <&pciex1>, "aspm-no-l0s?";
817                 pciex1_tperst_clk_ms = <&pciex1>, "brcm,tperst-clk-ms:0";
818                 pcie_tperst_clk_ms = <&pciex1>, "brcm,tperst-clk-ms:0";
819                 random = <&random>, "status";
820                 rtc = <&rpi_rtc>, "status";
821                 rtc_bbat_vchg = <&rpi_rtc>, "trickle-charge-microvolt:0";
822                 spi = <&spi0>, "status";
823                 suspend = <&pwr_key>, "linux,code:0=205";
824                 uart0 = <&uart0>, "status";
825                 wifiaddr = <&wifi>, "local-mac-address[";
826
827                 act_led_gpio = <&led_act>,"gpios:4",<&led_act>,"gpios:0=",<&gpio>;
828                 act_led_activelow = <&led_act>,"gpios:8";
829                 act_led_trigger = <&led_act>, "linux,default-trigger";
830                 pwr_led_gpio = <&led_pwr>,"gpios:4";
831                 pwr_led_activelow = <&led_pwr>, "gpios:8";
832                 pwr_led_trigger = <&led_pwr>, "linux,default-trigger";
833                 eth_led0 = <&phy1>,"led-modes:0";
834                 eth_led1 = <&phy1>,"led-modes:4";
835                 drm_fb0_rp1_dsi0 = <&aliases>, "drm-fb0=",&dsi0;
836                 drm_fb0_rp1_dsi1 = <&aliases>, "drm-fb0=",&dsi1;
837                 drm_fb0_rp1_dpi = <&aliases>, "drm-fb0=",&dpi;
838                 drm_fb0_vc4 = <&aliases>, "drm-fb0=",&vc4;
839                 drm_fb1_rp1_dsi0 = <&aliases>, "drm-fb1=",&dsi0;
840                 drm_fb1_rp1_dsi1 = <&aliases>, "drm-fb1=",&dsi1;
841                 drm_fb1_rp1_dpi = <&aliases>, "drm-fb1=",&dpi;
842                 drm_fb1_vc4 = <&aliases>, "drm-fb1=",&vc4;
843                 drm_fb2_rp1_dsi0 = <&aliases>, "drm-fb2=",&dsi0;
844                 drm_fb2_rp1_dsi1 = <&aliases>, "drm-fb2=",&dsi1;
845                 drm_fb2_rp1_dpi = <&aliases>, "drm-fb2=",&dpi;
846                 drm_fb2_vc4 = <&aliases>, "drm-fb2=",&vc4;
847
848                 fan_temp0 = <&cpu_tepid>,"temperature:0";
849                 fan_temp1 = <&cpu_warm>,"temperature:0";
850                 fan_temp2 = <&cpu_hot>,"temperature:0";
851                 fan_temp3 = <&cpu_vhot>,"temperature:0";
852                 fan_temp0_hyst = <&cpu_tepid>,"hysteresis:0";
853                 fan_temp1_hyst = <&cpu_warm>,"hysteresis:0";
854                 fan_temp2_hyst = <&cpu_hot>,"hysteresis:0";
855                 fan_temp3_hyst = <&cpu_vhot>,"hysteresis:0";
856                 fan_temp0_speed = <&fan>, "cooling-levels:4";
857                 fan_temp1_speed = <&fan>, "cooling-levels:8";
858                 fan_temp2_speed = <&fan>, "cooling-levels:12";
859                 fan_temp3_speed = <&fan>, "cooling-levels:16";
860         };
861 };