Re: [PATCH 1/4] arm64: dts: ti: k3-j721e-main: Fix external refclk input to SERDES

From: Kishon Vijay Abraham I
Date: Mon May 17 2021 - 04:31:04 EST


Hi Nishanth,

On 13/05/21 7:31 pm, Nishanth Menon wrote:
> On 17:41-20210513, Kishon Vijay Abraham I wrote:
>> Hi Nishanth,
>>
>> On 13/05/21 12:21 am, Nishanth Menon wrote:
>>> On 20:42-20210512, Kishon Vijay Abraham I wrote:
>>>> Rename the external refclk inputs to the SERDES from
>>>> dummy_cmn_refclk/dummy_cmn_refclk1 to cmn_refclk/cmn_refclk1
>>>> respectively. Also move the external refclk DT nodes outside the
>>>> cbass_main DT node. Since in j721e common processor board, only the
>>>> cmn_refclk1 is connected to 100MHz clock, fix the clock frequency.
>>>>
>>>> Fixes: afd094ebe69f ("arm64: dts: ti: k3-j721e-main: Add WIZ and SERDES PHY nodes")
>>>
>>> Assume we want this part of 5.13 fixes?
>>
>> This doesn't fix any functionality. Okay for me to go in 5.14 along with
>> the rest of the series.
>
>
>>>
>>>> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx>
>>>> ---
>>>> .../dts/ti/k3-j721e-common-proc-board.dts | 4 ++
>>>> arch/arm64/boot/dts/ti/k3-j721e-main.dtsi | 58 ++++++++++---------
>>>> 2 files changed, 34 insertions(+), 28 deletions(-)
>>>>
>>>> diff --git a/arch/arm64/boot/dts/ti/k3-j721e-common-proc-board.dts b/arch/arm64/boot/dts/ti/k3-j721e-common-proc-board.dts
>>>> index 60764366e22b..86f7ab511ee8 100644
>>>> --- a/arch/arm64/boot/dts/ti/k3-j721e-common-proc-board.dts
>>>> +++ b/arch/arm64/boot/dts/ti/k3-j721e-common-proc-board.dts
>>>> @@ -635,6 +635,10 @@
>>>> status = "disabled";
>>>> };
>>>>
>>>> +&cmn_refclk1 {
>>>> + clock-frequency = <100000000>;
>>>> +};
>>>> +
>>>> &serdes0 {
>>>> serdes0_pcie_link: link@0 {
>>>> reg = <0>;
>>>> diff --git a/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi b/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
>>>> index c2aa45a3ac79..002a0c1520ee 100644
>>>> --- a/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
>>>> +++ b/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
>>>> @@ -8,6 +8,20 @@
>>>> #include <dt-bindings/mux/mux.h>
>>>> #include <dt-bindings/mux/ti-serdes.h>
>>>>
>>>> +/ {
>>>> + cmn_refclk: cmn-refclk {
>>>> + #clock-cells = <0>;
>>>> + compatible = "fixed-clock";
>>>> + clock-frequency = <0>;
>>>> + };
>>>> +
>>>> + cmn_refclk1: cmn-refclk1 {
>>>
>>> Just curious: why cant we use the standard nodenames with clock?
>>
>> We can use standard names here. Is there any defined nodename for
>> clocks? clk or clock? Don't see $nodename defined for clocks in
>> dt-schema repository.
>
> Looking at the fixed-clock example, lets go with clock

Since I have two clocks here adding clock@0 and clock@1 introduces the
following error.
/home/a0393678/repos/linux-wip/arch/arm64/boot/dts/ti/k3-j721e-common-proc-board.dt.yaml:
/: clock@0: 'anyOf' conditional failed, one must be fixed:
'reg' is a required property
'ranges' is a required property

The current "fixed-clock" binding doesn't allow adding "reg" property.
We'll stick to non standard names? or do you think the binding has to be
fixed?

Thanks
Kishon