From: Mykola Kvach <mykola_kvach@epam.com>
Add an ITS quirk entry for Orange Pi 5 boards based on Rockchip
RK3588/RK3588S and match it via the platform compatible string.
Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
---
xen/arch/arm/gic-v3-its.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/xen/arch/arm/gic-v3-its.c b/xen/arch/arm/gic-v3-its.c
index c40629731f..ee432088cd 100644
--- a/xen/arch/arm/gic-v3-its.c
+++ b/xen/arch/arm/gic-v3-its.c
@@ -77,6 +77,18 @@ static bool gicv3_its_match_quirk_gen4(const struct host_its *hw_its)
return true;
}
+static bool gicv3_its_match_quirk_opi5(const struct host_its *hw_its)
+{
+ if ( !hw_its->dt_node )
+ return false;
+
+ if ( !dt_machine_is_compatible("rockchip,rk3588") &&
+ !dt_machine_is_compatible("rockchip,rk3588s") )
+ return false;
+
+ return true;
+}
+
static const struct its_quirk its_quirks[] = {
{
.desc = "R-Car Gen4",
@@ -86,6 +98,13 @@ static const struct its_quirk its_quirks[] = {
.flags = HOST_ITS_WORKAROUND_NC_NS |
HOST_ITS_WORKAROUND_32BIT_ADDR,
},
+ {
+ .desc = "Orange Pi 5",
+ .iidr = 0x0201743b,
+ .mask = 0xffffffffU,
+ .match = gicv3_its_match_quirk_opi5,
+ .flags = HOST_ITS_WORKAROUND_32BIT_ADDR,
+ },
{
/* Sentinel. */
}
--
2.43.0