Message ID | 20241105-sets-bxs-4-64-patch-v1-v1-1-4ed30e865892@imgtec.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Imagination BXS-4-64 MC1 GPU support | expand |
On Tue, Nov 05, 2024 at 03:58:07PM +0000, Matt Coster wrote: > The current compatible strings are not specific enough to constrain the > hardware in devicetree. For example, the current "img,img-axe" string > refers to the entire family of Series AXE GPUs. The more specific > "img,img-axe-1-16m" string refers to the AXE-1-16M GPU which, unlike the > rest of its family, only uses a single power domain. That's not true, you could apply the rules using the ti,am62-gpu compatible, no? > Work is currently underway to add support for volcanic-based Imagination > GPUs; also add a generic top-level "img,img-rogue" compatible string to > allow for simpler differentiation in devicetrees. This makes no sense, how does adding another fallback compatible make it simpler? I have to assume that this means there will be geothermally powered axes in the future and you want to tell the difference between them and those pesky rogue axes that chop the heads off of naughty children? > > Make these changes now before introducing more compatible strings to keep > the legacy versions to a minimum. > > Signed-off-by: Matt Coster <matt.coster@imgtec.com> > --- > .../devicetree/bindings/gpu/img,powervr-rogue.yaml | 19 ++++++++++++++----- > 1 file changed, 14 insertions(+), 5 deletions(-) > > diff --git a/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml b/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml > index 256e252f8087fa0d6081f771a01601d34b66fe19..ef7070daf213277d0190fe319e202fdc597337d4 100644 > --- a/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml > +++ b/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml > @@ -12,10 +12,19 @@ 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 > + > + # This legacy combination of compatible strings was introduced early on before the more > + # specific GPU identifiers were used. Keep it around here for compatibility, but never use > + # "img,img-axe" in new devicetrees. > + - items: > + - const: ti,am62-gpu > + - const: img,img-axe > > reg: > maxItems: 1 > @@ -64,7 +73,7 @@ examples: > #include <dt-bindings/soc/ti,sci_pm_domain.h> > > gpu@fd00000 { > - compatible = "ti,am62-gpu", "img,img-axe"; > + compatible = "ti,am62-gpu", "img,img-axe-1-16m", "img,img-rogue"; > reg = <0x0fd00000 0x20000>; > clocks = <&k3_clks 187 0>; > clock-names = "core"; > > -- > 2.47.0 >
diff --git a/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml b/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml index 256e252f8087fa0d6081f771a01601d34b66fe19..ef7070daf213277d0190fe319e202fdc597337d4 100644 --- a/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml +++ b/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml @@ -12,10 +12,19 @@ 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 + + # This legacy combination of compatible strings was introduced early on before the more + # specific GPU identifiers were used. Keep it around here for compatibility, but never use + # "img,img-axe" in new devicetrees. + - items: + - const: ti,am62-gpu + - const: img,img-axe reg: maxItems: 1 @@ -64,7 +73,7 @@ examples: #include <dt-bindings/soc/ti,sci_pm_domain.h> gpu@fd00000 { - compatible = "ti,am62-gpu", "img,img-axe"; + compatible = "ti,am62-gpu", "img,img-axe-1-16m", "img,img-rogue"; reg = <0x0fd00000 0x20000>; clocks = <&k3_clks 187 0>; clock-names = "core";
The current compatible strings are not specific enough to constrain the hardware in devicetree. For example, the current "img,img-axe" string refers to the entire family of Series AXE GPUs. The more specific "img,img-axe-1-16m" string refers to the AXE-1-16M GPU which, unlike the rest of its family, only uses a single power domain. Work is currently underway to add support for volcanic-based Imagination GPUs; also add a generic top-level "img,img-rogue" compatible string to allow for simpler differentiation in devicetrees. Make these changes now before introducing more compatible strings to keep the legacy versions to a minimum. Signed-off-by: Matt Coster <matt.coster@imgtec.com> --- .../devicetree/bindings/gpu/img,powervr-rogue.yaml | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-)