devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] arm64: dts: rockchip: fix eMMC corruption on NanoPC-T6 with A3A444 chips
@ 2025-10-17  7:39 Tianling Shen
  2025-10-17 10:25 ` Dragan Simic
  2025-10-20  1:53 ` Shawn Lin
  0 siblings, 2 replies; 24+ messages in thread
From: Tianling Shen @ 2025-10-17  7:39 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner,
	Grzegorz Sterniczuk, Tianling Shen, Dragan Simic, Jonas Karlman
  Cc: devicetree, linux-arm-kernel, linux-rockchip, linux-kernel

From: Grzegorz Sterniczuk <grzegorz@sternicz.uk>

Some NanoPC-T6 boards with A3A444 eMMC chips experience I/O errors and
corruption when using HS400 mode. Downgrade to HS200 mode to ensure
stable operation.

Signed-off-by: Grzegorz Sterniczuk <grzegorz@sternicz.uk>
Signed-off-by: Tianling Shen <cnsztl@gmail.com>
---
 arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
index fafeabe9adf9..5f63f38f7326 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
@@ -717,8 +717,7 @@ &sdhci {
 	no-sd;
 	non-removable;
 	max-frequency = <200000000>;
-	mmc-hs400-1_8v;
-	mmc-hs400-enhanced-strobe;
+	mmc-hs200-1_8v;
 	status = "okay";
 };
 
-- 
2.51.0


^ permalink raw reply related	[flat|nested] 24+ messages in thread
* Re: [PATCH] arm64: dts: rockchip: fix eMMC corruption on NanoPC-T6 with A3A444 chips
@ 2025-10-20  9:41 Dragan Simic
  0 siblings, 0 replies; 24+ messages in thread
From: Dragan Simic @ 2025-10-20  9:41 UTC (permalink / raw)
  To: Anand Moon
  Cc: Hugh Cole-Baker, Jimmy Hon, Tianling Shen, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner,
	Grzegorz Sterniczuk, Jonas Karlman, devicetree, linux-arm-kernel,
	linux-rockchip, linux-kernel, Shawn Lin

Hello Anand,

