linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] arm64: dts: imx93: update default value for snps,clk-csr
@ 2024-07-10 20:08 Shenwei Wang
  2024-07-11  6:09 ` Alexander Stein
  0 siblings, 1 reply; 3+ messages in thread
From: Shenwei Wang @ 2024-07-10 20:08 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer
  Cc: Pengutronix Kernel Team, Fabio Estevam, devicetree, imx,
	linux-arm-kernel, linux-imx, Shenwei Wang

For the i.MX93 SoC, the clock rate for the IP of STMMAC EQOS is 315 MHz.
According to the following mapping table from the i.MX93 reference manual,
this clock rate corresponds to a CSR value of 6.

 0100: CSR clock = 150-250 MHz; MDC clock = CSR clock/102
 0101: CSR clock = 250-300 MHz; MDC clock = CSR clock/124
 0110: CSR clock = 300-500 MHz; MDC clock = CSR clock/204
 0111: CSR clock = 500-800 MHz; MDC clock = CSR clock/324

Signed-off-by: Shenwei Wang <shenwei.wang@nxp.com>
---
 arch/arm64/boot/dts/freescale/imx93.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/freescale/imx93.dtsi b/arch/arm64/boot/dts/freescale/imx93.dtsi
index 4a3f42355cb8..a0993022c102 100644
--- a/arch/arm64/boot/dts/freescale/imx93.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx93.dtsi
@@ -1105,7 +1105,7 @@ eqos: ethernet@428a0000 {
 							 <&clk IMX93_CLK_SYS_PLL_PFD0_DIV2>;
 				assigned-clock-rates = <100000000>, <250000000>;
 				intf_mode = <&wakeupmix_gpr 0x28>;
-				snps,clk-csr = <0>;
+				snps,clk-csr = <6>;
 				nvmem-cells = <&eth_mac2>;
 				nvmem-cell-names = "mac-address";
 				status = "disabled";
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] arm64: dts: imx93: update default value for snps,clk-csr
  2024-07-10 20:08 [PATCH] arm64: dts: imx93: update default value for snps,clk-csr Shenwei Wang
@ 2024-07-11  6:09 ` Alexander Stein
  2024-07-11 13:22   ` Shenwei Wang
  0 siblings, 1 reply; 3+ messages in thread
From: Alexander Stein @ 2024-07-11  6:09 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, linux-arm-kernel
  Cc: Pengutronix Kernel Team, Fabio Estevam, devicetree, imx,
	linux-arm-kernel, linux-imx, Shenwei Wang, Shenwei Wang

Am Mittwoch, 10. Juli 2024, 22:08:33 CEST schrieb Shenwei Wang:
> For the i.MX93 SoC, the clock rate for the IP of STMMAC EQOS is 315 MHz.

Are you talking about enet_qos (IMX93_CLK_ENET_QOS_GATE)?
Downstream 6.1 kernel shows:
 sys_pll_pfd2                         1        1        0   625000000          0     0  50000         Y
    wakeup_axi_root                   4        4        0   312500000          0     0  50000         Y
       enet_qos                       5        5        0   312500000          0     0  50000         Y

Also RM gives a maximum of 312.5 MHz.

> According to the following mapping table from the i.MX93 reference manual,
> this clock rate corresponds to a CSR value of 6.
> 
>  0100: CSR clock = 150-250 MHz; MDC clock = CSR clock/102
>  0101: CSR clock = 250-300 MHz; MDC clock = CSR clock/124
>  0110: CSR clock = 300-500 MHz; MDC clock = CSR clock/204
>  0111: CSR clock = 500-800 MHz; MDC clock = CSR clock/324

As the old value is 0 you should at least add that entry as well.

But AFAICS enet_qos is passed as clock 'mem' to this device.
So instead of hard-coding this into DT, this divider should be calculated from actual
enet_qos clock.

Best regards,
Alexander

> Signed-off-by: Shenwei Wang <shenwei.wang@nxp.com>
> ---
>  arch/arm64/boot/dts/freescale/imx93.dtsi | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/freescale/imx93.dtsi b/arch/arm64/boot/dts/freescale/imx93.dtsi
> index 4a3f42355cb8..a0993022c102 100644
> --- a/arch/arm64/boot/dts/freescale/imx93.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx93.dtsi
> @@ -1105,7 +1105,7 @@ eqos: ethernet@428a0000 {
>  							 <&clk IMX93_CLK_SYS_PLL_PFD0_DIV2>;
>  				assigned-clock-rates = <100000000>, <250000000>;
>  				intf_mode = <&wakeupmix_gpr 0x28>;
> -				snps,clk-csr = <0>;
> +				snps,clk-csr = <6>;
>  				nvmem-cells = <&eth_mac2>;
>  				nvmem-cell-names = "mac-address";
>  				status = "disabled";
> 


-- 
TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
Amtsgericht München, HRB 105018
Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
http://www.tq-group.com/




^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] arm64: dts: imx93: update default value for snps,clk-csr
  2024-07-11  6:09 ` Alexander Stein
