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

From: Nishanth Menon
Date: Thu May 20 2021 - 09:42:25 EST


On 18:48-20210520, Kishon Vijay Abraham I wrote:
> Hi Nishanth,
>
> On 17/05/21 7:35 pm, Nishanth Menon wrote:
> > On 14:00-20210517, Kishon Vijay Abraham I wrote:
> >> 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?
> >
> > Look at other fixed-clock examples in other arm64 examples
> > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/freescale/imx8mm.dtsi#n147
> > is a good one.. Binding is fine, IMHO.
>
> Ah Thanks. It only has to be prefixed with clock-.


Yep - also, though I think it is self evident, I will explicitly state
as well: since dts should represent hardware, using names like "dummy"
does'nt belong to dts - it would indicate something of a software
construct. Knowing what you are trying to describe, I do understand it
is not a "software construct", but please avoid using similar naming
which may create misunderstanding.

--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D