[RFC v3 11/18] dt-bindings: gpu: Add compatibles for T-HEAD TH1520 GPU

Michal Wilczynski
2025-01-20T17:23:34Z

Add a new SoC-specific compatible ("thead,th1520-gpu") for the T-HEAD
TH1520 GPU, alongside the Imagination BXM family compatible
("img,img-bxm"). This documents the GPU integration on the T-HEAD
platform.

Also adjust clock name constraints to accommodate a second clock named
"sys" instead of "mem" for T-HEAD. This is achieved by using allOf. For
now there are no users of 'mem' so remove it.

Provide example of the new GPU node.

Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
---
.../bindings/gpu/img,powervr-rogue.yaml | 55 +++++++++++++++----
1 file changed, 45 insertions(+), 10 deletions(-)

diff --git a/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml b/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml
index bb607d4b1e07..3c0eaa0ae827 100644
--- a/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml
+++ b/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml
@@ -12,10 +12,15 @@ maintainers:

properties:
compatible:
- items:
- - enum:
- - ti,am62-gpu
- - const: img,img-axe # IMG AXE GPU model/revision is fully discoverable
+ oneOf:
+ - items:
+ - enum:
+ - ti,am62-gpu
+ - const: img,img-axe
+ - items:
+ - enum:
+ - thead,th1520-gpu
+ - const: img,img-bxm

reg:
maxItems: 1
@@ -25,11 +30,8 @@ properties:
maxItems: 3

clock-names:
- items:
- - const: core
- - const: mem
- - const: sys
minItems: 1
+ maxItems: 3

interrupts:
maxItems: 1
@@ -47,8 +49,6 @@ required:
- clock-names
- interrupts

-additionalProperties: false
-
allOf:
- if:
properties:
@@ -58,7 +58,28 @@ allOf:
then:
properties:
clocks:
+ minItems: 1
maxItems: 1
+ clock-names:
+ items:
+ - const: core
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: thead,th1520-gpu
+ then:
+ properties:
+ clocks:
+ minItems: 2
+ maxItems: 2
+ clock-names:
+ items:
+ - const: core
+ - const: sys
+
+unevaluatedProperties: false

examples:
- |
@@ -74,3 +95,17 @@ examples:
interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
power-domains = <&k3_pds 187 TI_SCI_PD_EXCLUSIVE>;
};
+
+ #include <dt-bindings/clock/thead,th1520-clk-ap.h>
+ #include <dt-bindings/firmware/thead,th1520-aon.h>
+
+ gpu: gpu@fff0000 {
+ compatible = "thead,th1520-gpu", "img,img-bxm";
+ reg = <0xfff0000 0x1000>;
+ interrupt-parent = <&plic>;
+ interrupts = <102 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clk CLK_GPU_CORE>, <&clk CLK_GPU_CFG_ACLK>;
+ clock-names = "core", "sys";
+ power-domains = <&pd TH1520_AON_GPU_PD>;
+ resets = <&rst>;
+ };
--
2.34.1