Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1731148 > unrolled thread

[PATCH] ARC: [plat-axs10x]: DTS: fix sdio ciu frequency

Started byEugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
First post2017-09-12 20:30 +0200
Last post2017-09-13 17:20 +0200
Articles 3 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] ARC: [plat-axs10x]: DTS: fix sdio ciu frequency Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> - 2017-09-12 20:30 +0200
    Re: [PATCH] ARC: [plat-axs10x]: DTS: fix sdio ciu frequency Vineet Gupta <Vineet.Gupta1@synopsys.com> - 2017-09-12 20:40 +0200
      Re: [PATCH] ARC: [plat-axs10x]: DTS: fix sdio ciu frequency Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> - 2017-09-13 17:20 +0200

#1731148 — [PATCH] ARC: [plat-axs10x]: DTS: fix sdio ciu frequency

FromEugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Date2017-09-12 20:30 +0200
Subject[PATCH] ARC: [plat-axs10x]: DTS: fix sdio ciu frequency
Message-ID<uoY6C-4Pg-7@gated-at.bofh.it>
DW sdio controller has external ciu clock divider controlled
via register in SDIO IP. It divides sdio_ref_clk
(which comes from CGU) by 16 for default. So default mmcclk
clock (which comes to sdk_in) is 25000000 Hz.

So fix wrong current value (50000000 Hz) to actual 25000000 Hz.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
---
 arch/arc/boot/dts/axs10x_mb.dtsi | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/arch/arc/boot/dts/axs10x_mb.dtsi b/arch/arc/boot/dts/axs10x_mb.dtsi
index 0ff7e07..7bdf581 100644
--- a/arch/arc/boot/dts/axs10x_mb.dtsi
+++ b/arch/arc/boot/dts/axs10x_mb.dtsi
@@ -44,7 +44,14 @@
 
 			mmcclk: mmcclk {
 				compatible = "fixed-clock";
-				clock-frequency = <50000000>;
+				/*
+				 * DW sdio controller has external ciu clock divider
+				 * controlled via register in SDIO IP. It divides
+				 * sdio_ref_clk (which comes from CGU) by 16 for
+				 * default. So default mmcclk clock (which comes
+				 * to sdk_in) is 25000000 Hz.
+				 */
+				clock-frequency = <25000000>;
 				#clock-cells = <0>;
 			};
 
-- 
2.9.3

[toc] | [next] | [standalone]


#1731150

FromVineet Gupta <Vineet.Gupta1@synopsys.com>
Date2017-09-12 20:40 +0200
Message-ID<uoYgh-4Sp-5@gated-at.bofh.it>
In reply to#1731148
On 09/12/2017 11:20 AM, Eugeniy Paltsev wrote:
> DW sdio controller has external ciu clock divider controlled
> via register in SDIO IP. It divides sdio_ref_clk
> (which comes from CGU) by 16 for default. So default mmcclk
> clock (which comes to sdk_in) is 25000000 Hz.
>
> So fix wrong current value (50000000 Hz) to actual 25000000 Hz.

Is this a preventive fix or there are known issues with what we have today.
Is this triggered after addition of AXS clk driver ?

>
> Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
> ---
>   arch/arc/boot/dts/axs10x_mb.dtsi | 9 ++++++++-
>   1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arc/boot/dts/axs10x_mb.dtsi b/arch/arc/boot/dts/axs10x_mb.dtsi
> index 0ff7e07..7bdf581 100644
> --- a/arch/arc/boot/dts/axs10x_mb.dtsi
> +++ b/arch/arc/boot/dts/axs10x_mb.dtsi
> @@ -44,7 +44,14 @@
>   
>   			mmcclk: mmcclk {
>   				compatible = "fixed-clock";
> -				clock-frequency = <50000000>;
> +				/*
> +				 * DW sdio controller has external ciu clock divider
> +				 * controlled via register in SDIO IP. It divides
> +				 * sdio_ref_clk (which comes from CGU) by 16 for
> +				 * default. So default mmcclk clock (which comes
> +				 * to sdk_in) is 25000000 Hz.
> +				 */
> +				clock-frequency = <25000000>;
>   				#clock-cells = <0>;
>   			};
>   

[toc] | [prev] | [next] | [standalone]


#1731670

FromEugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Date2017-09-13 17:20 +0200
Message-ID<uphCi-Ah-23@gated-at.bofh.it>
In reply to#1731150
On Tue, 2017-09-12 at 11:38 -0700, Vineet Gupta wrote:
> On 09/12/2017 11:20 AM, Eugeniy Paltsev wrote:
> > DW sdio controller has external ciu clock divider controlled
> > via register in SDIO IP. It divides sdio_ref_clk
> > (which comes from CGU) by 16 for default. So default mmcclk
> > clock (which comes to sdk_in) is 25000000 Hz.
> > 
> > So fix wrong current value (50000000 Hz) to actual 25000000 Hz.
> 
> Is this a preventive fix or there are known issues with what we have today.

Yes, it's kinda a preventive fix.
We check axs10x ciu frequency when we found what hsdk ciu frequency was wrong
and found that it is wring too.

I tried to run SD stress test with wrong ciu frequency (50000000 Hz) and it passed
successfully, but we must take into account the fact that it depends on SD
card itself. For example: this SD card mostly works fine on HSDK with ciu 
frequency 8x times higher than expected!

Alexey says that he faced with unstable SD card work on axs103 earlier but
he didn't save any artifacts about it.

> Is this triggered after addition of AXS clk driver ?
No.

> > 
> > Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
> > ---
> >   arch/arc/boot/dts/axs10x_mb.dtsi | 9 ++++++++-
> >   1 file changed, 8 insertions(+), 1 deletion(-)
> > 
> > diff --git a/arch/arc/boot/dts/axs10x_mb.dtsi b/arch/arc/boot/dts/axs10x_mb.dtsi
> > index 0ff7e07..7bdf581 100644
> > --- a/arch/arc/boot/dts/axs10x_mb.dtsi
> > +++ b/arch/arc/boot/dts/axs10x_mb.dtsi
> > @@ -44,7 +44,14 @@
> >   
> >   			mmcclk: mmcclk {
> >   				compatible = "fixed-clock";
> > -				clock-frequency = <50000000>;
> > +				/*
> > +				 * DW sdio controller has external ciu clock divider
> > +				 * controlled via register in SDIO IP. It divides
> > +				 * sdio_ref_clk (which comes from CGU) by 16 for
> > +				 * default. So default mmcclk clock (which comes
> > +				 * to sdk_in) is 25000000 Hz.
> > +				 */
> > +				clock-frequency = <25000000>;
> >   				#clock-cells = <0>;
> >   			};
> >   
> 
> 
-- 
 Eugeniy Paltsev

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web