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

Kishon Vijay Abraham I kishon at ti.com
Thu May 20 06:18:19 PDT 2021


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 at ti.com>
>>>>>> ---
>>>>>>  .../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 at 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 at 0 and clock at 1 introduces the
>> following error.
>> /home/a0393678/repos/linux-wip/arch/arm64/boot/dts/ti/k3-j721e-common-proc-board.dt.yaml:
>> /: clock at 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-.

Thanks
Kishon



More information about the linux-arm-kernel mailing list