From: Ahmad Fatoum <a.fatoum@pengutronix.de>
To: barebox@lists.infradead.org
Cc: Felix Singer <felixsinger@posteo.net>,
Ahmad Fatoum <a.fatoum@pengutronix.de>
Subject: [PATCH 01/13] ARM: dts: add device trees for the QEMU Virt machine
Date: Sun, 12 Jan 2025 09:34:20 +0100 [thread overview]
Message-ID: <20250112083432.320215-2-a.fatoum@pengutronix.de> (raw)
In-Reply-To: <20250112083432.320215-1-a.fatoum@pengutronix.de>
QEMU assembles a device tree at runtime and passes it to the booted
kernel per Linux boot convention. The barebox-dt-2nd.img looks like a
Linux kernel and so we didn't need to ship our own device tree.
Things are different though if we want to run barebox second stage after
another bootloader, e.g. coreboot. Coreboot doesn't currently pass along
the QEMU device tree and because we have no barebox binary with the QEMU
device tree embedded, there is no image suitable for use as coreboot
payload.
A later commit will add an optional FIT image target that contains
barebox-dt-2nd.img along with all enabled device trees. To make that FIT
image bootable on QEMU Virt, let's dump the QEMU device trees with:
alias MAKEALL='scripts/container.sh ./MAKEALL'
MAKEALL -a arm test/arm/virt@multi_v7_defconfig.yaml --dump-dtb
MAKEALL -a arm test/arm/virt@multi_v8_defconfig.yaml --dump-dtb
and pretty them up with labels and binding macros.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
arch/arm/dts/Makefile | 3 +
arch/arm/dts/qemu-virt32.dts | 402 ++++++++++++++++++++++++++++++++++
arch/arm/dts/qemu-virt64.dts | 403 +++++++++++++++++++++++++++++++++++
3 files changed, 808 insertions(+)
create mode 100644 arch/arm/dts/qemu-virt32.dts
create mode 100644 arch/arm/dts/qemu-virt64.dts
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index b1c73b47aa40..13d8b0b04320 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -222,6 +222,9 @@ lwl-$(CONFIG_MACH_XILINX_ZCU102) += zynqmp-zcu102-revA.dtb.o zynqmp-zcu102-revB.
lwl-$(CONFIG_MACH_XILINX_ZCU104) += zynqmp-zcu104-revA.dtb.o
lwl-$(CONFIG_MACH_XILINX_ZCU106) += zynqmp-zcu106-revA.dtb.o
+lwl-$(CONFIG_MACH_VIRT) += qemu-virt32.dtb.o
+lwl-$(CONFIG_ARCH_ARM64_VIRT) += qemu-virt64.dtb.o
+
lwl-$(CONFIG_MACH_ZII_IMX7D_DEV) += imx7d-zii-rpu2.dtb.o imx7d-zii-rmu2.dtb.o
lwl-$(CONFIG_MACH_WAGO_PFC_AM35XX) += am35xx-pfc-750_820x.dtb.o
lwl-$(CONFIG_MACH_LS1028ARDB) += fsl-ls1028a-rdb.dtb.o
diff --git a/arch/arm/dts/qemu-virt32.dts b/arch/arm/dts/qemu-virt32.dts
new file mode 100644
index 000000000000..053fcc242df7
--- /dev/null
+++ b/arch/arm/dts/qemu-virt32.dts
@@ -0,0 +1,402 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/input/linux-event-codes.h>
+
+/dts-v1/;
+
+/ {
+ compatible = "linux,dummy-virt";
+ model = "linux,dummy-virt";
+ interrupt-parent = <&gic>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ chosen {
+ stdout-path = &uart0;
+ };
+
+ psci {
+ compatible = "arm,psci-1.0", "arm,psci-0.2", "arm,psci";
+ method = "hvc";
+ migrate = <0x84000005>;
+ cpu_on = <0x84000003>;
+ cpu_off = <0x84000002>;
+ cpu_suspend = <0x84000001>;
+ };
+
+ memory@40000000 {
+ reg = <0x0 0x40000000 0x0 0x40000000>;
+ device_type = "memory";
+ };
+
+ flash@0 {
+ compatible = "cfi-flash";
+ reg = <0x0 0x0 0x0 0x4000000>, <0x0 0x4000000 0x0 0x4000000>;
+ bank-width = <4>;
+ };
+
+ clk_24mhz: apb-pclk {
+ compatible = "fixed-clock";
+ clock-frequency = <24000000>;
+ clock-output-names = "clk24mhz";
+ #clock-cells = <0>;
+ };
+
+ platform-bus@c000000 {
+ compatible = "qemu,platform", "simple-bus";
+ ranges = <0x0 0x0 0xc000000 0x2000000>;
+ interrupt-parent = <&gic>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ };
+
+ fw-cfg@9020000 {
+ compatible = "qemu,fw-cfg-mmio";
+ reg = <0x0 0x9020000 0x0 0x18>;
+ dma-coherent;
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ poweroff {
+ gpios = <&gpio 3 GPIO_ACTIVE_HIGH>;
+ linux,code = <KEY_POWER>;
+ label = "GPIO Key Poweroff";
+ };
+ };
+
+ gpio: pl061@9030000 {
+ compatible = "arm,pl061", "arm,primecell";
+ reg = <0x0 0x9030000 0x0 0x1000>;
+ clock-names = "apb_pclk";
+ clocks = <&clk_24mhz>;
+ interrupts = <GIC_SPI 0x07 IRQ_TYPE_LEVEL_HIGH>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
+
+ pcie@10000000 {
+ compatible = "pci-host-ecam-generic";
+ device_type = "pci";
+ interrupt-map-mask = <0x1800 0x0 0x0 0x07>;
+ interrupt-map = <0x0000 0 0 1 &gic 0 0 GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
+ <0x0000 0 0 2 &gic 0 0 GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
+ <0x0000 0 0 3 &gic 0 0 GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
+ <0x0000 0 0 4 &gic 0 0 GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
+ <0x0800 0 0 1 &gic 0 0 GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
+ <0x0800 0 0 2 &gic 0 0 GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
+ <0x0800 0 0 3 &gic 0 0 GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
+ <0x0800 0 0 4 &gic 0 0 GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
+ <0x1000 0 0 1 &gic 0 0 GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
+ <0x1000 0 0 2 &gic 0 0 GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
+ <0x1000 0 0 3 &gic 0 0 GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
+ <0x1000 0 0 4 &gic 0 0 GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
+ <0x1800 0 0 1 &gic 0 0 GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
+ <0x1800 0 0 2 &gic 0 0 GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
+ <0x1800 0 0 3 &gic 0 0 GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
+ <0x1800 0 0 4 &gic 0 0 GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
+ #interrupt-cells = <1>;
+ ranges = <0x1000000 0 0 0 0x3eff0000 0 0x10000>,
+ <0x2000000 0 0x10000000 0 0x10000000 0 0x2eff0000>,
+ <0x3000000 0x80 0x0 0x80 0x0 0x80 0x0>;
+ reg = <0x40 0x10000000 0x0 0x10000000>;
+ msi-map = <0x0 &gic_its 0x0 0x10000>;
+ dma-coherent;
+ bus-range = <0 0xff>;
+ linux,pci-domain = <0>;
+ #address-cells = <3>;
+ #size-cells = <2>;
+ };
+
+ pl031@9010000 {
+ compatible = "arm,pl031", "arm,primecell";
+ reg = <0x0 0x9010000 0x0 0x1000>;
+ clock-names = "apb_pclk";
+ clocks = <&clk_24mhz>;
+ interrupts = <GIC_SPI 0x02 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ uart0: pl011@9000000 {
+ compatible = "arm,pl011", "arm,primecell";
+ reg = <0x0 0x9000000 0x0 0x1000>;
+ clock-names = "uartclk", "apb_pclk";
+ clocks = <&clk_24mhz>, <&clk_24mhz>;
+ interrupts = <GIC_SPI 0x01 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ pmu {
+ };
+
+ gic: intc@8000000 {
+ compatible = "arm,cortex-a15-gic";
+ reg = <0x0 0x8000000 0x0 0x10000>, <0x0 0x8010000 0x0 0x10000>;
+ ranges;
+ interrupt-controller;
+ #interrupt-cells = <3>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ gic_its: v2m@8020000 {
+ compatible = "arm,gic-v2m-frame";
+ reg = <0x0 0x8020000 0x0 0x1000>;
+ msi-controller;
+ };
+ };
+
+ cpus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ cpu0: cpu@0 {
+ compatible = "arm,cortex-a7";
+ device_type = "cpu";
+ reg = <0>;
+ };
+
+ cpu-map {
+ socket0 {
+ cluster0 {
+ core0 {
+ cpu = <&cpu0>;
+ };
+ };
+ };
+ };
+ };
+
+ timer {
+ compatible = "arm,armv7-timer";
+ interrupts = <GIC_PPI 0x0d (GIC_CPU_MASK_RAW(1) | IRQ_TYPE_LEVEL_HIGH)>,
+ <GIC_PPI 0x0e (GIC_CPU_MASK_RAW(1) | IRQ_TYPE_LEVEL_HIGH)>,
+ <GIC_PPI 0x0b (GIC_CPU_MASK_RAW(1) | IRQ_TYPE_LEVEL_HIGH)>,
+ <GIC_PPI 0x0a (GIC_CPU_MASK_RAW(1) | IRQ_TYPE_LEVEL_HIGH)>;
+ always-on;
+ };
+
+ virtio_mmio@a000000 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa000000 0x0 0x200>;
+ interrupts = <GIC_SPI 0x10 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a000200 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa000200 0x0 0x200>;
+ interrupts = <GIC_SPI 0x11 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a000400 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa000400 0x0 0x200>;
+ interrupts = <GIC_SPI 0x12 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a000600 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa000600 0x0 0x200>;
+ interrupts = <GIC_SPI 0x13 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a000800 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa000800 0x0 0x200>;
+ interrupts = <GIC_SPI 0x14 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a000a00 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa000a00 0x0 0x200>;
+ interrupts = <GIC_SPI 0x15 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a000c00 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa000c00 0x0 0x200>;
+ interrupts = <GIC_SPI 0x16 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a000e00 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa000e00 0x0 0x200>;
+ interrupts = <GIC_SPI 0x17 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a001000 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa001000 0x0 0x200>;
+ interrupts = <GIC_SPI 0x18 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a001200 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa001200 0x0 0x200>;
+ interrupts = <GIC_SPI 0x19 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a001400 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa001400 0x0 0x200>;
+ interrupts = <GIC_SPI 0x1a IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a001600 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa001600 0x0 0x200>;
+ interrupts = <GIC_SPI 0x1b IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a001800 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa001800 0x0 0x200>;
+ interrupts = <GIC_SPI 0x1c IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a001a00 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa001a00 0x0 0x200>;
+ interrupts = <GIC_SPI 0x1d IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a001c00 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa001c00 0x0 0x200>;
+ interrupts = <GIC_SPI 0x1e IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a001e00 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa001e00 0x0 0x200>;
+ interrupts = <GIC_SPI 0x1f IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a002000 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa002000 0x0 0x200>;
+ interrupts = <GIC_SPI 0x20 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a002200 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa002200 0x0 0x200>;
+ interrupts = <GIC_SPI 0x21 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a002400 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa002400 0x0 0x200>;
+ interrupts = <GIC_SPI 0x22 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a002600 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa002600 0x0 0x200>;
+ interrupts = <GIC_SPI 0x23 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a002800 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa002800 0x0 0x200>;
+ interrupts = <GIC_SPI 0x24 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a002a00 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa002a00 0x0 0x200>;
+ interrupts = <GIC_SPI 0x25 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a002c00 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa002c00 0x0 0x200>;
+ interrupts = <GIC_SPI 0x26 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a002e00 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa002e00 0x0 0x200>;
+ interrupts = <GIC_SPI 0x27 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a003000 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa003000 0x0 0x200>;
+ interrupts = <GIC_SPI 0x28 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a003200 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa003200 0x0 0x200>;
+ interrupts = <GIC_SPI 0x29 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a003400 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa003400 0x0 0x200>;
+ interrupts = <GIC_SPI 0x2a IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a003600 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa003600 0x0 0x200>;
+ interrupts = <GIC_SPI 0x2b IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a003800 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa003800 0x0 0x200>;
+ interrupts = <GIC_SPI 0x2c IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a003a00 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa003a00 0x0 0x200>;
+ interrupts = <GIC_SPI 0x2d IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a003c00 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa003c00 0x0 0x200>;
+ interrupts = <GIC_SPI 0x2e IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a003e00 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa003e00 0x0 0x200>;
+ interrupts = <GIC_SPI 0x2f IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+};
diff --git a/arch/arm/dts/qemu-virt64.dts b/arch/arm/dts/qemu-virt64.dts
new file mode 100644
index 000000000000..0fc98c22cd5f
--- /dev/null
+++ b/arch/arm/dts/qemu-virt64.dts
@@ -0,0 +1,403 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/input/linux-event-codes.h>
+
+/dts-v1/;
+
+/ {
+ compatible = "linux,dummy-virt";
+ model = "linux,dummy-virt";
+ interrupt-parent = <&gic>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ chosen {
+ stdout-path = &uart0;
+ };
+
+ psci {
+ compatible = "arm,psci-1.0", "arm,psci-0.2", "arm,psci";
+ method = "hvc";
+ migrate = <0xc4000005>;
+ cpu_on = <0xc4000003>;
+ cpu_off = <0x84000002>;
+ cpu_suspend = <0xc4000001>;
+ };
+
+ memory@40000000 {
+ reg = <0x0 0x40000000 0x0 0x40000000>;
+ device_type = "memory";
+ };
+
+ flash@0 {
+ compatible = "cfi-flash";
+ reg = <0x0 0x0 0x0 0x4000000>, <0x0 0x4000000 0x0 0x4000000>;
+ bank-width = <4>;
+ };
+
+ clk_24mhz: apb-pclk {
+ compatible = "fixed-clock";
+ clock-frequency = <24000000>;
+ clock-output-names = "clk24mhz";
+ #clock-cells = <0>;
+ };
+
+ platform-bus@c000000 {
+ compatible = "qemu,platform", "simple-bus";
+ ranges = <0x0 0x0 0xc000000 0x2000000>;
+ interrupt-parent = <&gic>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ };
+
+ fw-cfg@9020000 {
+ compatible = "qemu,fw-cfg-mmio";
+ reg = <0x0 0x9020000 0x0 0x18>;
+ dma-coherent;
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ poweroff {
+ gpios = <&gpio 3 GPIO_ACTIVE_HIGH>;
+ linux,code = <KEY_POWER>;
+ label = "GPIO Key Poweroff";
+ };
+ };
+
+ gpio: pl061@9030000 {
+ compatible = "arm,pl061", "arm,primecell";
+ reg = <0x0 0x9030000 0x0 0x1000>;
+ clock-names = "apb_pclk";
+ clocks = <&clk_24mhz>;
+ interrupts = <GIC_SPI 0x07 IRQ_TYPE_LEVEL_HIGH>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
+
+ pcie@10000000 {
+ compatible = "pci-host-ecam-generic";
+ device_type = "pci";
+ interrupt-map-mask = <0x1800 0x0 0x0 0x07>;
+ interrupt-map = <0x0000 0 0 1 &gic 0 0 GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
+ <0x0000 0 0 2 &gic 0 0 GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
+ <0x0000 0 0 3 &gic 0 0 GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
+ <0x0000 0 0 4 &gic 0 0 GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
+ <0x0800 0 0 1 &gic 0 0 GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
+ <0x0800 0 0 2 &gic 0 0 GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
+ <0x0800 0 0 3 &gic 0 0 GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
+ <0x0800 0 0 4 &gic 0 0 GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
+ <0x1000 0 0 1 &gic 0 0 GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
+ <0x1000 0 0 2 &gic 0 0 GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
+ <0x1000 0 0 3 &gic 0 0 GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
+ <0x1000 0 0 4 &gic 0 0 GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
+ <0x1800 0 0 1 &gic 0 0 GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
+ <0x1800 0 0 2 &gic 0 0 GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
+ <0x1800 0 0 3 &gic 0 0 GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
+ <0x1800 0 0 4 &gic 0 0 GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
+ #interrupt-cells = <1>;
+ ranges = <0x1000000 0 0 0 0x3eff0000 0 0x10000>,
+ <0x2000000 0 0x10000000 0 0x10000000 0 0x2eff0000>;
+ reg = <0x0 0x3f000000 0x0 0x1000000>;
+ msi-map = <0x0 &gic_its 0x0 0x10000>;
+ dma-coherent;
+ bus-range = <0 0xf>;
+ linux,pci-domain = <0>;
+ #address-cells = <3>;
+ #size-cells = <2>;
+ };
+
+ pl031@9010000 {
+ compatible = "arm,pl031", "arm,primecell";
+ reg = <0x0 0x9010000 0x0 0x1000>;
+ clock-names = "apb_pclk";
+ clocks = <&clk_24mhz>;
+ interrupts = <GIC_SPI 0x02 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ uart0: pl011@9000000 {
+ compatible = "arm,pl011", "arm,primecell";
+ reg = <0x0 0x9000000 0x0 0x1000>;
+ clock-names = "uartclk", "apb_pclk";
+ clocks = <&clk_24mhz>, <&clk_24mhz>;
+ interrupts = <GIC_SPI 0x01 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ pmu {
+ compatible = "arm,armv8-pmuv3";
+ interrupts = <GIC_PPI 0x07 (GIC_CPU_MASK_RAW(1) | IRQ_TYPE_LEVEL_HIGH)>;
+ };
+
+ gic: intc@8000000 {
+ compatible = "arm,cortex-a15-gic";
+ reg = <0x0 0x8000000 0x0 0x10000>, <0x0 0x8010000 0x0 0x10000>;
+ ranges;
+ interrupt-controller;
+ #interrupt-cells = <3>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ gic_its: v2m@8020000 {
+ compatible = "arm,gic-v2m-frame";
+ reg = <0x0 0x8020000 0x0 0x1000>;
+ msi-controller;
+ };
+ };
+
+ cpus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ cpu0: cpu@0 {
+ compatible = "arm,cortex-a57";
+ device_type = "cpu";
+ reg = <0>;
+ };
+
+ cpu-map {
+ socket0 {
+ cluster0 {
+ core0 {
+ cpu = <&cpu0>;
+ };
+ };
+ };
+ };
+ };
+
+ timer {
+ compatible = "arm,armv8-timer", "arm,armv7-timer";
+ interrupts = <GIC_PPI 0x0d (GIC_CPU_MASK_RAW(1) | IRQ_TYPE_LEVEL_HIGH)>,
+ <GIC_PPI 0x0e (GIC_CPU_MASK_RAW(1) | IRQ_TYPE_LEVEL_HIGH)>,
+ <GIC_PPI 0x0b (GIC_CPU_MASK_RAW(1) | IRQ_TYPE_LEVEL_HIGH)>,
+ <GIC_PPI 0x0a (GIC_CPU_MASK_RAW(1) | IRQ_TYPE_LEVEL_HIGH)>;
+ always-on;
+ };
+
+ virtio_mmio@a000000 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa000000 0x0 0x200>;
+ interrupts = <GIC_SPI 0x10 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a000200 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa000200 0x0 0x200>;
+ interrupts = <GIC_SPI 0x11 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a000400 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa000400 0x0 0x200>;
+ interrupts = <GIC_SPI 0x12 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a000600 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa000600 0x0 0x200>;
+ interrupts = <GIC_SPI 0x13 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a000800 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa000800 0x0 0x200>;
+ interrupts = <GIC_SPI 0x14 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a000a00 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa000a00 0x0 0x200>;
+ interrupts = <GIC_SPI 0x15 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a000c00 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa000c00 0x0 0x200>;
+ interrupts = <GIC_SPI 0x16 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a000e00 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa000e00 0x0 0x200>;
+ interrupts = <GIC_SPI 0x17 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a001000 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa001000 0x0 0x200>;
+ interrupts = <GIC_SPI 0x18 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a001200 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa001200 0x0 0x200>;
+ interrupts = <GIC_SPI 0x19 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a001400 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa001400 0x0 0x200>;
+ interrupts = <GIC_SPI 0x1a IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a001600 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa001600 0x0 0x200>;
+ interrupts = <GIC_SPI 0x1b IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a001800 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa001800 0x0 0x200>;
+ interrupts = <GIC_SPI 0x1c IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a001a00 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa001a00 0x0 0x200>;
+ interrupts = <GIC_SPI 0x1d IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a001c00 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa001c00 0x0 0x200>;
+ interrupts = <GIC_SPI 0x1e IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a001e00 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa001e00 0x0 0x200>;
+ interrupts = <GIC_SPI 0x1f IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a002000 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa002000 0x0 0x200>;
+ interrupts = <GIC_SPI 0x20 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a002200 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa002200 0x0 0x200>;
+ interrupts = <GIC_SPI 0x21 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a002400 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa002400 0x0 0x200>;
+ interrupts = <GIC_SPI 0x22 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a002600 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa002600 0x0 0x200>;
+ interrupts = <GIC_SPI 0x23 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a002800 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa002800 0x0 0x200>;
+ interrupts = <GIC_SPI 0x24 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a002a00 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa002a00 0x0 0x200>;
+ interrupts = <GIC_SPI 0x25 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a002c00 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa002c00 0x0 0x200>;
+ interrupts = <GIC_SPI 0x26 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a002e00 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa002e00 0x0 0x200>;
+ interrupts = <GIC_SPI 0x27 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a003000 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa003000 0x0 0x200>;
+ interrupts = <GIC_SPI 0x28 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a003200 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa003200 0x0 0x200>;
+ interrupts = <GIC_SPI 0x29 IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a003400 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa003400 0x0 0x200>;
+ interrupts = <GIC_SPI 0x2a IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a003600 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa003600 0x0 0x200>;
+ interrupts = <GIC_SPI 0x2b IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a003800 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa003800 0x0 0x200>;
+ interrupts = <GIC_SPI 0x2c IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a003a00 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa003a00 0x0 0x200>;
+ interrupts = <GIC_SPI 0x2d IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a003c00 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa003c00 0x0 0x200>;
+ interrupts = <GIC_SPI 0x2e IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+
+ virtio_mmio@a003e00 {
+ compatible = "virtio,mmio";
+ reg = <0x0 0xa003e00 0x0 0x200>;
+ interrupts = <GIC_SPI 0x2f IRQ_TYPE_EDGE_RISING>;
+ dma-coherent;
+ };
+};
--
2.39.5
next prev parent reply other threads:[~2025-01-12 8:35 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-12 8:34 [PATCH 00/13] images: add barebox FIT image target Ahmad Fatoum
2025-01-12 8:34 ` Ahmad Fatoum [this message]
2025-01-12 8:34 ` [PATCH 02/13] treewide: collect the name of all board device trees Ahmad Fatoum
2025-01-12 8:34 ` [PATCH 03/13] kbuild: collect available device trees in dtbs-list Ahmad Fatoum
2025-01-12 8:34 ` [PATCH 04/13] scripts: add new scripts_dtc target Ahmad Fatoum
2025-01-12 8:34 ` [PATCH 05/13] kbuild: restrict dtbs target to enabled DTs by default Ahmad Fatoum
2025-01-12 8:34 ` [PATCH 06/13] kbuild: improve make help description Ahmad Fatoum
2025-01-12 8:34 ` [PATCH 07/13] kbuild: allow dependency on any file in images/ Ahmad Fatoum
2025-01-12 8:34 ` [PATCH 08/13] arch: maintain Linux kernel and mkimage ARCH mapping in Kconfig Ahmad Fatoum
2025-01-12 8:34 ` [PATCH 09/13] arch: make BOARD_GENERIC_DT a user-selectable option across archs Ahmad Fatoum
2025-01-12 8:34 ` [PATCH 10/13] images: add barebox FIT image target Ahmad Fatoum
2025-01-17 8:32 ` Sascha Hauer
2025-01-17 9:03 ` Ahmad Fatoum
2025-01-20 7:19 ` Sascha Hauer
2025-01-12 8:34 ` [PATCH 11/13] MAKEALL: rename target in symbols to more appropiate defconfig Ahmad Fatoum
2025-01-12 8:34 ` [PATCH 12/13] MAKEALL: add support for building arbitrary targets Ahmad Fatoum
2025-01-12 8:34 ` [PATCH 13/13] ci: container: add python3-libfdt dependency for barebox.fit Ahmad Fatoum
2025-01-14 8:18 ` [PATCH 00/13] images: add barebox FIT image target Sascha Hauer
2025-01-21 8:07 ` (subset) " Sascha Hauer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250112083432.320215-2-a.fatoum@pengutronix.de \
--to=a.fatoum@pengutronix.de \
--cc=barebox@lists.infradead.org \
--cc=felixsinger@posteo.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox