From 51b8b9c3c46cec87ebb7b484727c80ff29d73057 Mon Sep 17 00:00:00 2001 From: Debbie Martin Date: Tue, 24 Oct 2023 13:51:55 +0100 Subject: [PATCH] feat(fvp): add support for virto-net, virtio-9p and virtio-rng Add virtio-net and virtio-9p devices to the devicetree without the status set. This ensures that the MMIO frame is set, and it is not fatal to start the driver initialisation procedure, which will typically bail out if it finds zero virtqueues. Add the virtio-rng device with status disabled. The disabled status is chosen because the FVP models have only supported this since 2022 and older models would trigger an external abort when trying to access or probe this MMIO region. This is included by the fvp-base devicetrees. Change-Id: Ia0a853533bb5d619a3d415e35b3217ad3a978ada Signed-off-by: Diego Sueiro Signed-off-by: Debbie Martin --- fdts/fvp-base-psci-common.dtsi | 5 ++++- fdts/rtsm_ve-motherboard.dtsi | 19 +++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/fdts/fvp-base-psci-common.dtsi b/fdts/fvp-base-psci-common.dtsi index ff31ba761..583bba70e 100644 --- a/fdts/fvp-base-psci-common.dtsi +++ b/fdts/fvp-base-psci-common.dtsi @@ -244,6 +244,9 @@ <0 0 39 &gic 0 GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>, <0 0 40 &gic 0 GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, <0 0 41 &gic 0 GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>, - <0 0 42 &gic 0 GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; + <0 0 42 &gic 0 GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>, + <0 0 43 &gic 0 GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>, + <0 0 44 &gic 0 GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>, + <0 0 46 &gic 0 GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; }; }; diff --git a/fdts/rtsm_ve-motherboard.dtsi b/fdts/rtsm_ve-motherboard.dtsi index 0a824b349..5a34aae43 100644 --- a/fdts/rtsm_ve-motherboard.dtsi +++ b/fdts/rtsm_ve-motherboard.dtsi @@ -230,6 +230,25 @@ interrupts = <42>; }; + virtio@140000 { + compatible = "virtio,mmio"; + reg = <0x140000 0x200>; + interrupts = <43>; + }; + + virtio@150000 { + compatible = "virtio,mmio"; + reg = <0x150000 0x200>; + interrupts = <44>; + }; + + virtio@200000 { + compatible = "virtio,mmio"; + reg = <0x200000 0x200>; + interrupts = <46>; + status = "disabled"; + }; + rtc@170000 { compatible = "arm,pl031", "arm,primecell"; reg = <0x170000 0x1000>;