Re: [PATCH v1 3/3] riscv: dts: starfive: jh7110: Add PLL clock node

From: Krzysztof Kozlowski
Date: Thu Feb 23 2023 - 04:05:00 EST


On 23/02/2023 10:03, Xingyu Wu wrote:
> On 2023/2/23 16:52, Krzysztof Kozlowski wrote:
>> On 23/02/2023 09:47, Xingyu Wu wrote:
>>> On 2023/2/22 17:09, Krzysztof Kozlowski wrote:
>>>> On 21/02/2023 15:11, Xingyu Wu wrote:
>>>>> Add the PLL clock node for the Starfive JH7110 SoC and
>>>>> modify the SYSCRG node to add PLL clocks.
>>>>>
>>>>> Signed-off-by: Xingyu Wu <xingyu.wu@xxxxxxxxxxxxxxxx>
>>>>> ---
>>>>> arch/riscv/boot/dts/starfive/jh7110.dtsi | 15 +++++++++++++--
>>>>> 1 file changed, 13 insertions(+), 2 deletions(-)
>>>>>
>>>>> diff --git a/arch/riscv/boot/dts/starfive/jh7110.dtsi b/arch/riscv/boot/dts/starfive/jh7110.dtsi
>>>>> index b6612c53d0d2..0cb8d86ebce5 100644
>>>>> --- a/arch/riscv/boot/dts/starfive/jh7110.dtsi
>>>>> +++ b/arch/riscv/boot/dts/starfive/jh7110.dtsi
>>>>> @@ -461,12 +461,16 @@ syscrg: clock-controller@13020000 {
>>>>> <&gmac1_rgmii_rxin>,
>>>>> <&i2stx_bclk_ext>, <&i2stx_lrck_ext>,
>>>>> <&i2srx_bclk_ext>, <&i2srx_lrck_ext>,
>>>>> - <&tdm_ext>, <&mclk_ext>;
>>>>> + <&tdm_ext>, <&mclk_ext>,
>>>>> + <&pllclk JH7110_CLK_PLL0_OUT>,
>>>>> + <&pllclk JH7110_CLK_PLL1_OUT>,
>>>>> + <&pllclk JH7110_CLK_PLL2_OUT>;
>>>>> clock-names = "osc", "gmac1_rmii_refin",
>>>>> "gmac1_rgmii_rxin",
>>>>> "i2stx_bclk_ext", "i2stx_lrck_ext",
>>>>> "i2srx_bclk_ext", "i2srx_lrck_ext",
>>>>> - "tdm_ext", "mclk_ext";
>>>>> + "tdm_ext", "mclk_ext",
>>>>> + "pll0_out", "pll1_out", "pll2_out";
>>>>> #clock-cells = <1>;
>>>>> #reset-cells = <1>;
>>>>> };
>>>>> @@ -476,6 +480,13 @@ sys_syscon: syscon@13030000 {
>>>>> reg = <0x0 0x13030000 0x0 0x1000>;
>>>>> };
>>>>>
>>>>> + pllclk: pll-clock-controller {
>>>>
>>>> Does not look like you tested the DTS against bindings. Please run `make
>>>> dtbs_check` (see Documentation/devicetree/bindings/writing-schema.rst
>>>> for instructions). You should see here warnings of mixing non-MMIO nodes
>>>> in MMIO-bus.
>>>>
>>>
>>> Oh I cherry-pick the commit of syscon node and it also include the MMC node.
>>> I will remove the MMC node.
>>> I used dtbs_check and get the error 'should not be valid under {'type': 'object'}',
>>> If I move this node out of the 'soc' node, the dtbs_check will be pass.
>>> Is it OK to move the PLL node out of the 'soc' node? Thanks.
>>
>> Shall it be out side of soc? How it can then do anything with registers?
>> This does not look like correct representation of hardware.
>
> The error appears to be due to a lack of reg base about PLL node. PLL do something with register
> by 'sys_syscon' node and the syscon node is in the soc node.

Again: And how is this correct representation of hardware?

Best regards,
Krzysztof