1 // SPDX-License-Identifier: GPL-2.0
3 #include "bcm2711.dtsi"
4 #include "bcm2835-rpi.dtsi"
5 #include "bcm283x-rpi-usb-peripheral.dtsi"
8 compatible = "raspberrypi,4-model-b", "brcm,bcm2711";
9 model = "Raspberry Pi 4 Model B";
12 /* 8250 auxiliary UART instead of pl011 */
13 stdout-path = "serial1:115200n8";
16 /* Will be filled by the bootloader */
18 device_type = "memory";
30 gpios = <&gpio 42 GPIO_ACTIVE_HIGH>;
35 gpios = <&expgpio 2 GPIO_ACTIVE_LOW>;
36 default-state = "keep";
37 linux,default-trigger = "default-on";
41 wifi_pwrseq: wifi-pwrseq {
42 compatible = "mmc-pwrseq-simple";
43 reset-gpios = <&expgpio 1 GPIO_ACTIVE_LOW>;
46 sd_io_1v8_reg: sd_io_1v8_reg {
47 compatible = "regulator-gpio";
48 regulator-name = "vdd-sd-io";
49 regulator-min-microvolt = <1800000>;
50 regulator-max-microvolt = <3300000>;
53 regulator-settling-time-us = <5000>;
54 gpios = <&expgpio 4 GPIO_ACTIVE_HIGH>;
60 sd_vcc_reg: sd_vcc_reg {
61 compatible = "regulator-fixed";
62 regulator-name = "vcc-sd";
63 regulator-min-microvolt = <3300000>;
64 regulator-max-microvolt = <3300000>;
67 gpio = <&expgpio 6 GPIO_ACTIVE_HIGH>;
72 firmware_clocks: clocks {
73 compatible = "raspberrypi,firmware-clocks";
78 compatible = "raspberrypi,firmware-gpio";
81 gpio-line-names = "BT_ON",
95 * Parts taken from rpi_SCH_4b_4p0_reduced.pdf and
96 * the official GPU firmware DT blob.
99 * "FOO" = GPIO line named "FOO" on the schematic
100 * "FOO_N" = GPIO line named "FOO" on schematic, active low
102 gpio-line-names = "ID_SDA",
133 /* Used by BT module */
145 /* Shared with SPI flash */
167 pinctrl-names = "default";
168 pinctrl-0 = <&pwm1_0_gpio40 &pwm1_1_gpio41>;
172 /* SDHCI is used to control the SDIO for wireless */
174 #address-cells = <1>;
176 pinctrl-names = "default";
177 pinctrl-0 = <&emmc_gpio34>;
180 mmc-pwrseq = <&wifi_pwrseq>;
185 compatible = "brcm,bcm4329-fmac";
189 /* EMMC2 is used to drive the SD card */
191 vqmmc-supply = <&sd_io_1v8_reg>;
192 vmmc-supply = <&sd_vcc_reg>;
198 phy-handle = <&phy1>;
199 phy-mode = "rgmii-rxid";
204 phy1: ethernet-phy@1 {
205 /* No PHY interrupt */
210 /* uart0 communicates with the BT module */
212 pinctrl-names = "default";
213 pinctrl-0 = <&uart0_ctsrts_gpio30 &uart0_gpio32>;
218 compatible = "brcm,bcm43438-bt";
219 max-speed = <2000000>;
220 shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>;
224 /* uart1 is mapped to the pin header */
226 pinctrl-names = "default";
227 pinctrl-0 = <&uart1_gpio14>;
232 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;