Changeset View
Changeset View
Standalone View
Standalone View
sys/gnu/dts/arm/bcm2711-rpi-4-b.dts
- This file was added.
// SPDX-License-Identifier: GPL-2.0 | |||||
/dts-v1/; | |||||
#include "bcm2711.dtsi" | |||||
#include "bcm2835-rpi.dtsi" | |||||
#include "bcm283x-rpi-usb-peripheral.dtsi" | |||||
/ { | |||||
compatible = "raspberrypi,4-model-b", "brcm,bcm2711"; | |||||
model = "Raspberry Pi 4 Model B"; | |||||
chosen { | |||||
/* 8250 auxiliary UART instead of pl011 */ | |||||
stdout-path = "serial1:115200n8"; | |||||
}; | |||||
/* Will be filled by the bootloader */ | |||||
memory@0 { | |||||
device_type = "memory"; | |||||
reg = <0 0 0>; | |||||
}; | |||||
aliases { | |||||
ethernet0 = &genet; | |||||
}; | |||||
leds { | |||||
act { | |||||
gpios = <&gpio 42 GPIO_ACTIVE_HIGH>; | |||||
}; | |||||
pwr { | |||||
label = "PWR"; | |||||
gpios = <&expgpio 2 GPIO_ACTIVE_LOW>; | |||||
}; | |||||
}; | |||||
wifi_pwrseq: wifi-pwrseq { | |||||
compatible = "mmc-pwrseq-simple"; | |||||
reset-gpios = <&expgpio 1 GPIO_ACTIVE_LOW>; | |||||
}; | |||||
sd_io_1v8_reg: sd_io_1v8_reg { | |||||
compatible = "regulator-gpio"; | |||||
regulator-name = "vdd-sd-io"; | |||||
regulator-min-microvolt = <1800000>; | |||||
regulator-max-microvolt = <3300000>; | |||||
regulator-boot-on; | |||||
regulator-always-on; | |||||
regulator-settling-time-us = <5000>; | |||||
gpios = <&expgpio 4 GPIO_ACTIVE_HIGH>; | |||||
states = <1800000 0x1 | |||||
3300000 0x0>; | |||||
status = "okay"; | |||||
}; | |||||
}; | |||||
&firmware { | |||||
expgpio: gpio { | |||||
compatible = "raspberrypi,firmware-gpio"; | |||||
gpio-controller; | |||||
#gpio-cells = <2>; | |||||
gpio-line-names = "BT_ON", | |||||
"WL_ON", | |||||
"PWR_LED_OFF", | |||||
"GLOBAL_RESET", | |||||
"VDD_SD_IO_SEL", | |||||
"CAM_GPIO", | |||||
"", | |||||
""; | |||||
status = "okay"; | |||||
}; | |||||
}; | |||||
&pwm1 { | |||||
pinctrl-names = "default"; | |||||
pinctrl-0 = <&pwm1_0_gpio40 &pwm1_1_gpio41>; | |||||
status = "okay"; | |||||
}; | |||||
/* SDHCI is used to control the SDIO for wireless */ | |||||
&sdhci { | |||||
#address-cells = <1>; | |||||
#size-cells = <0>; | |||||
pinctrl-names = "default"; | |||||
pinctrl-0 = <&emmc_gpio34>; | |||||
bus-width = <4>; | |||||
non-removable; | |||||
mmc-pwrseq = <&wifi_pwrseq>; | |||||
status = "okay"; | |||||
brcmf: wifi@1 { | |||||
reg = <1>; | |||||
compatible = "brcm,bcm4329-fmac"; | |||||
}; | |||||
}; | |||||
/* EMMC2 is used to drive the SD card */ | |||||
&emmc2 { | |||||
vqmmc-supply = <&sd_io_1v8_reg>; | |||||
broken-cd; | |||||
status = "okay"; | |||||
}; | |||||
&genet { | |||||
phy-handle = <&phy1>; | |||||
phy-mode = "rgmii-rxid"; | |||||
status = "okay"; | |||||
}; | |||||
&genet_mdio { | |||||
phy1: ethernet-phy@1 { | |||||
/* No PHY interrupt */ | |||||
reg = <0x1>; | |||||
}; | |||||
}; | |||||
/* uart0 communicates with the BT module */ | |||||
&uart0 { | |||||
pinctrl-names = "default"; | |||||
pinctrl-0 = <&uart0_ctsrts_gpio30 &uart0_gpio32>; | |||||
uart-has-rtscts; | |||||
status = "okay"; | |||||
bluetooth { | |||||
compatible = "brcm,bcm43438-bt"; | |||||
max-speed = <2000000>; | |||||
shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>; | |||||
}; | |||||
}; | |||||
/* uart1 is mapped to the pin header */ | |||||
&uart1 { | |||||
pinctrl-names = "default"; | |||||
pinctrl-0 = <&uart1_gpio14>; | |||||
status = "okay"; | |||||
}; | |||||
&vchiq { | |||||
interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; | |||||
}; |