Browse Source

boards: qemu: cortex_a53: add virtio-mmio configuration

Add `virtio-mmio` nodes that are retrieved from qemu internal
devicetree dump, to dts.

Also, enable the virtio-rng device on the command line.

Note: Ideally, it would be possible to dynamically generate the
command line by looking at the devicetree state,
but this PR is a fixed implementation to simplify it.
This will be addressed separately.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
pull/91115/merge
TOKITA Hiroshi 2 months ago committed by Fabio Baltieri
parent
commit
a6dec8ee4a
  1. 6
      boards/qemu/cortex_a53/board.cmake
  2. 223
      boards/qemu/cortex_a53/qemu_cortex_a53.dts

6
boards/qemu/cortex_a53/board.cmake

@ -12,8 +12,14 @@ else() @@ -12,8 +12,14 @@ else()
set(QEMU_MACH virt,secure=on,gic-version=3)
endif()
if(CONFIG_ENTROPY_VIRTIO)
set(QEMU_VIRTIO_ENTROPY_FLAGS -device virtio-rng-device,bus=virtio-mmio-bus.0)
endif()
set(QEMU_FLAGS_${ARCH}
-global virtio-mmio.force-legacy=false
-cpu ${QEMU_CPU_TYPE_${ARCH}}
${QEMU_VIRTIO_ENTROPY_FLAGS}
-nographic
-machine ${QEMU_MACH}
)

223
boards/qemu/cortex_a53/qemu_cortex_a53.dts

@ -31,6 +31,229 @@ @@ -31,6 +31,229 @@
reg = <0x0 0x40000000 0x0 DT_SIZE_M(128)>;
};
virtio_mmio0: virtio_mmio@a000000 {
compatible = "virtio,mmio";
reg = <0x0 0xa000000 0x0 0x200>;
interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
status = "disabled";
};
virtio_mmio1: virtio_mmio@a000200 {
compatible = "virtio,mmio";
reg = <0x0 0xa000200 0x0 0x200>;
interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
status = "disabled";
};
virtio_mmio2: virtio_mmio@a000400 {
compatible = "virtio,mmio";
reg = <0x0 0xa000400 0x0 0x200>;
interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
status = "disabled";
};
virtio_mmio3: virtio_mmio@a000600 {
compatible = "virtio,mmio";
reg = <0x0 0xa000600 0x0 0x200>;
interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
status = "disabled";
};
virtio_mmio4: virtio_mmio@a000800 {
compatible = "virtio,mmio";
reg = <0x0 0xa000800 0x0 0x200>;
interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
status = "disabled";
};
virtio_mmio5: virtio_mmio@a000a00 {
compatible = "virtio,mmio";
reg = <0x0 0xa000a00 0x0 0x200>;
interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
status = "disabled";
};
virtio_mmio6: virtio_mmio@a000c00 {
compatible = "virtio,mmio";
reg = <0x0 0xa000c00 0x0 0x200>;
interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
status = "disabled";
};
virtio_mmio7: virtio_mmio@a000e00 {
compatible = "virtio,mmio";
reg = <0x0 0xa000e00 0x0 0x200>;
interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
status = "disabled";
};
virtio_mmio8: virtio_mmio@a001000 {
compatible = "virtio,mmio";
interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
reg = <0x0 0xa001000 0x0 0x200>;
status = "disabled";
};
virtio_mmio9: virtio_mmio@a001200 {
compatible = "virtio,mmio";
reg = <0x0 0xa001200 0x0 0x200>;
interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
status = "disabled";
};
virtio_mmio10: virtio_mmio@a001400 {
compatible = "virtio,mmio";
reg = <0x0 0xa001400 0x0 0x200>;
interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
status = "disabled";
};
virtio_mmio11: virtio_mmio@a001600 {
compatible = "virtio,mmio";
reg = <0x0 0xa001600 0x0 0x200>;
interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
status = "disabled";
};
virtio_mmio12: virtio_mmio@a001800 {
compatible = "virtio,mmio";
reg = <0x0 0xa001800 0x0 0x200>;
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
status = "disabled";
};
virtio_mmio13: virtio_mmio@a001a00 {
compatible = "virtio,mmio";
reg = <0x0 0xa001a00 0x0 0x200>;
interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
status = "disabled";
};
virtio_mmio14: virtio_mmio@a001c00 {
compatible = "virtio,mmio";
reg = <0x0 0xa001c00 0x0 0x200>;
interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
status = "disabled";
};
virtio_mmio15: virtio_mmio@a001e00 {
compatible = "virtio,mmio";
reg = <0x0 0xa001e00 0x0 0x200>;
interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
status = "disabled";
};
virtio_mmio16: virtio_mmio@a002000 {
compatible = "virtio,mmio";
reg = <0x0 0xa002000 0x0 0x200>;
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
status = "disabled";
};
virtio_mmio17: virtio_mmio@a002200 {
compatible = "virtio,mmio";
reg = <0x0 0xa002200 0x0 0x200>;
interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
status = "disabled";
};
virtio_mmio18: virtio_mmio@a002400 {
compatible = "virtio,mmio";
reg = <0x0 0xa002400 0x0 0x200>;
interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
status = "disabled";
};
virtio_mmio19: virtio_mmio@a002600 {
compatible = "virtio,mmio";
reg = <0x0 0xa002600 0x0 0x200>;
interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
status = "disabled";
};
virtio_mmio20: virtio_mmio@a002800 {
compatible = "virtio,mmio";
reg = <0x0 0xa002800 0x0 0x200>;
interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
status = "disabled";
};
virtio_mmio21: virtio_mmio@a002a00 {
compatible = "virtio,mmio";
reg = <0x0 0xa002a00 0x0 0x200>;
interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
status = "disabled";
};
virtio_mmio22: virtio_mmio@a002c00 {
compatible = "virtio,mmio";
reg = <0x0 0xa002c00 0x0 0x200>;
interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
status = "disabled";
};
virtio_mmio23: virtio_mmio@a002e00 {
compatible = "virtio,mmio";
reg = <0x0 0xa002e00 0x0 0x200>;
interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
status = "disabled";
};
virtio_mmio24: virtio_mmio@a003000 {
compatible = "virtio,mmio";
reg = <0x0 0xa003000 0x0 0x200>;
interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
status = "disabled";
};
virtio_mmio25: virtio_mmio@a003200 {
compatible = "virtio,mmio";
reg = <0x0 0xa003200 0x0 0x200>;
interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
status = "disabled";
};
virtio_mmio26: virtio_mmio@a003400 {
compatible = "virtio,mmio";
reg = <0x0 0xa003400 0x0 0x200>;
interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
status = "disabled";
};
virtio_mmio27: virtio_mmio@a003600 {
compatible = "virtio,mmio";
reg = <0x0 0xa003600 0x0 0x200>;
interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
status = "disabled";
};
virtio_mmio28: virtio_mmio@a003800 {
compatible = "virtio,mmio";
reg = <0x0 0xa003800 0x0 0x200>;
interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
status = "disabled";
};
virtio_mmio29: virtio_mmio@a003a00 {
compatible = "virtio,mmio";
reg = <0x0 0xa003a00 0x0 0x200>;
interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
status = "disabled";
};
virtio_mmio30: virtio_mmio@a003c00 {
compatible = "virtio,mmio";
reg = <0x0 0xa003c00 0x0 0x200>;
interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
status = "disabled";
};
virtio_mmio31: virtio_mmio@a003e00 {
compatible = "virtio,mmio";
reg = <0x0 0xa003e00 0x0 0x200>;
interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
status = "disabled";
};
};
};

Loading…
Cancel
Save