[PATCH 1/3] dt-bindings: gpu: img,powervr-rogue: Document GX6250 GPU in Renesas R-Car M3-W/M3-W+
Marek Vasut
marek.vasut at mailbox.org
Tue Oct 14 15:48:39 PDT 2025
On 10/14/25 1:52 PM, Matt Coster wrote:
Hello Matt,
>> diff --git a/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml b/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml
>> index c87d7bece0ecd..c9680a2560114 100644
>> --- a/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml
>> +++ b/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml
>> @@ -13,6 +13,12 @@ maintainers:
>> properties:
>> compatible:
>> oneOf:
>> + - items:
>> + - enum:
>> + - renesas,r8a77960-gpu
>> + - renesas,r8a77961-gpu
>
> I think this can just be renesas,r8a7796-gpu; most of the devices in the
> dts for these SoCs appear to use the same pattern and the GPU is the
> same in both.
Not really, the 77960 and 77961 are different SoCs, that is why they
each have different specific compatible. Of course, most drivers match
on fallback compatible, since the IPs are mostly identical, see this:
$ git grep compatible.*7796 arch/arm64/boot/dts/renesas/r8a77961.dtsi
arch/arm64/boot/dts/renesas/r8a77961.dtsi: compatible =
"renesas,r8a77961";
arch/arm64/boot/dts/renesas/r8a77961.dtsi:
compatible = "renesas,r8a77961-wdt",
arch/arm64/boot/dts/renesas/r8a77961.dtsi:
compatible = "renesas,gpio-r8a77961",
...
$ git grep compatible.*7796 arch/arm64/boot/dts/renesas/r8a77960.dtsi
arch/arm64/boot/dts/renesas/r8a77960.dtsi: compatible =
"renesas,r8a7796";
arch/arm64/boot/dts/renesas/r8a77960.dtsi:
compatible = "renesas,r8a7796-wdt",
arch/arm64/boot/dts/renesas/r8a77960.dtsi:
compatible = "renesas,gpio-r8a7796",
arch/arm64/boot/dts/renesas/r8a77960.dtsi:
compatible = "renesas,gpio-r8a7796",
I can turn the first entry into renesas,r8a7796-gpu to be consistent
with the legacy 7796 name for 77960.
Geert ?
>> + - const: img,img-gx6250
>> + - const: img,img-rogue
>> - items:
>> - enum:
>> - ti,am62-gpu
>
> You also need to add img,img-gx6250 to the appropriate conditional
> blocks below here for the number of power domains (in this case, 2) and
> clocks (that's more complicated).
>
> These older GPUs always require three clocks (core, mem and sys), but
> it's not immediately clear from the Renesas TRM how these are hooked up.
> I can see three "clocks" connected (fig 23.2 in my copy, clock details
> from fig 8.1b):
Which revision of the RM is that ? There should be some Rev.M.NP at the
bottom of each page.
> - Clock ZGφ: Appears to be a core clock for the GPU (3DGE). That would
> make it our "core" clock.
This should be 600-700 MHz clock on M3-W , so that sounds like a GPU
core clock.
> - Clock S2D1φ: Appears to be a core clock used on the AXI bus, making
> it our "sys" clock.
This should be 400 MHz AXI clock, but wouldn't that make it "mem" clock
? I think this might be the clock which drives the AXI bus, used by the
GPU to access data in DRAM ?
> - MSTP ST112: Appears to be a whole module on/off control of some
> description, and definitely doesn't align with the missing "mem"
> clock.
Maybe this is the "sys" clock, since it toggles the register interface
clock on/off ?
> Do you have any further insights as to how Renesas have wired things up?
Please see above, maybe that helps a bit ?
--
Best regards,
Marek Vasut
More information about the linux-arm-kernel
mailing list