Subject: Re: [PATCH] arm64: dts: rockchip: fix emmc reset polarity on px30-cobra

From: Quentin Schulz <[email-masked]>
Date: Tue, 12 May 2026 12:47:35 +0200

Hi Jakob,

JFYI, the commit author will differ from the Signed-off-by (it's your 
gmail address that is going to appear as author).

Usually, when the mail From address is different from the commit author, 
there's a From: line as first line in the patch (which won't appear in 
the commit once merged). See 
https://lore.kernel.org/linux-rockchip/[email-masked]/ 
for an example. Not sure what's happening with your setup :)

On 5/12/26 11:22 AM, Jakob Unterwurzacher wrote:
> Technically, the reset signal is active low - it's called RST_n after all.
> 
> But it is ignored completely unless RST_n_FUNCTION=1 (byte 162 in extcsd)
> is set in the emmc. It is 0 per default.
> 
> For emmcs that have RST_n_FUNCTION=1 we failed like this:
> 
> 	[    3.074480] mmc1: Failed to initialize a non-removable card
> 
> With this change they work normally.
> 
> Cc: [email-masked]
> Fixes: bb510ddc9d3e ("arm64: dts: rockchip: add px30-cobra base dtsi and board variants")

This also matches the Device Tree bindings for eMMC MMC pwrseq devices, 
c.f. 
https://elixir.bootlin.com/linux/v7.0.5/source/Documentation/devicetree/bindings/mmc/mmc-pwrseq-emmc.yaml#L33

Looking at their respective schematics and Device Tree, I think we also 
have the same issue on our Jaguar, PP-1516, Ringneck and Tiger, would 
you be so kind and check I read the schematics properly and send patches 
for those as well?

@Heiko, I've checked and it seems like (in addition to Jaguar, PP-1516, 
Ringneck and Tiger):

arch/arm/boot/dts/rockchip/rk3288-veyron.dtsi
arch/arm64/boot/dts/rockchip/rk3368-r88.dts
arch/arm64/boot/dts/rockchip/rk3368-orion-r68-meta.dts
arch/arm64/boot/dts/rockchip/rk3368-evb.dtsi
arch/arm64/boot/dts/rockchip/px30-firefly-jd4-core.dtsi
arch/arm64/boot/dts/rockchip/px30-evb.dts

all have that wrong polarity (though, without access to the schematics, 
who knows if it's really supposed to be inverted polarity (e.g. because 
it's inverted via a transistor)).

Reviewed-by: Quentin Schulz <[email-masked]>

Thanks!
Quentin