Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ARM: dts: Add bcm2711-rpi-4-b.dts and components
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
- Loading branch information
Phil Elwell
committed
Jun 26, 2019
1 parent
abb1bc9
commit 874cafe
Showing
4 changed files
with
1,095 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,320 @@ | ||
/dts-v1/; | ||
|
||
#include "bcm2711.dtsi" | ||
|
||
/ { | ||
compatible = "raspberrypi,4-model-b", "brcm,bcm2838", "brcm,bcm2837"; | ||
model = "Raspberry Pi 4 Model B"; | ||
#address-cells = <2>; | ||
#size-cells = <1>; | ||
|
||
memory { | ||
device_type = "memory"; | ||
reg = <0x0 0x0 0x0>; | ||
}; | ||
|
||
chosen { | ||
bootargs = "8250.nr_uarts=1 cma=64M"; | ||
}; | ||
|
||
aliases { | ||
serial0 = &uart1; | ||
serial1 = &uart0; | ||
mmc0 = &emmc2; | ||
mmc1 = &mmcnr; | ||
mmc2 = &sdhost; | ||
/delete-property/ ethernet; | ||
/delete-property/ intc; | ||
ethernet0 = &genet; | ||
}; | ||
}; | ||
|
||
&soc { | ||
virtgpio: virtgpio { | ||
compatible = "brcm,bcm2835-virtgpio"; | ||
gpio-controller; | ||
#gpio-cells = <2>; | ||
firmware = <&firmware>; | ||
status = "okay"; | ||
}; | ||
}; | ||
|
||
&mmcnr { | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&sdio_pins>; | ||
bus-width = <4>; | ||
status = "okay"; | ||
}; | ||
|
||
&firmware { | ||
expgpio: expgpio { | ||
compatible = "raspberrypi,firmware-gpio"; | ||
gpio-controller; | ||
#gpio-cells = <2>; | ||
status = "okay"; | ||
}; | ||
}; | ||
|
||
&uart0 { | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&uart0_pins &bt_pins>; | ||
status = "okay"; | ||
}; | ||
|
||
&uart1 { | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&uart1_pins>; | ||
status = "okay"; | ||
}; | ||
|
||
&spi0 { | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&spi0_pins &spi0_cs_pins>; | ||
cs-gpios = <&gpio 8 1>, <&gpio 7 1>; | ||
|
||
spidev0: spidev@0{ | ||
compatible = "spidev"; | ||
reg = <0>; /* CE0 */ | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
spi-max-frequency = <125000000>; | ||
}; | ||
|
||
spidev1: spidev@1{ | ||
compatible = "spidev"; | ||
reg = <1>; /* CE1 */ | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
spi-max-frequency = <125000000>; | ||
}; | ||
}; | ||
|
||
// ============================================= | ||
// Board specific stuff here | ||
|
||
/ { | ||
|
||
sd_io_1v8_reg: sd_io_1v8_reg { | ||
status = "okay"; | ||
compatible = "regulator-gpio"; | ||
vin-supply = <&vdd_5v0_reg>; | ||
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>; | ||
}; | ||
}; | ||
|
||
&sdhost { | ||
status = "disabled"; | ||
}; | ||
|
||
&emmc2 { | ||
status = "okay"; | ||
broken-cd; | ||
vqmmc-supply = <&sd_io_1v8_reg>; | ||
}; | ||
|
||
&leds { | ||
act_led: act { | ||
label = "led0"; | ||
linux,default-trigger = "mmc0"; | ||
gpios = <&gpio 42 0>; | ||
}; | ||
|
||
pwr_led: pwr { | ||
label = "led1"; | ||
linux,default-trigger = "input"; | ||
gpios = <&expgpio 2 0>; | ||
}; | ||
}; | ||
|
||
&audio { | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&audio_pins>; | ||
}; | ||
|
||
&sdhost_gpio48 { | ||
brcm,pins = <22 23 24 25 26 27>; | ||
brcm,function = <BCM2835_FSEL_ALT0>; | ||
}; | ||
|
||
&gpio { | ||
spi0_pins: spi0_pins { | ||
brcm,pins = <9 10 11>; | ||
brcm,function = <BCM2835_FSEL_ALT0>; | ||
}; | ||
|
||
spi0_cs_pins: spi0_cs_pins { | ||
brcm,pins = <8 7>; | ||
brcm,function = <BCM2835_FSEL_GPIO_OUT>; | ||
}; | ||
|
||
spi3_pins: spi3_pins { | ||
brcm,pins = <1 2 3>; | ||
brcm,function = <BCM2835_FSEL_ALT3>; | ||
}; | ||
|
||
spi3_cs_pins: spi3_cs_pins { | ||
brcm,pins = <0 24>; | ||
brcm,function = <BCM2835_FSEL_GPIO_OUT>; | ||
}; | ||
|
||
spi4_pins: spi4_pins { | ||
brcm,pins = <5 6 7>; | ||
brcm,function = <BCM2835_FSEL_ALT3>; | ||
}; | ||
|
||
spi4_cs_pins: spi4_cs_pins { | ||
brcm,pins = <4 25>; | ||
brcm,function = <BCM2835_FSEL_GPIO_OUT>; | ||
}; | ||
|
||
spi5_pins: spi5_pins { | ||
brcm,pins = <13 14 15>; | ||
brcm,function = <BCM2835_FSEL_ALT3>; | ||
}; | ||
|
||
spi5_cs_pins: spi5_cs_pins { | ||
brcm,pins = <12 26>; | ||
brcm,function = <BCM2835_FSEL_GPIO_OUT>; | ||
}; | ||
|
||
spi6_pins: spi6_pins { | ||
brcm,pins = <19 20 21>; | ||
brcm,function = <BCM2835_FSEL_ALT3>; | ||
}; | ||
|
||
spi6_cs_pins: spi6_cs_pins { | ||
brcm,pins = <18 27>; | ||
brcm,function = <BCM2835_FSEL_GPIO_OUT>; | ||
}; | ||
|
||
i2c0_pins: i2c0 { | ||
brcm,pins = <0 1>; | ||
brcm,function = <BCM2835_FSEL_ALT0>; | ||
}; | ||
|
||
i2c1_pins: i2c1 { | ||
brcm,pins = <2 3>; | ||
brcm,function = <BCM2835_FSEL_ALT0>; | ||
}; | ||
|
||
i2c3_pins: i2c3 { | ||
brcm,pins = <4 5>; | ||
brcm,function = <BCM2835_FSEL_ALT5>; | ||
}; | ||
|
||
i2c4_pins: i2c4 { | ||
brcm,pins = <8 9>; | ||
brcm,function = <BCM2835_FSEL_ALT5>; | ||
}; | ||
|
||
i2c5_pins: i2c5 { | ||
brcm,pins = <12 13>; | ||
brcm,function = <BCM2835_FSEL_ALT5>; | ||
}; | ||
|
||
i2c6_pins: i2c6 { | ||
brcm,pins = <22 23>; | ||
brcm,function = <BCM2835_FSEL_ALT5>; | ||
}; | ||
|
||
i2s_pins: i2s { | ||
brcm,pins = <18 19 20 21>; | ||
brcm,function = <BCM2835_FSEL_ALT0>; | ||
}; | ||
|
||
sdio_pins: sdio_pins { | ||
brcm,pins = <34 35 36 37 38 39>; | ||
brcm,function = <BCM2835_FSEL_ALT3>; // alt3 = SD1 | ||
brcm,pull = <0 2 2 2 2 2>; | ||
}; | ||
|
||
bt_pins: bt_pins { | ||
brcm,pins = "-"; // non-empty to keep btuart happy, //4 = 0 | ||
// to fool pinctrl | ||
brcm,function = <0>; | ||
brcm,pull = <2>; | ||
}; | ||
|
||
uart0_pins: uart0_pins { | ||
brcm,pins = <32 33>; | ||
brcm,function = <BCM2835_FSEL_ALT3>; | ||
brcm,pull = <0 2>; | ||
}; | ||
|
||
uart1_pins: uart1_pins { | ||
brcm,pins; | ||
brcm,function; | ||
brcm,pull; | ||
}; | ||
|
||
uart2_pins: uart2_pins { | ||
brcm,pins = <0 1>; | ||
brcm,function = <BCM2835_FSEL_ALT4>; | ||
brcm,pull = <0 2>; | ||
}; | ||
|
||
uart3_pins: uart3_pins { | ||
brcm,pins = <4 5>; | ||
brcm,function = <BCM2835_FSEL_ALT4>; | ||
brcm,pull = <0 2>; | ||
}; | ||
|
||
uart4_pins: uart4_pins { | ||
brcm,pins = <8 9>; | ||
brcm,function = <BCM2835_FSEL_ALT4>; | ||
brcm,pull = <0 2>; | ||
}; | ||
|
||
uart5_pins: uart5_pins { | ||
brcm,pins = <12 13>; | ||
brcm,function = <BCM2835_FSEL_ALT4>; | ||
brcm,pull = <0 2>; | ||
}; | ||
|
||
audio_pins: audio_pins { | ||
brcm,pins = <40 41>; | ||
brcm,function = <4>; | ||
}; | ||
}; | ||
|
||
&i2c0 { | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&i2c0_pins>; | ||
clock-frequency = <100000>; | ||
}; | ||
|
||
&i2c1 { | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&i2c1_pins>; | ||
clock-frequency = <100000>; | ||
}; | ||
|
||
&i2c2 { | ||
clock-frequency = <100000>; | ||
}; | ||
|
||
&i2s { | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&i2s_pins>; | ||
}; | ||
|
||
/ { | ||
__overrides__ { | ||
act_led_gpio = <&act_led>,"gpios:4"; | ||
act_led_activelow = <&act_led>,"gpios:8"; | ||
act_led_trigger = <&act_led>,"linux,default-trigger"; | ||
|
||
pwr_led_gpio = <&pwr_led>,"gpios:4"; | ||
pwr_led_activelow = <&pwr_led>,"gpios:8"; | ||
pwr_led_trigger = <&pwr_led>,"linux,default-trigger"; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
#include "bcm2838.dtsi" | ||
#include "bcm270x.dtsi" | ||
#include "bcm2708-rpi.dtsi" | ||
|
||
/ { | ||
soc { | ||
/delete-node/ mailbox@7e00b840; | ||
/delete-node/ v3d@7ec00000; | ||
}; | ||
|
||
__overrides__ { | ||
arm_freq; | ||
}; | ||
}; | ||
|
||
&dma { | ||
brcm,dma-channel-mask = <0x7ef5>; | ||
}; | ||
|
||
&txp { | ||
interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; | ||
}; | ||
|
||
&firmwarekms { | ||
interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>; | ||
}; | ||
|
||
&smi { | ||
interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>; | ||
}; | ||
|
||
&mmc { | ||
interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>; | ||
}; | ||
|
||
&mmcnr { | ||
interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>; | ||
}; | ||
|
||
&usb { | ||
reg = <0x7e980000 0x10000>, | ||
<0x7e00b200 0x200>; | ||
interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>, | ||
<GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; | ||
}; | ||
|
||
&gpio { | ||
interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>, | ||
<GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; | ||
}; |
Oops, something went wrong.