Add device tree node for the Imagination Technologies PowerVR Rogue GPU
(BVNC 36.29.52.182 / BXE-2-32) found in the Spacemit K1 SoC.

The GPU is located at address 0xcac00000 and uses:
- CLK_GPU for core clock from APMU controller
- RESET_GPU for reset control from APMU controller
- K1_PMDOMAIN_GPU for power management from syscon_apmu provider
- IRQ 75 for interrupt handling

Disabled by default; boards enable it individually.

Signed-off-by: Iker Pedrosa <[email protected]>
---
 arch/riscv/boot/dts/spacemit/k1.dtsi | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/arch/riscv/boot/dts/spacemit/k1.dtsi 
b/arch/riscv/boot/dts/spacemit/k1.dtsi
index 3fabfd34114b..82cade2f76fe 100644
--- a/arch/riscv/boot/dts/spacemit/k1.dtsi
+++ b/arch/riscv/boot/dts/spacemit/k1.dtsi
@@ -5,6 +5,7 @@
 
 #include <dt-bindings/clock/spacemit,k1-syscon.h>
 #include <dt-bindings/phy/phy.h>
+#include <dt-bindings/power/spacemit,k1-power.h>
 
 #include "k1-pdma.h"
 
@@ -1119,6 +1120,17 @@ multimedia-bus {
                        #size-cells = <2>;
                        dma-ranges = <0x0 0x00000000 0x0 0x00000000 0x0 
0x80000000>,
                                     <0x0 0x80000000 0x1 0x00000000 0x3 
0x80000000>;
+
+                       gpu: gpu@cac00000 {
+                               compatible = "spacemit,k1-gpu", 
"img,img-bxe-2-32", "img,img-rogue";
+                               reg = <0x0 0xcac00000 0x0 0x80000>;
+                               interrupts = <75>;
+                               clocks = <&syscon_apmu CLK_GPU>;
+                               clock-names = "core";
+                               resets = <&syscon_apmu RESET_GPU>;
+                               power-domains = <&syscon_apmu K1_PMDOMAIN_GPU>;
+                               status = "disabled";
+                       };
                };
 
                network-bus {

-- 
2.56.0

Reply via email to