[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <BN6PR04MB0660A180D2069848E5C03D7EA3AE0@BN6PR04MB0660.namprd04.prod.outlook.com>
Date: Sun, 26 Apr 2020 07:57:12 -0700
From: Jonathan Bakker <xc-racer2@...e.ca>
To: Paul Cercueil <paul@...pouillou.net>,
"H. Nikolaus Schaller" <hns@...delico.com>
Cc: David Airlie <airlied@...ux.ie>, Daniel Vetter <daniel@...ll.ch>,
Rob Herring <robh+dt@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Benoît Cousson <bcousson@...libre.com>,
Tony Lindgren <tony@...mide.com>,
Ralf Baechle <ralf@...ux-mips.org>,
Paul Burton <paulburton@...nel.org>,
James Hogan <jhogan@...nel.org>, Kukjin Kim <kgene@...nel.org>,
Krzysztof Kozlowski <krzk@...nel.org>,
Maxime Ripard <mripard@...nel.org>,
Chen-Yu Tsai <wens@...e.org>,
Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
Philipp Rossak <embed3d@...il.com>,
dri-devel@...ts.freedesktop.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-omap@...r.kernel.org,
openpvrsgx-devgroup@...ux.org, letux-kernel@...nphoenux.org,
kernel@...a-handheld.com, linux-mips@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org,
linux-samsung-soc@...r.kernel.org
Subject: Re: [PATCH v7 08/12] arm: dts: s5pv210: Add node for SGX 540
Hi Paul,
On 2020-04-26 5:56 a.m., Paul Cercueil wrote:
>
>
> Le ven. 24 avril 2020 à 22:34, H. Nikolaus Schaller <hns@...delico.com> a écrit :
>> From: Jonathan Bakker <xc-racer2@...e.ca>
>>
>> All s5pv210 devices have a PowerVR SGX 540 (revision 120) attached.
>>
>> There is no external regulator for it so it can be enabled by default.
>>
>> Signed-off-by: Jonathan Bakker <xc-racer2@...e.ca>
>> Signed-off-by: H. Nikolaus Schaller <hns@...delico.com>
>> ---
>> arch/arm/boot/dts/s5pv210.dtsi | 13 +++++++++++++
>> 1 file changed, 13 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/s5pv210.dtsi b/arch/arm/boot/dts/s5pv210.dtsi
>> index 2ad642f51fd9..abbdda205c1b 100644
>> --- a/arch/arm/boot/dts/s5pv210.dtsi
>> +++ b/arch/arm/boot/dts/s5pv210.dtsi
>> @@ -512,6 +512,19 @@ vic3: interrupt-controller@...00000 {
>> #interrupt-cells = <1>;
>> };
>>
>> + gpu: gpu@...00000 {
>> + compatible = "samsung,s5pv210-sgx540-120";
>> + reg = <0xf3000000 0x10000>;
>> + interrupt-parent = <&vic2>;
>> + interrupts = <10>;
>> + clock-names = "core";
>> + clocks = <&clocks CLK_G3D>;
>> +
>> + assigned-clocks = <&clocks MOUT_G3D>, <&clocks DOUT_G3D>;
>> + assigned-clock-rates = <0>, <66700000>;
>> + assigned-clock-parents = <&clocks MOUT_MPLL>;
>
> What are these clocks for, and why are they reparented / reclocked?
>
> Shouldn't they be passed to 'clocks' as well?
>
> -Paul
>
The G3D clock system can have multiple parents, and for stable operation
it's recommended to use the MPLL clock as the parent (which in turn
is actually a mux as well). MOUT_G3D is simply the mux for CLK_G3D
(SGX core clock), DOUT_G3D is the divider. DOUT_G3D could equally be CLK_G3D
(and probably should be, for readability) as CLK_G3D is simply the gate and
DOUT_G3D is the divider for it.
The SGX clock layout on S5PV210 looks something like this:
MOUT_MPLL -----------> MOUT_G3D ---> DOUT_G3D ---> CLK_G3D
(selectable parent clock) (mux) ---> (divider) ---> (gate)
This is fairly common for older Samsung SoCs, eg having a look at
arch/arm/boot/dts/exynos4210-universal_c210.dts you can see that
the FIMC clocks are parented to MPLL and have a rate set.
>> + };
>> +
>> fimd: fimd@...00000 {
>> compatible = "samsung,s5pv210-fimd";
>> interrupt-parent = <&vic2>;
>> --
>> 2.25.1
>>
>
>
Thanks,
Jonathan
Powered by blists - more mailing lists