On 11/03/2025 11:33, Matt Coster wrote: >>> The currently supported GPU (AXE-1-16M) only requires a single power >>> domain. Subsequent patches will add support for BXS-4-64 MC1, which has >>> two power domains. Add infrastructure now to allow for this. >>> >>> Also allow the dma-coherent property to be added to IMG Rogue GPUs, which >>> are DMA devices. The decision for coherency is made at integration time and >>> this property should be applied wherever it accurately describes the >>> vendor integration. >>> >>> Note that the new required properties for power domains are conditional on >>> the new base compatible string to avoid an ABI break. >>> >>> Signed-off-by: Matt Coster <matt.coster@xxxxxxxxxx> >>> --- >>> Changes in v3: >>> - Remove unnecessary example >>> - Remove second power domain details, add these where they're used instead >>> - Avoid ABI breaks by limiting new required properties to new compatible >>> strings and making all binding changes in a single patch. >>> - Links to v2: >>> https://lore.kernel.org/r/20241118-sets-bxs-4-64-patch-v1-v2-1-3fd45d9fb0cf@xxxxxxxxxx >>> https://lore.kernel.org/r/20241118-sets-bxs-4-64-patch-v1-v2-3-3fd45d9fb0cf@xxxxxxxxxx >>> https://lore.kernel.org/r/20241118-sets-bxs-4-64-patch-v1-v2-4-3fd45d9fb0cf@xxxxxxxxxx >>> --- >>> .../devicetree/bindings/gpu/img,powervr-rogue.yaml | 43 ++++++++++++++++++---- >>> 1 file changed, 36 insertions(+), 7 deletions(-) >>> >>> diff --git a/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml b/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml >>> index 256e252f8087fa0d6081f771a01601d34b66fe19..5c16b2881447c9cda78e5bb46569e2f675d740c4 100644 >>> --- a/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml >>> +++ b/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml >>> @@ -12,10 +12,20 @@ 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-1-16m >>> + - const: img,img-rogue >> >> That's still ABI break. You got here NAK. You ust preserve img,img-axe. >> Your marketing troubles do not concern Linux. > > I think I'm misunderstanding something here. Is keeping the existing > compatible string around in the deprecated item below not sufficient to > maintain the existing ABI? I was not precise/correct. This indeed is not an ABI break itself. However you will break the users of DTS when anyone applies such DTS. > > Would adding img,img-axe back into the updated list (bringing it to four > elements) be acceptable? Yes, you must keep all the compatibles. Affecting users because of marketing choices is a no-go. No one here cares about marketing. > >> >>> + >>> + # This legacy combination of compatible strings was introduced early on >>> + # before the more specific GPU identifiers were used. >>> + - items: >>> + - enum: >>> + - ti,am62-gpu >>> + - const: img,img-axe >>> + deprecated: true >>> >>> reg: >>> maxItems: 1 >>> @@ -34,8 +44,13 @@ properties: >>> interrupts: >>> maxItems: 1 >>> >>> - power-domains: >>> - maxItems: 1 >>> + power-domains: true >> >> No, widest constraints always stay here. > > Ack > >> >>> + >>> + power-domain-names: >>> + items: >>> + - const: a >> >> That's not a useful name. Are you sure that datasheet calls it power >> domain A? > > Sadly yes. With the Volcanic architecture the power domains get real > names, but until then we were stuck with abc. I shared a snipet from the > BXS-4-64 TRM with Conor in the replies to the V1 series in [1]. OK, that's fine. Best regards, Krzysztof