[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2fe3d93f-62ac-4439-ac17-d81137f6410a@imgtec.com>
Date: Fri, 31 Jan 2025 15:39:41 +0000
From: Matt Coster <Matt.Coster@...tec.com>
To: Michal Wilczynski <m.wilczynski@...sung.com>,
"mturquette@...libre.com"
<mturquette@...libre.com>,
"sboyd@...nel.org" <sboyd@...nel.org>,
"robh@...nel.org" <robh@...nel.org>,
"krzk+dt@...nel.org"
<krzk+dt@...nel.org>,
"conor+dt@...nel.org" <conor+dt@...nel.org>,
"drew@...7.com" <drew@...7.com>,
"guoren@...nel.org" <guoren@...nel.org>,
"wefu@...hat.com" <wefu@...hat.com>,
"jassisinghbrar@...il.com"
<jassisinghbrar@...il.com>,
"paul.walmsley@...ive.com"
<paul.walmsley@...ive.com>,
"palmer@...belt.com" <palmer@...belt.com>,
"aou@...s.berkeley.edu" <aou@...s.berkeley.edu>,
Frank Binns
<Frank.Binns@...tec.com>,
"maarten.lankhorst@...ux.intel.com"
<maarten.lankhorst@...ux.intel.com>,
"mripard@...nel.org"
<mripard@...nel.org>,
"tzimmermann@...e.de" <tzimmermann@...e.de>,
"airlied@...il.com" <airlied@...il.com>,
"simona@...ll.ch" <simona@...ll.ch>,
"ulf.hansson@...aro.org" <ulf.hansson@...aro.org>,
"jszhang@...nel.org"
<jszhang@...nel.org>,
"p.zabel@...gutronix.de" <p.zabel@...gutronix.de>,
"m.szyprowski@...sung.com" <m.szyprowski@...sung.com>
CC: "linux-clk@...r.kernel.org" <linux-clk@...r.kernel.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-riscv@...ts.infradead.org" <linux-riscv@...ts.infradead.org>,
"dri-devel@...ts.freedesktop.org" <dri-devel@...ts.freedesktop.org>,
"linux-pm@...r.kernel.org" <linux-pm@...r.kernel.org>
Subject: Re: [PATCH v4 12/18] dt-bindings: gpu: Add support for T-HEAD TH1520
GPU
On 28/01/2025 19:48, Michal Wilczynski wrote:
> Add bindings for the PowerVR BXM-4-64 GPU integrated in the T-HEAD
> TH1520 SoC. This GPU requires two clocks.
None of the IMG Rogue GPUs use two clocks; they're all either one or
three. The TRM for the TH1520 I have shows the standard three (core,
cfg and mem). I mentioned this on P2 ("clk: thead: Add clock support for
VO subsystem in T-Head TH1520 SoC"); can you add the missing clock here
too?
> Document the integration details including clock, reset, power domain
> and interrupt assignments. Add a dt-bindings example showing the proper
> usage of the compatible string "thead,th1520-gpu" along with
> "img,img-bxm".
>
> Signed-off-by: Michal Wilczynski <m.wilczynski@...sung.com>
> ---
> .../bindings/gpu/img,powervr-rogue.yaml | 39 +++++++++++++++++--
> 1 file changed, 35 insertions(+), 4 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml b/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml
> index bb607d4b1e07..b0d9635704d8 100644
> --- a/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml
> +++ b/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml
> @@ -12,10 +12,15 @@ 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 # IMG AXE GPU model/revision is fully discoverable
> + - items:
> + - enum:
> + - thead,th1520-gpu
> + - const: img,img-bxm
This is going to be the main conflict between this series and the other
B-Series series I mentioned on the cover letter. One of the main changes
in that series is to rework how our compatible strings are structured;
that would make this "thead,th1520-gpu", "img,img-bxm-4-64",
"img,img-rogue". Would you mind holding this change back until the other
series lands so we can avoid carrying a second deprecated compatible
string?
>
> reg:
> maxItems: 1
> @@ -60,6 +65,17 @@ allOf:
> clocks:
> maxItems: 1
>
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: thead,th1520-gpu
> + then:
> + properties:
> + clocks:
> + minItems: 2
> + maxItems: 2
As mentioned before, this doesn't represent the hardware. Please bump to
3 and add the missing clock.
> +
> examples:
> - |
> #include <dt-bindings/interrupt-controller/irq.h>
> @@ -74,3 +90,18 @@ examples:
> interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
> power-domains = <&k3_pds 187 TI_SCI_PD_EXCLUSIVE>;
> };
> +
> + #include <dt-bindings/clock/thead,th1520-clk-ap.h>
> + #include <dt-bindings/power/thead,th1520-power.h>
> + #include <dt-bindings/reset/thead,th1520-reset.h>
> +
> + gpu: gpu@...0000 {
> + compatible = "thead,th1520-gpu", "img,img-bxm";
> + reg = <0xfff0000 0x1000>;
> + interrupt-parent = <&plic>;
> + interrupts = <102 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&clk CLK_GPU_CORE>, <&clk CLK_GPU_CFG_ACLK>;
> + clock-names = "core", "mem";
You have CFG mapped to "mem" here. Out of curiosity, was that mismatch
required to make things work?
Cheers,
Matt
> + power-domains = <&pd TH1520_GPU_PD>;
> + resets = <&rst TH1520_RESET_ID_GPU>;
> + };
--
Matt Coster
E: matt.coster@...tec.com
Download attachment "OpenPGP_signature.asc" of type "application/pgp-signature" (237 bytes)
Powered by blists - more mailing lists