summaryrefslogtreecommitdiff
path: root/src/dev/arm
diff options
context:
space:
mode:
authorAdrian Herrera <adrian.herrera@arm.com>2019-08-22 14:20:36 +0100
committerGiacomo Travaglini <giacomo.travaglini@arm.com>2019-09-06 08:32:04 +0000
commitaec83a6451c78f64de5656c2f4075b7453020425 (patch)
treef2538777366cfc1191ca45a950d583fcd60d6524 /src/dev/arm
parent69097ceac805ad5b7fc65404e80574c22b95e36e (diff)
downloadgem5-aec83a6451c78f64de5656c2f4075b7453020425.tar.xz
dev-arm: Gicv3 ITS device tree autogen
This patch adds device tree automatic generation for Gicv3 ITS. Change-Id: Ic01500ffa691b331f527c5c2c785ff715660b0c2 Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/20609 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Maintainer: Andreas Sandberg <andreas.sandberg@arm.com> Tested-by: kokoro <noreply+kokoro@google.com>
Diffstat (limited to 'src/dev/arm')
-rw-r--r--src/dev/arm/Gic.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/dev/arm/Gic.py b/src/dev/arm/Gic.py
index e1a8a78db..eec6e95c2 100644
--- a/src/dev/arm/Gic.py
+++ b/src/dev/arm/Gic.py
@@ -187,6 +187,15 @@ class Gicv3Its(BasicPioDevice):
# ID_bits [12:8] = 0b11111: ITS supports 31 EventID bits
gits_typer = Param.UInt64(0x30023F01, "GITS_TYPER RO value")
+ def generateDeviceTree(self, state):
+ node = self.generateBasicPioDeviceNode(state, "gic-its", self.pio_addr,
+ self.pio_size)
+ node.appendCompatible(["arm,gic-v3-its"])
+ node.append(FdtProperty("msi-controller"))
+ node.append(FdtPropertyWords("#msi-cells", [1]))
+
+ return node
+
class Gicv3(BaseGic):
type = 'Gicv3'
cxx_header = "dev/arm/gic_v3.hh"
@@ -254,4 +263,7 @@ class Gicv3(BaseGic):
node.appendPhandle(self)
+ # Generate the ITS device tree
+ node.append(self.its.generateDeviceTree(self._state))
+
yield node