Hi ChenYu, On Thu, 2024-05-30 at 16:35 +0800, Chen-Yu Tsai wrote: > The MediaTek MT8173 comes with a PowerVR Rogue GX6250, which is one > of the Series6XT GPUs, another sub-family of the Rogue family. I've added Adam Ford who sent out some DT related patches [1] for the Renesas variant of GX6250 and the GX6650 (another Series6XT GPU). > > This was part of the very first few versions of the PowerVR submission, > but was later dropped. The compatible string has been updated to follow > the new naming scheme adopted for the AXE series. > > In a previous iteration of the PowerVR binding submission [1], the > number of clocks required for the 6XT family was mentioned to be > always 3. This is also reflected here. > > [1] https://lore.kernel.org/dri-devel/6eeccb26e09aad67fb30ffcd523c793a43c79c2a.camel@xxxxxxxxxx/ > > Signed-off-by: Chen-Yu Tsai <wenst@xxxxxxxxxxxx> > --- > .../bindings/gpu/img,powervr-rogue.yaml | 24 +++++++++++++++---- > 1 file changed, 20 insertions(+), 4 deletions(-) > > diff --git a/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml b/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml > index 256e252f8087..48aa205b66b4 100644 > --- a/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml > +++ b/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml > @@ -12,10 +12,17 @@ maintainers: > > properties: > compatible: > - items: > - - enum: > - - ti,am62-gpu > - - const: img,img-axe # IMG AXE GPU model/revision is fully discoverable > + oneOf: > + - items: > + - enum: > + - mediatek,mt8173-gpu > + # PowerVR 6XT GPU model/revision is fully discoverable > + - const: img,powervr-6xt > + - items: > + - enum: > + - ti,am62-gpu > + # IMG AXE GPU model/revision is fully discoverable > + - const: img,img-axe The Series6XT GPU models have differing numbers of power domains (either 2, 4 or 5). Whereas, the AXE GPUs have a single power domain, so I assume there should be a related change here. The GX6250 has two power domains (lets call them A and B). There's a constraint that if domain B is powered then domain A must also be powered. In patch 6 [2] it's setting the power domain to MT8173_POWER_DOMAIN_MFG, which I believe corresponds to power domain B. I assume this works because the MTK power controller driver is encoding the constraint above, meaning that when we disable or enable MT8173_POWER_DOMAIN_MFG it's also disabling/enabling MT8173_POWER_DOMA IN_MFG_2D (domain A). Thanks Frank [1] https://lists.freedesktop.org/archives/dri-devel/2024-February/443548.html [2] https://lists.freedesktop.org/archives/dri-devel/2024-May/455833.html > > reg: > maxItems: 1 > @@ -56,6 +63,15 @@ allOf: > properties: > clocks: > maxItems: 1 > + - if: > + properties: > + compatible: > + contains: > + const: img,powervr-6xt > + then: > + properties: > + clocks: > + minItems: 3 > > examples: > - |