Re: [PATCH v2 8/8] arm64: dts: rockchip: Enable SD-card interface on Radxa E20C

From: Yao Zi
Date: Fri Mar 07 2025 - 00:53:11 EST


On Fri, Mar 07, 2025 at 11:35:08AM +0800, Chukun Pan wrote:
> Hi,
>
> > +&sdmmc {
> > + bus-width = <4>;
> > + cap-mmc-highspeed;
> > + cap-sd-highspeed;
> > + disable-wp;
> > + no-sdio;
>
> With 'no-sdio' property:
> [ 129.608986] mmc_host mmc1: Bus speed (slot 0) = 400000Hz (slot req 400000Hz, actual 400000HZ div = 0)
> [ 130.711168] mmc1: Card stuck being busy! __mmc_poll_for_busy
> [ 130.725536] mmc_host mmc1: Bus speed (slot 0) = 300000Hz (slot req 300000Hz, actual 300000HZ div = 0)
> [ 131.751240] mmc1: Card stuck being busy! __mmc_poll_for_busy
> [ 131.765608] mmc_host mmc1: Bus speed (slot 0) = 200000Hz (slot req 200000Hz, actual 200000HZ div = 0)
> [ 132.825083] mmc1: Card stuck being busy! __mmc_poll_for_busy
> [ 132.839413] mmc_host mmc1: Bus speed (slot 0) = 187500Hz (slot req 187500Hz, actual 187500HZ div = 0)
> [ 133.960141] mmc1: Card stuck being busy! __mmc_poll_for_busy
>
> Without 'no-sdio' property:
> [ 105.224019] mmc1: error -22 whilst initialising SDIO card
> [ 106.290838] mmc1: Card stuck being busy! __mmc_poll_for_busy
> [ 106.801931] dwmmc_rockchip ffc30000.mmc: Busy; trying anyway
> [ 107.385835] mmc_host mmc1: Timeou sending command (cmd 0x202000 arg 0x0 status 0x80202000)
> [ 107.400425] mmc_host mmc1: Bus speed (slot 0) = 300000Hz (slot req 300000Hz, actual 300000HZ div = 0)
> [ 107.431561] mmc_host mmc1: Bus speed (slot 0) = 49800000Hz (slot req 50000000Hz, actual 49800000HZ div = 0)
> [ 107.433107] mmc1: new high speed SDIO card at address 0001

So it seems the sdmmc controller actually works with SDIO commands as
well? I don't expect that since the datasheet says RK3528 has only two
SDIO 3.0 controllers.

We could remove the "no-sdio" property if SDIO actually works. Will
apply it in the next version if there's no objection against this.

Further tests about the capabilities of the controller are welcome.

> # cat /sys/kernel/debug/mmc1/ios
> clock: 50000000 Hz
> vdd: 21 (3.3 ~ 3.4 V)
> bus mode: 2 (push-pull)
> chip select: 0 (don't care)
> power mode: 2 (on)
> bus width: 2 (4 bits)
> timing spec: 2 (sd high-speed)
> signal voltage: 0 (3.30 V)
> driver type: 0 (driver type B)
>
> Thanks,
> Chukun
>
> --
> 2.25.1
>

Best regards,
Yao Zi