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@xxxxxxxxxxx> --- .../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