diff --git a/root/target/linux/bcm27xx/patches-5.4/950-0785-ARM-dts-Add-bcm2711-rpi-cm4.dts.patch b/root/target/linux/bcm27xx/patches-5.4/950-0785-ARM-dts-Add-bcm2711-rpi-cm4.dts.patch index a5e2272c..7f71ce41 100755 --- a/root/target/linux/bcm27xx/patches-5.4/950-0785-ARM-dts-Add-bcm2711-rpi-cm4.dts.patch +++ b/root/target/linux/bcm27xx/patches-5.4/950-0785-ARM-dts-Add-bcm2711-rpi-cm4.dts.patch @@ -9,7 +9,7 @@ Signed-off-by: Phil Elwell --- arch/arm/boot/dts/Makefile | 3 +- arch/arm/boot/dts/bcm2711-rpi-cm4.dts | 586 ++++++++++++++++++++++++++ - 3 files changed, 594 insertions(+), 1 deletion(-) + 3 files changed, 485 insertions(+), 1 deletion(-) create mode 100644 arch/arm/boot/dts/bcm2711-rpi-cm4.dts --- a/arch/arm/boot/dts/Makefile @@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell alpine-db.dtb --- /dev/null +++ b/arch/arm/boot/dts/bcm2711-rpi-cm4.dts -@@ -0,0 +1,536 @@ +@@ -0,0 +1,485 @@ +// SPDX-License-Identifier: GPL-2.0 +/dts-v1/; +#include "bcm2711.dtsi" @@ -48,7 +48,9 @@ Signed-off-by: Phil Elwell + }; + + aliases { ++ emmc2bus = &emmc2bus; + ethernet0 = &genet; ++ pcie0 = &pcie0; + }; + + leds { @@ -59,6 +61,8 @@ Signed-off-by: Phil Elwell + pwr { + label = "PWR"; + gpios = <&expgpio 2 GPIO_ACTIVE_LOW>; ++ default-state = "keep"; ++ linux,default-trigger = "default-on"; + }; + }; + @@ -172,50 +176,11 @@ Signed-off-by: Phil Elwell + interrupts = ; +}; + -+&vc4 { -+ status = "okay"; -+}; -+ -+&pixelvalve0 { -+ status = "okay"; -+}; -+ -+&pixelvalve1 { -+ status = "okay"; -+}; -+ -+&pixelvalve2 { -+ status = "okay"; -+}; -+ -+&pixelvalve3 { -+ status = "okay"; -+}; -+ -+&pixelvalve4 { -+ status = "okay"; -+}; -+ -+&hdmi0 { -+ status = "okay"; -+}; -+ -+&ddc0 { -+ status = "okay"; -+}; -+ -+&hdmi1 { -+ status = "okay"; -+}; -+ -+&ddc1 { -+ status = "okay"; -+}; -+ +// ============================================= +// Downstream rpi- changes + +#include "bcm270x.dtsi" ++#include "bcm271x-rpi-bt.dtsi" + +/ { + soc { @@ -225,14 +190,13 @@ Signed-off-by: Phil Elwell +}; + +#include "bcm2711-rpi.dtsi" -+#include "bcm283x-rpi-csi1-2lane.dtsi" ++#include "bcm283x-rpi-csi0-2lane.dtsi" ++#include "bcm283x-rpi-csi1-4lane.dtsi" +#include "bcm283x-rpi-i2c0mux_0_44.dtsi" + -+/delete-node/ &emmc2; -+ +/ { + chosen { -+ bootargs = "coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 snd_bcm2835.enable_headphones=1"; ++ bootargs = "coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1"; + }; + + aliases { @@ -246,34 +210,16 @@ Signed-off-by: Phil Elwell + i2c4 = &i2c4; + i2c5 = &i2c5; + i2c6 = &i2c6; -+ /delete-property/ ethernet; + /delete-property/ intc; -+ pcie0 = &pcie0; -+ emmc2bus = &emmc2bus; -+ }; -+ -+ emmc2bus: emmc2bus { -+ compatible = "simple-bus"; -+ #address-cells = <2>; -+ #size-cells = <1>; -+ -+ ranges = <0x0 0x7e000000 0x0 0xfe000000 0x01800000>; -+ dma-ranges = <0x0 0xc0000000 0x0 0x00000000 0x40000000>; -+ -+ emmc2: emmc2@7e340000 { -+ compatible = "brcm,bcm2711-emmc2"; -+ status = "okay"; -+ interrupts = ; -+ clocks = <&clocks BCM2711_CLOCK_EMMC2>; -+ reg = <0x0 0x7e340000 0x100>; -+ vqmmc-supply = <&sd_io_1v8_reg>; -+ broken-cd; -+ }; + }; + + /delete-node/ wifi-pwrseq; +}; + ++&pcie0 { ++ brcm,enable-l1ss; ++}; ++ +&mmcnr { + pinctrl-names = "default"; + pinctrl-0 = <&sdio_pins>; @@ -284,8 +230,6 @@ Signed-off-by: Phil Elwell +&uart0 { + pinctrl-0 = <&uart0_pins &bt_pins>; + status = "okay"; -+ -+ /delete-node/ bluetooth; +}; + +&uart1 { @@ -293,16 +237,16 @@ Signed-off-by: Phil Elwell +}; + +&gpio { ++ spi0_pins: spi0_pins { ++ brcm,pins = <9 10 11>; ++ brcm,function = ; ++ }; ++ + spi0_cs_pins: spi0_cs_pins { + brcm,pins = <8 7>; + brcm,function = ; + }; + -+ spi3_pins: spi3_pins { -+ brcm,pins = <1 2 3>; -+ brcm,function = ; -+ }; -+ + spi4_pins: spi4_pins { + brcm,pins = <5 6 7>; + brcm,function = ; @@ -373,6 +317,10 @@ Signed-off-by: Phil Elwell + clock-frequency = <100000>; +}; + ++&firmwarekms { ++ compatible = "raspberrypi,rpi-firmware-kms-2711"; ++}; ++ +// ============================================= +// Board specific stuff here + @@ -403,8 +351,8 @@ Signed-off-by: Phil Elwell + +&gpio { + audio_pins: audio_pins { -+ brcm,pins = <40 41>; -+ brcm,function = <4>; ++ brcm,pins = <>; ++ brcm,function = <>; + }; +}; + @@ -419,10 +367,7 @@ Signed-off-by: Phil Elwell + label = "led1"; + linux,default-trigger = "default-on"; + gpios = <&expgpio 2 GPIO_ACTIVE_LOW>; -+ default-state = "keep"; -+ linux,default-trigger = "default-on"; + }; -+ + wlan2g { + label = "wlan2g"; + gpios = <&gpio 17 GPIO_ACTIVE_HIGH>; @@ -506,6 +451,7 @@ Signed-off-by: Phil Elwell +&audio { + pinctrl-names = "default"; + pinctrl-0 = <&audio_pins>; ++ brcm,disable-headphones = <1>; +}; + +&vc4 { @@ -561,6 +507,7 @@ Signed-off-by: Phil Elwell + eth_led0 = <&phy1>,"led-modes:0"; + eth_led1 = <&phy1>,"led-modes:4"; + ++ sd_poll_once = <&emmc2>, "non-removable?"; + spi_dma4 = <&spi0>, "dmas:0=", <&dma40>, + <&spi0>, "dmas:8=", <&dma40>; + };