@ 2024-07-11 13:22   ` Shenwei Wang
  0 siblings, 0 replies; 3+ messages in thread
From: Shenwei Wang @ 2024-07-11 13:22 UTC (permalink / raw)
  To: Alexander Stein, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Shawn Guo, Sascha Hauer, linux-arm-kernel@lists.infradead.org
  Cc: Pengutronix Kernel Team, Fabio Estevam,
	devicetree@vger.kernel.org, imx@lists.linux.dev,
	linux-arm-kernel@lists.infradead.org, dl-linux-imx



> -----Original Message-----
> From: Alexander Stein <alexander.stein@ew.tq-group.com>
> Sent: Thursday, July 11, 2024 1:10 AM
> To: Rob Herring <robh@kernel.org>; Krzysztof Kozlowski
> <krzk+dt@kernel.org>; Conor Dooley <conor+dt@kernel.org>; Shawn Guo
> <shawnguo@kernel.org>; Sascha Hauer <s.hauer@pengutronix.de>; linux-
> arm-kernel@lists.infradead.org
> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>; Fabio Estevam


> Am Mittwoch, 10. Juli 2024, 22:08:33 CEST schrieb Shenwei Wang:
> > For the i.MX93 SoC, the clock rate for the IP of STMMAC EQOS is 315 MHz.
>
> Are you talking about enet_qos (IMX93_CLK_ENET_QOS_GATE)?
> Downstream 6.1 kernel shows:
>  sys_pll_pfd2                         1        1        0   625000000          0     0  50000         Y
>     wakeup_axi_root                   4        4        0   312500000          0     0  50000         Y
>        enet_qos                       5        5        0   312500000          0     0  50000         Y
>
> Also RM gives a maximum of 312.5 MHz.
>

Sorry. That's a typo and should be 312.5M.


> > According to the following mapping table from the i.MX93 reference
> > manual, this clock rate corresponds to a CSR value of 6.
> >
> >  0100: CSR clock = 150-250 MHz; MDC clock = CSR clock/102
> >  0101: CSR clock = 250-300 MHz; MDC clock = CSR clock/124
> >  0110: CSR clock = 300-500 MHz; MDC clock = CSR clock/204
> >  0111: CSR clock = 500-800 MHz; MDC clock = CSR clock/324
>
> As the old value is 0 you should at least add that entry as well.
>

Will add it in next version.

> But AFAICS enet_qos is passed as clock 'mem' to this device.
> So instead of hard-coding this into DT, this divider should be calculated from
> actual enet_qos clock.
>

Agree. The SoC's DTS just gives the default value. The eqos driver should implement
the logic to calculate the divider from the actual clock rate.

Thanks,
Shenwei

> Best regards,
> Alexander
>
> > Signed-off-by: Shenwei Wang <shenwei.wang@nxp.com>
> > ---
> >  arch/arm64/boot/dts/freescale/imx93.dtsi | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/arch/arm64/boot/dts/freescale/imx93.dtsi
> > b/arch/arm64/boot/dts/freescale/imx93.dtsi
> > index 4a3f42355cb8..a0993022c102 100644
> > --- a/arch/arm64/boot/dts/freescale/imx93.dtsi
> > +++ b/arch/arm64/boot/dts/freescale/imx93.dtsi
> > @@ -1105,7 +1105,7 @@ eqos: ethernet@428a0000 {
> >                                                        <&clk IMX93_CLK_SYS_PLL_PFD0_DIV2>;
> >                               assigned-clock-rates = <100000000>, <250000000>;
> >                               intf_mode = <&wakeupmix_gpr 0x28>;
> > -                             snps,clk-csr = <0>;
> > +                             snps,clk-csr = <6>;
> >                               nvmem-cells = <&eth_mac2>;
> >                               nvmem-cell-names = "mac-address";
> >                               status = "disabled";
> >
>
>
> --
> TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
> Amtsgericht München, HRB 105018
> Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
> http://www.tq/
> -
> group.com%2F&data=05%7C02%7Cshenwei.wang%40nxp.com%7Ccce6f04dfff
> 44f5e209808dca1700b30%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C
> 0%7C638562749812501600%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wL
> jAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%
> 7C&sdata=9gYoYSCGFHIpM5CtWHLFAfZvAIFaW4kLNEM5TPEQUj4%3D&reserv
> ed=0
>



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-07-11 13:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-10 20:08 [PATCH] arm64: dts: imx93: update default value for snps,clk-csr Shenwei Wang
2024-07-11  6:09 ` Alexander Stein
2024-07-11 13:22   ` Shenwei Wang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).