ARM: dts: overlays: Add a bcm2712d0 overlay
authorPhil Elwell <phil@raspberrypi.com>
Thu, 16 Nov 2023 15:18:29 +0000 (15:18 +0000)
committerDom Cobley <popcornmix@gmail.com>
Mon, 19 Feb 2024 11:35:28 +0000 (11:35 +0000)
The bcm2712d0 overlay encapsulates the differences between BCM2712C0/1
and D0.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
arch/arm/boot/dts/overlays/Makefile
arch/arm/boot/dts/overlays/README
arch/arm/boot/dts/overlays/bcm2712d0-overlay.dts [new file with mode: 0644]

index fc97bdb..715a159 100644 (file)
@@ -34,6 +34,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
        audiosense-pi.dtbo \
        audremap.dtbo \
        balena-fin.dtbo \
+       bcm2712d0.dtbo \
        camera-mux-2port.dtbo \
        camera-mux-4port.dtbo \
        cap1106.dtbo \
index 94147d1..621840b 100644 (file)
@@ -826,6 +826,12 @@ Load:   dtoverlay=balena-fin
 Params: <None>
 
 
+Name:   bcm2712d0
+Info:   Overlay encapsulating the BCM2712 C0->D0 differences
+Load:   dtoverlay=bcm2712d0
+Params: <None>
+
+
 Name:   bmp085_i2c-sensor
 Info:   This overlay is now deprecated - see i2c-sensor
 Load:   <Deprecated>
diff --git a/arch/arm/boot/dts/overlays/bcm2712d0-overlay.dts b/arch/arm/boot/dts/overlays/bcm2712d0-overlay.dts
new file mode 100644 (file)
index 0000000..8f9c6a8
--- /dev/null
@@ -0,0 +1,75 @@
+// SPDX-License-Identifier: GPL-2.0
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+/ {
+       compatible = "brcm,bcm2712";
+
+       fragment@0 {
+               target = <&gio>;
+               __overlay__ {
+                       brcm,gpio-bank-widths = <32 4>;
+               };
+       };
+
+       fragment@1 {
+               target = <&gio_aon>;
+               __overlay__ {
+                       brcm,gpio-bank-widths = <15 6>;
+               };
+       };
+
+       fragment@2 {
+               target = <&pinctrl>;
+               __overlay__ {
+                       compatible = "brcm,bcm2712d0-pinctrl";
+                       reg = <0x7d504100 0x20>;
+               };
+       };
+
+       fragment@3 {
+               target = <&pinctrl_aon>;
+               __overlay__ {
+                       compatible = "brcm,bcm2712d0-aon-pinctrl";
+                       reg = <0x7d510700 0x1c>;
+               };
+       };
+
+       fragment@4 {
+               target = <&vc4>;
+               __overlay__ {
+                       compatible = "brcm,bcm2712d0-vc6";
+               };
+       };
+
+       fragment@5 {
+               target = <&uart10>;
+               __overlay__ {
+                       interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
+               };
+       };
+
+       fragment@6 {
+               target = <&spi10>;
+               __overlay__ {
+                       dmas = <&dma40 3>, <&dma40 4>;
+               };
+       };
+
+       fragment@7 {
+               target = <&hdmi0>;
+               __overlay__ {
+                       dmas = <&dma40 (12|(1<<30)|(1<<24)|(10<<16)|(15<<20))>;
+               };
+       };
+
+       fragment@8 {
+               target = <&hdmi1>;
+               __overlay__ {
+                       dmas = <&dma40 (13|(1<<30)|(1<<24)|(10<<16)|(15<<20))>;
+               };
+       };
+};