On Monday, October 20, 2025 05:13 CEST, Anand Moon <linux.amoon@gmail.com> wrote:
> On Sun, 19 Oct 2025 at 23:40, Dragan Simic <dsimic@manjaro.org> wrote:
> > On Sunday, October 19, 2025 19:25 CEST, Anand Moon <linux.amoon@gmail.com> wrote:
> > > Would you consider the following patch?
> > >
> > > As per the Rockchip RK3588S SoC Technical Reference Manual (TRM) Part 1,
> > > chapter 21.6, Interface Description, the eMMC signals require careful handling
> > > to ensure signal integrity.
> > >
> > > I2C2_SCL_M2 I/O EMMC_RSTN/I2C2_SCL_M2/UART5_RTSN_M1/GPIO2_A3_d
> > > BUS_IOC_GPIO2A_IOMUX_SEL_L[15:12]=0x9
> > > I2C2_SDA_M2 I/O EMMC_DATA_STROBE/I2C2_SDA_M2/UART5_CTSN_M1/GPIO2_A2_d
> > > BUS_IOC_GPIO2A_IOMUX_SEL_L[11:8]=0x9
> > >
> > > $ git diff .
> > > diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base-pinctrl.dtsi
> > > b/arch/arm64/boot/dts/rockchip/rk3588-base-pinctrl.dtsi
> > > index 6584d73660f6..f60a1d8be0ef 100644
> > > --- a/arch/arm64/boot/dts/rockchip/rk3588-base-pinctrl.dtsi
> > > +++ b/arch/arm64/boot/dts/rockchip/rk3588-base-pinctrl.dtsi
> > > @@ -327,7 +327,7 @@ emmc {
> > >                 emmc_rstnout: emmc-rstnout {
> > >                         rockchip,pins =
> > >                                 /* emmc_rstn */
> > > -                               <2 RK_PA3 1 &pcfg_pull_none>;
> > > +                               <2 RK_PA3 1 &pcfg_pull_down_drv_level_2>;
> > >                 };
> > >
> > >                 /omit-if-no-ref/
> > > @@ -369,7 +369,7 @@ emmc_cmd: emmc-cmd {
> > >                 emmc_data_strobe: emmc-data-strobe {
> > >                         rockchip,pins =
> > >                                 /* emmc_data_strobe */
> > > -                               <2 RK_PA2 1 &pcfg_pull_down>;
> > > +                               <2 RK_PA2 1 &pcfg_pull_down_drv_level_2>;
> > >                 };
> > >         };
> >
> > Frankly, I'm not really sure how would such changes do something
> > good regarding the eMMC signal integrity?  In general, signal
> > integrity depends mostly on the routing of the PCB traces, which
> > is purely hardware design.  Sure, termination of data lines also
> > plays a significant role, but that surely isn't at play here.
> >
> It is necessary to enhance the signal quality from the controller to
> the eMMC module

Well, yes, but the proposed change almost surely isn't a way
to achieve that.  Maybe I'm missing something, but it looks like
a pretty much random change to me.

> > Moreover, the eMMC RSTn line is already pulled high to VCCIO in
> > the reference RK3588 design, so pulling it down in the SoC itself
> > would be pretty much wrong thing to do.
> >
> It is specified in the TRM that this is only applicable during
> initialization.as per my understanding.

It doesn't matter what the TRM says in this case, because the
board-level pull-up and SoC-level pull-down remain the same at
all times, and having both a pull-up and a pull-down at the same
time is a typical example of what shouldn't be happening on some
line until that's intentional and the pull-ups and pull-downs
deliberately have different strengths.

Anyway, let's see will the patch that Shawn sent [1] fix this
issue (by the way, thanks, Shawn!).  I'll hold the A3A444 quirk
patch(es) off until Tianling's friend and Hugh find the time to
test Shawn's patch.

[1] https://patchwork.kernel.org/project/linux-mmc/patch/1760924981-52339-1-git-send-email-shawn.lin@rock-chips.com/


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

end of thread, other threads:[~2025-11-05 11:59 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-17  7:39 [PATCH] arm64: dts: rockchip: fix eMMC corruption on NanoPC-T6 with A3A444 chips Tianling Shen
2025-10-17 10:25 ` Dragan Simic
2025-10-17 12:08   ` Tianling Shen
2025-10-17 15:15     ` Dragan Simic
2025-10-17 16:34       ` Tianling Shen
2025-10-17 16:51         ` Dragan Simic
2025-10-18  0:42       ` Jimmy Hon
2025-10-18  8:30         ` Dragan Simic
2025-10-18 12:14           ` Hugh Cole-Baker
2025-10-18 13:57             ` Dragan Simic
2025-10-19 17:25               ` Anand Moon
2025-10-19 18:09                 ` Dragan Simic
2025-10-20  3:13                   ` Anand Moon
     [not found]   ` <CABGV7H_pTkJ_-WQNgVbGE+Ys7jOZaKcRrnMtPr8idfKoYMgKjg@mail.gmail.com>
2025-10-19 17:04     ` Dragan Simic
2025-10-20  1:53 ` Shawn Lin
2025-10-20  4:44   ` Tianling Shen
2025-10-20  8:20     ` Shawn Lin
2025-10-27 17:34     ` Tianling Shen
2025-10-30  9:16       ` Jianfeng Liu
2025-11-01 11:54       ` Heiko Stuebner
2025-11-01 12:14         ` Tianling Shen
2025-11-01 12:50         ` Dragan Simic
2025-11-05 11:59           ` Anand Moon
  -- strict thread matches above, loose matches on Subject: below --
2025-10-20  9:41 Dragan Simic

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).