lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <52537005-b8a3-c202-770c-599efc6a4d17@manjaro.org>
Date: Mon, 20 Oct 2025 11:41:29 +0200
From: "Dragan Simic" <dsimic@...jaro.org>
To: "Anand Moon" <linux.amoon@...il.com>
Cc: "Hugh Cole-Baker" <sigmaris@...il.com>, "Jimmy Hon" <honyuenkwun@...il.com>, "Tianling Shen" <cnsztl@...il.com>, "Rob Herring" <robh@...nel.org>, "Krzysztof Kozlowski" <krzk+dt@...nel.org>, "Conor Dooley" <conor+dt@...nel.org>, "Heiko Stuebner" <heiko@...ech.de>, "Grzegorz Sterniczuk" <grzegorz@...rnicz.uk>, "Jonas Karlman" <jonas@...boo.se>, devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org, linux-rockchip@...ts.infradead.org, linux-kernel@...r.kernel.org, "Shawn Lin" <shawn.lin@...k-chips.com>
Subject: Re: [PATCH] arm64: dts: rockchip: fix eMMC corruption on NanoPC-T6 with A3A444 chips

Hello Anand,

On Monday, October 20, 2025 05:13 CEST, Anand Moon <linux.amoon@...il.com> wrote:
> On Sun, 19 Oct 2025 at 23:40, Dragan Simic <dsimic@...jaro.org> wrote:
> > On Sunday, October 19, 2025 19:25 CEST, Anand Moon <linux.amoon@...il.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/


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