Add support for Interrupts to be translated by the GIC-600 Interrupt Translation Service (ITS). ITS provides a software mechanism for translating message-based interrupts into Locality-specific Peripheral Interrupts (LPIs). This is based on prior work from XiaoDong Huang and Peter Geis fixing this issue specifically for Rockchip 356x. Plus comments of Robin Murphy about Non-Coherent properties. Signed-off-by: Lucas Tanure <lucas.tanure@xxxxxxxxxxxxx> --- arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi index 24919cb5c153..695aed05eba2 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi @@ -1594,6 +1594,25 @@ gic: interrupt-controller@fe600000 { mbi-ranges = <424 56>; msi-controller; #interrupt-cells = <4>; + ranges; + + its0: msi-controller@fe640000 { + compatible = "arm,gic-v3-its"; + msi-controller; + dma-noncoherent; + #msi-cells = <1>; + reg = <0x0 0xfe640000 0x0 0x20000>; + power-domains = <&power RK3588_PD_PCIE>; + }; + + its1: msi-controller@fe660000 { + compatible = "arm,gic-v3-its"; + msi-controller; + dma-noncoherent; + #msi-cells = <1>; + reg = <0x0 0xfe660000 0x0 0x20000>; + power-domains = <&power RK3588_PD_PCIE>; + }; ppi-partitions { ppi_partition0: interrupt-partition-0 { -- 2.39.2