aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexey Brodkin <Alexey.Brodkin@synopsys.com>2019-07-02 12:40:33 -0400
committerVineet Gupta <vgupta@synopsys.com>2019-07-08 04:24:45 -0400
commit94b8beb972c524f42078281c9950ed3a946455fa (patch)
treed15537d8fa6474cfbcca87f6e695f07065756797
parent75370ad44075e832966a6dd1f6a649b8aee2325b (diff)
ARC: [haps] Add Virtio support
As a preparation for QEMU usage for ARC let's add basic Virtio-MMIO peripherals support for the platform we're going to use. For now we add 5 Virtio slots in .dts and enable block and network devices via Virtio-MMIO. Note even though typically Virtio register set fits in 0x200 bytes we "allocate" here 0x2000 so that it matches ARC's default 8KiB page size and so remapping of that area is done clearly. We also enable DEVTMPFS automount for more convenient use of external root file-stystem. Before that we used to use built-in Initramfs which didn't automount DEVTMPFS anyways so we didn't need that option, while now it starts making sense. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Rob Herring <robh+dt@kernel.org> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
-rw-r--r--arch/arc/boot/dts/haps_hs.dts30
-rw-r--r--arch/arc/configs/haps_hs_defconfig5
2 files changed, 34 insertions, 1 deletions
diff --git a/arch/arc/boot/dts/haps_hs.dts b/arch/arc/boot/dts/haps_hs.dts
index 1ebfa046492b..44bc522fdec8 100644
--- a/arch/arc/boot/dts/haps_hs.dts
+++ b/arch/arc/boot/dts/haps_hs.dts
@@ -62,5 +62,35 @@
62 #interrupt-cells = <1>; 62 #interrupt-cells = <1>;
63 interrupts = <20>; 63 interrupts = <20>;
64 }; 64 };
65
66 virtio0: virtio@f0100000 {
67 compatible = "virtio,mmio";
68 reg = <0xf0100000 0x2000>;
69 interrupts = <31>;
70 };
71
72 virtio1: virtio@f0102000 {
73 compatible = "virtio,mmio";
74 reg = <0xf0102000 0x2000>;
75 interrupts = <32>;
76 };
77
78 virtio2: virtio@f0104000 {
79 compatible = "virtio,mmio";
80 reg = <0xf0104000 0x2000>;
81 interrupts = <33>;
82 };
83
84 virtio3: virtio@f0106000 {
85 compatible = "virtio,mmio";
86 reg = <0xf0106000 0x2000>;
87 interrupts = <34>;
88 };
89
90 virtio4: virtio@f0108000 {
91 compatible = "virtio,mmio";
92 reg = <0xf0108000 0x2000>;
93 interrupts = <35>;
94 };
65 }; 95 };
66}; 96};
diff --git a/arch/arc/configs/haps_hs_defconfig b/arch/arc/configs/haps_hs_defconfig
index b117e6c16d41..436f2135bdc1 100644
--- a/arch/arc/configs/haps_hs_defconfig
+++ b/arch/arc/configs/haps_hs_defconfig
@@ -35,10 +35,12 @@ CONFIG_INET=y
35# CONFIG_IPV6 is not set 35# CONFIG_IPV6 is not set
36# CONFIG_WIRELESS is not set 36# CONFIG_WIRELESS is not set
37CONFIG_DEVTMPFS=y 37CONFIG_DEVTMPFS=y
38CONFIG_DEVTMPFS_MOUNT=y
38# CONFIG_STANDALONE is not set 39# CONFIG_STANDALONE is not set
39# CONFIG_PREVENT_FIRMWARE_BUILD is not set 40# CONFIG_PREVENT_FIRMWARE_BUILD is not set
40# CONFIG_BLK_DEV is not set 41CONFIG_VIRTIO_BLK=y
41CONFIG_NETDEVICES=y 42CONFIG_NETDEVICES=y
43CONFIG_VIRTIO_NET=y
42# CONFIG_NET_VENDOR_ARC is not set 44# CONFIG_NET_VENDOR_ARC is not set
43# CONFIG_NET_VENDOR_BROADCOM is not set 45# CONFIG_NET_VENDOR_BROADCOM is not set
44# CONFIG_NET_VENDOR_INTEL is not set 46# CONFIG_NET_VENDOR_INTEL is not set
@@ -68,6 +70,7 @@ CONFIG_FRAMEBUFFER_CONSOLE=y
68CONFIG_LOGO=y 70CONFIG_LOGO=y
69# CONFIG_HID is not set 71# CONFIG_HID is not set
70# CONFIG_USB_SUPPORT is not set 72# CONFIG_USB_SUPPORT is not set
73CONFIG_VIRTIO_MMIO=y
71# CONFIG_IOMMU_SUPPORT is not set 74# CONFIG_IOMMU_SUPPORT is not set
72CONFIG_EXT2_FS=y 75CONFIG_EXT2_FS=y
73CONFIG_EXT2_FS_XATTR=y 76CONFIG_EXT2_FS_XATTR=y