[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAPDyKFrjHdASRUDxR+KROovV0sherhqdkOgHC9hoA6dhdMr39A@mail.gmail.com>
Date: Wed, 20 Aug 2025 19:10:15 +0200
From: Ulf Hansson <ulf.hansson@...aro.org>
To: Michal Wilczynski <m.wilczynski@...sung.com>
Cc: Guo Ren <guoren@...nel.org>, Fu Wei <wefu@...hat.com>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley <conor+dt@...nel.org>,
Bartosz Golaszewski <brgl@...ev.pl>, Philipp Zabel <p.zabel@...gutronix.de>,
Frank Binns <frank.binns@...tec.com>, Matt Coster <matt.coster@...tec.com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>, Maxime Ripard <mripard@...nel.org>,
Thomas Zimmermann <tzimmermann@...e.de>, David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
Paul Walmsley <paul.walmsley@...ive.com>, Palmer Dabbelt <palmer@...belt.com>,
Albert Ou <aou@...s.berkeley.edu>, Alexandre Ghiti <alex@...ti.fr>,
Marek Szyprowski <m.szyprowski@...sung.com>, Drew Fustini <fustini@...nel.org>,
linux-riscv@...ts.infradead.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-pm@...r.kernel.org,
dri-devel@...ts.freedesktop.org,
Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
Subject: Re: [PATCH v12 2/4] dt-bindings: gpu: img,powervr-rogue: Add TH1520
GPU support
On Wed, 20 Aug 2025 at 10:56, Michal Wilczynski
<m.wilczynski@...sung.com> wrote:
>
> Rework the PowerVR Rogue GPU binding to use an explicit, per variant
> style for defining power domain properties and add support for the
> T-HEAD TH1520 SoC's GPU.
>
> To improve clarity and precision, the binding is refactored so that
> power domain items are listed explicitly for each variant [1]. The
> previous method relied on an implicit, positional mapping between the
> `power-domains` and `power-domain-names` properties. This change
> replaces the generic rules with self contained if/then blocks for each
> GPU variant, making the relationship between power domains and their
> names explicit and unambiguous.
>
> The generic if block for img,img-rogue, which previously required
> power-domains and power-domain-names for all variants, is removed.
> Instead, each specific GPU variant now defines its own power domain
> requirements within a self-contained if/then block, making the schema
> more explicit.
>
> This new structure is then used to add support for the
> `thead,th1520-gpu`. While its BXM-4-64 IP has two conceptual power
> domains, the TH1520 SoC integrates them behind a single power gate. The
> new binding models this with a specific rule that enforces a single
> `power-domains` entry and disallows the `power-domain-names` property.
>
> Link: https://lore.kernel.org/all/4d79c8dd-c5fb-442c-ac65-37e7176b0cdd@linaro.org/ [1]
>
> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
> Signed-off-by: Michal Wilczynski <m.wilczynski@...sung.com>
Even if you already have the necessary ack, feel free to add:
Reviewed-by: Ulf Hansson <ulf.hansson@...aro.org>
> ---
> .../devicetree/bindings/gpu/img,powervr-rogue.yaml | 37 +++++++++++++++++-----
> 1 file changed, 29 insertions(+), 8 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml b/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml
> index 4450e2e73b3ccf74d29f0e31e2e6687d7cbe5d65..c87d7bece0ecd6331fc7d1a479bbdaf68bac6e6d 100644
> --- a/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml
> +++ b/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml
> @@ -21,6 +21,11 @@ properties:
> # work with newer dts.
> - const: img,img-axe
> - const: img,img-rogue
> + - items:
> + - enum:
> + - thead,th1520-gpu
> + - const: img,img-bxm-4-64
> + - const: img,img-rogue
> - items:
> - enum:
> - ti,j721s2-gpu
> @@ -77,14 +82,18 @@ required:
> additionalProperties: false
>
> allOf:
> - # Constraints added alongside the new compatible strings that would otherwise
> - # create an ABI break.
> - if:
> properties:
> compatible:
> contains:
> - const: img,img-rogue
> + const: img,img-axe-1-16m
> then:
> + properties:
> + power-domains:
> + items:
> + - description: Power domain A
> + power-domain-names:
> + maxItems: 1
> required:
> - power-domains
> - power-domain-names
> @@ -93,13 +102,20 @@ allOf:
> properties:
> compatible:
> contains:
> - const: img,img-axe-1-16m
> + const: thead,th1520-gpu
> then:
> properties:
> + clocks:
> + minItems: 3
> + clock-names:
> + minItems: 3
> power-domains:
> - maxItems: 1
> - power-domain-names:
> - maxItems: 1
> + items:
> + - description: The single, unified power domain for the GPU on the
> + TH1520 SoC, integrating all internal IP power domains.
> + power-domain-names: false
> + required:
> + - power-domains
>
> - if:
> properties:
> @@ -109,9 +125,14 @@ allOf:
> then:
> properties:
> power-domains:
> - minItems: 2
> + items:
> + - description: Power domain A
> + - description: Power domain B
> power-domain-names:
> minItems: 2
> + required:
> + - power-domains
> + - power-domain-names
>
> - if:
> properties:
>
> --
> 2.34.1
>
Powered by blists - more mailing lists