]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - src/arm/bcm2711-rpi-4-b.dts
DTS: Update the device-tree files to Linux 5.5
[FreeBSD/FreeBSD.git] / src / arm / bcm2711-rpi-4-b.dts
1 // SPDX-License-Identifier: GPL-2.0
2 /dts-v1/;
3 #include "bcm2711.dtsi"
4 #include "bcm2835-rpi.dtsi"
5 #include "bcm283x-rpi-usb-peripheral.dtsi"
6
7 / {
8         compatible = "raspberrypi,4-model-b", "brcm,bcm2711";
9         model = "Raspberry Pi 4 Model B";
10
11         chosen {
12                 /* 8250 auxiliary UART instead of pl011 */
13                 stdout-path = "serial1:115200n8";
14         };
15
16         /* Will be filled by the bootloader */
17         memory@0 {
18                 device_type = "memory";
19                 reg = <0 0 0>;
20         };
21
22         aliases {
23                 ethernet0 = &genet;
24         };
25
26         leds {
27                 act {
28                         gpios = <&gpio 42 GPIO_ACTIVE_HIGH>;
29                 };
30
31                 pwr {
32                         label = "PWR";
33                         gpios = <&expgpio 2 GPIO_ACTIVE_LOW>;
34                 };
35         };
36
37         wifi_pwrseq: wifi-pwrseq {
38                 compatible = "mmc-pwrseq-simple";
39                 reset-gpios = <&expgpio 1 GPIO_ACTIVE_LOW>;
40         };
41
42         sd_io_1v8_reg: sd_io_1v8_reg {
43                 compatible = "regulator-gpio";
44                 regulator-name = "vdd-sd-io";
45                 regulator-min-microvolt = <1800000>;
46                 regulator-max-microvolt = <3300000>;
47                 regulator-boot-on;
48                 regulator-always-on;
49                 regulator-settling-time-us = <5000>;
50                 gpios = <&expgpio 4 GPIO_ACTIVE_HIGH>;
51                 states = <1800000 0x1
52                           3300000 0x0>;
53                 status = "okay";
54         };
55 };
56
57 &firmware {
58         expgpio: gpio {
59                 compatible = "raspberrypi,firmware-gpio";
60                 gpio-controller;
61                 #gpio-cells = <2>;
62                 gpio-line-names = "BT_ON",
63                                   "WL_ON",
64                                   "PWR_LED_OFF",
65                                   "GLOBAL_RESET",
66                                   "VDD_SD_IO_SEL",
67                                   "CAM_GPIO",
68                                   "",
69                                   "";
70                 status = "okay";
71         };
72 };
73
74 &pwm1 {
75         pinctrl-names = "default";
76         pinctrl-0 = <&pwm1_0_gpio40 &pwm1_1_gpio41>;
77         status = "okay";
78 };
79
80 /* SDHCI is used to control the SDIO for wireless */
81 &sdhci {
82         #address-cells = <1>;
83         #size-cells = <0>;
84         pinctrl-names = "default";
85         pinctrl-0 = <&emmc_gpio34>;
86         bus-width = <4>;
87         non-removable;
88         mmc-pwrseq = <&wifi_pwrseq>;
89         status = "okay";
90
91         brcmf: wifi@1 {
92                 reg = <1>;
93                 compatible = "brcm,bcm4329-fmac";
94         };
95 };
96
97 /* EMMC2 is used to drive the SD card */
98 &emmc2 {
99         vqmmc-supply = <&sd_io_1v8_reg>;
100         broken-cd;
101         status = "okay";
102 };
103
104 &genet {
105         phy-handle = <&phy1>;
106         phy-mode = "rgmii-rxid";
107         status = "okay";
108 };
109
110 &genet_mdio {
111         phy1: ethernet-phy@1 {
112                 /* No PHY interrupt */
113                 reg = <0x1>;
114         };
115 };
116
117 /* uart0 communicates with the BT module */
118 &uart0 {
119         pinctrl-names = "default";
120         pinctrl-0 = <&uart0_ctsrts_gpio30 &uart0_gpio32>;
121         uart-has-rtscts;
122         status = "okay";
123
124         bluetooth {
125                 compatible = "brcm,bcm43438-bt";
126                 max-speed = <2000000>;
127                 shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>;
128         };
129 };
130
131 /* uart1 is mapped to the pin header */
132 &uart1 {
133         pinctrl-names = "default";
134         pinctrl-0 = <&uart1_gpio14>;
135         status = "okay";
136 };
137
138 &vchiq {
139         interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
140 };