From: Michal Wilczynski <m.wilczynski@samsung.com>
To: Matt Coster <Matt.Coster@imgtec.com>,
"mturquette@baylibre.com" <mturquette@baylibre.com>,
"sboyd@kernel.org" <sboyd@kernel.org>,
"robh@kernel.org" <robh@kernel.org>,
"krzk+dt@kernel.org" <krzk+dt@kernel.org>,
"conor+dt@kernel.org" <conor+dt@kernel.org>,
"drew@pdp7.com" <drew@pdp7.com>,
"guoren@kernel.org" <guoren@kernel.org>,
"wefu@redhat.com" <wefu@redhat.com>,
"jassisinghbrar@gmail.com" <jassisinghbrar@gmail.com>,
"paul.walmsley@sifive.com" <paul.walmsley@sifive.com>,
"palmer@dabbelt.com" <palmer@dabbelt.com>,
"aou@eecs.berkeley.edu" <aou@eecs.berkeley.edu>,
Frank Binns <Frank.Binns@imgtec.com>,
"maarten.lankhorst@linux.intel.com"
<maarten.lankhorst@linux.intel.com>,
"mripard@kernel.org" <mripard@kernel.org>,
"tzimmermann@suse.de" <tzimmermann@suse.de>,
"airlied@gmail.com" <airlied@gmail.com>,
"simona@ffwll.ch" <simona@ffwll.ch>,
"ulf.hansson@linaro.org" <ulf.hansson@linaro.org>,
"jszhang@kernel.org" <jszhang@kernel.org>,
"p.zabel@pengutronix.de" <p.zabel@pengutronix.de>,
"m.szyprowski@samsung.com" <m.szyprowski@samsung.com>
Cc: "linux-clk@vger.kernel.org" <linux-clk@vger.kernel.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-riscv@lists.infradead.org"
<linux-riscv@lists.infradead.org>,
"dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>,
"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>
Subject: Re: [PATCH v4 12/18] dt-bindings: gpu: Add support for T-HEAD TH1520 GPU
Date: Mon, 3 Feb 2025 18:58:23 +0100 [thread overview]
Message-ID: <c7a441bc-8465-46fe-a883-2a7eee3d3922@samsung.com> (raw)
In-Reply-To: <2fe3d93f-62ac-4439-ac17-d81137f6410a@imgtec.com>
On 1/31/25 16:39, Matt Coster wrote:
> 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@samsung.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?
Sure that's completely fine !
>
>>
>> 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@fff0000 {
>> + 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?
Yeah exactly, I understand that from the GPU perspective there are three
clocks, but only two are programmable from the SoC perspective.
So maybe a placeholder clock should be added in the devicetree then,
since the clock exists, but is reserved.
>
> Cheers,
> Matt
>
>> + power-domains = <&pd TH1520_GPU_PD>;
>> + resets = <&rst TH1520_RESET_ID_GPU>;
>> + };
>
next prev parent reply other threads:[~2025-02-03 17:58 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20250128194825eucas1p14e2cb0a85c397dea297e9c4177cf1585@eucas1p1.samsung.com>
2025-01-28 19:47 ` [PATCH v4 00/18] Enable drm/imagination BXM-4-64 Support for LicheePi 4A Michal Wilczynski
2025-01-28 19:47 ` [PATCH v4 01/18] dt-bindings: clock: thead: Add TH1520 VO clock controller Michal Wilczynski
2025-01-29 7:29 ` Krzysztof Kozlowski
2025-01-28 19:48 ` [PATCH v4 02/18] clk: thead: Add clock support for VO subsystem in T-Head TH1520 SoC Michal Wilczynski
2025-01-31 15:39 ` Matt Coster
2025-02-03 16:37 ` Michal Wilczynski
2025-01-28 19:48 ` [PATCH v4 03/18] dt-bindings: firmware: thead,th1520: Add support for firmware node Michal Wilczynski
2025-01-29 7:30 ` Krzysztof Kozlowski
2025-01-28 19:48 ` [PATCH v4 04/18] firmware: thead: Add AON firmware protocol driver Michal Wilczynski
2025-02-14 11:01 ` Ulf Hansson
2025-01-28 19:48 ` [PATCH v4 05/18] dt-bindings: power: Add TH1520 SoC power domains Michal Wilczynski
2025-01-29 7:31 ` Krzysztof Kozlowski
2025-01-28 19:48 ` [PATCH v4 06/18] pmdomain: thead: Add power-domain driver for TH1520 Michal Wilczynski
2025-02-14 11:15 ` Ulf Hansson
2025-01-28 19:48 ` [PATCH v4 07/18] riscv: Enable PM_GENERIC_DOMAINS for T-Head SoCs Michal Wilczynski
2025-01-28 19:48 ` [PATCH v4 08/18] dt-bindings: reset: Add T-HEAD TH1520 SoC Reset Controller Michal Wilczynski
2025-01-29 7:32 ` Krzysztof Kozlowski
2025-01-28 19:48 ` [PATCH v4 09/18] reset: thead: Add TH1520 reset controller driver Michal Wilczynski
2025-01-29 12:04 ` Philipp Zabel
2025-01-31 15:39 ` Matt Coster
2025-02-03 18:15 ` Michal Wilczynski
2025-02-04 17:18 ` Philipp Zabel
2025-02-10 18:17 ` Michal Wilczynski
2025-02-11 11:59 ` Philipp Zabel
2025-01-28 19:48 ` [PATCH v4 10/18] drm/imagination: Add reset controller support for GPU initialization Michal Wilczynski
2025-01-31 15:39 ` Matt Coster
2025-01-28 19:48 ` [PATCH v4 11/18] dt-bindings: gpu: Add 'resets' property " Michal Wilczynski
2025-01-31 15:39 ` Matt Coster
2025-01-28 19:48 ` [PATCH v4 12/18] dt-bindings: gpu: Add support for T-HEAD TH1520 GPU Michal Wilczynski
2025-01-29 1:42 ` Rob Herring (Arm)
2025-01-31 15:39 ` Matt Coster
2025-02-03 17:58 ` Michal Wilczynski [this message]
2025-01-28 19:48 ` [PATCH v4 13/18] drm/imagination: Add support for IMG BXM-4-64 GPU Michal Wilczynski
2025-01-31 15:39 ` Matt Coster
2025-01-28 19:48 ` [PATCH v4 14/18] drm/imagination: Enable PowerVR driver for RISC-V Michal Wilczynski
2025-01-28 19:48 ` [PATCH v4 15/18] riscv: dts: thead: Add device tree VO clock controller Michal Wilczynski
2025-01-28 19:48 ` [PATCH v4 16/18] riscv: dts: thead: Introduce power domain nodes with aon firmware Michal Wilczynski
2025-01-28 19:48 ` [PATCH v4 17/18] riscv: dts: thead: Introduce reset controller node Michal Wilczynski
2025-01-28 19:48 ` [PATCH v4 18/18] riscv: dts: thead: Add GPU node to TH1520 device tree Michal Wilczynski
2025-01-31 15:39 ` [PATCH v4 00/18] Enable drm/imagination BXM-4-64 Support for LicheePi 4A Matt Coster
2025-02-03 16:33 ` Michal Wilczynski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=c7a441bc-8465-46fe-a883-2a7eee3d3922@samsung.com \
--to=m.wilczynski@samsung.com \
--cc=Frank.Binns@imgtec.com \
--cc=Matt.Coster@imgtec.com \
--cc=airlied@gmail.com \
--cc=aou@eecs.berkeley.edu \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=drew@pdp7.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=guoren@kernel.org \
--cc=jassisinghbrar@gmail.com \
--cc=jszhang@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=m.szyprowski@samsung.com \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
--cc=mturquette@baylibre.com \
--cc=p.zabel@pengutronix.de \
--cc=palmer@dabbelt.com \
--cc=paul.walmsley@sifive.com \
--cc=robh@kernel.org \
--cc=sboyd@kernel.org \
--cc=simona@ffwll.ch \
--cc=tzimmermann@suse.de \
--cc=ulf.hansson@linaro.org \
--cc=wefu@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox