From: Yao Zi <ziyao@disroot.org>
To: Jonas Karlman <jonas@kwiboo.se>, Chukun Pan <amadeus@jmu.edu.cn>
Cc: conor+dt@kernel.org, cristian.ciocaltea@collabora.com,
detlev.casanova@collabora.com, devicetree@vger.kernel.org,
heiko@sntech.de, krzk+dt@kernel.org,
linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org
Subject: Re: [PATCH v2 8/8] arm64: dts: rockchip: Enable SD-card interface on Radxa E20C
Date: Sat, 8 Mar 2025 15:27:22 +0000 [thread overview]
Message-ID: <Z8xh2mE1BTE4co43@pie> (raw)
In-Reply-To: <5a0a7ce1-1dfb-4d19-8a1e-0d89d177f5b8@kwiboo.se>
Hi Jonas,
On Fri, Mar 07, 2025 at 07:45:00AM +0100, Jonas Karlman wrote:
> Hi Chukun,
>
> On 2025-03-07 06:52, Yao Zi wrote:
> > 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.
>
> On the E20C the sdmmc controller is routed to a microSD card slot mainly
> intended for use with microSD-cards and should normally not need SDIO.
As pointed out by Chukun, I found the hardware design guide for
RK3528[1] (in Chinese) does claim that SDIO 3.0 is supported on all
these three controllers in Chapter 2.3.1 (SDMMC/SDIO),
RK3528 集成了 1 个 SDMMC 控制器和 2 个 SDIO 控制器,均可支持 SDIO3.0 协
议,以及 MMC V4.51 协议。其中 SDIO0 和 SDIO1 最高可支持 200MHz,SDMMC
最高只支持到 150MHz
translated to English,
RK3528 integrates one SDMMC controller and two SDIO controllers, all
support SDIO3.0 protocol and MMC V4.51 protocol. Among them SDIO0 and
SDIO1 support 200MHz frequency at maximum, and SDMMC supports up to
150MHz.
So I think there's no reason to explicitly deny SDIO initialization
sequence for the controller on Radxa E20C. imho this won't break
anything even for a sdcard slot, will it?
Additionally, this piece of information points out that wrong
max-frequency is set for SDIO{0,1}. Rockchip overrides the frequency in
devicetrees for the demo boards[2], I'm not sure whether it's for some
speical reason or not.
Since I don't have a SDIO-capable board on hand, could you please test
whether 200MHz actually works? If so I'll correct the SoC devicetree in
v3.
> What card/adapter do you have inserted in the microSD card slot that
> requires use of SDIO instead of just SD or MMC? What is the use case you
> have that requires removal of no-sdio on E20C?
>
> Regards,
> Jonas
>
> >
> > 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
>
Thanks,
Yao Zi
[1]: https://github.com/DeciHD/rockchip_docs/blob/main/rk3528/RK3528%20Hardware%20Design%20Guide-CN-V1.0-20230525.pdf
[2]: https://github.com/rockchip-linux/kernel/blob/604cec4004abe5a96c734f2fab7b74809d2d742f/arch/arm64/boot/dts/rockchip/rk3528-demo1-lp4-v10.dtsi#L47
next prev parent reply other threads:[~2025-03-08 15:27 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-05 19:42 [PATCH v2 0/8] Support SD/SDIO controllers on RK3528 Yao Zi
2025-03-05 19:42 ` [PATCH v2 1/8] dt-bindings: soc: rockchip: Add RK3528 VO GRF syscon Yao Zi
2025-03-05 19:42 ` [PATCH v2 2/8] dt-bindings: soc: rockchip: Add RK3528 VPU " Yao Zi
2025-03-05 19:42 ` [PATCH v2 3/8] dt-bindings: mmc: rockchip-dw-mshc: Add compatible string for RK3528 Yao Zi
2025-03-05 19:42 ` [PATCH v2 4/8] dt-bindings: clock: Add GRF clock definition " Yao Zi
2025-03-06 8:40 ` Krzysztof Kozlowski
2025-03-05 19:45 ` [PATCH v2 5/8] clk: rockchip: Support MMC clocks in GRF region Yao Zi
2025-03-05 19:45 ` [PATCH v2 6/8] clk: rockchip: rk3528: Add SD/SDIO tuning " Yao Zi
2025-03-05 19:46 ` [PATCH v2 7/8] arm64: dts: rockchip: Add SDMMC/SDIO controllers for RK3528 Yao Zi
2025-03-06 14:00 ` Chukun Pan
2025-03-06 16:43 ` Yao Zi
2025-03-06 23:05 ` Jonas Karlman
2025-03-07 5:54 ` Yao Zi
2025-03-07 23:22 ` Jonas Karlman
2025-03-08 14:05 ` Yao Zi
2025-03-05 19:46 ` [PATCH v2 8/8] arm64: dts: rockchip: Enable SD-card interface on Radxa E20C Yao Zi
2025-03-07 3:35 ` Chukun Pan
2025-03-07 5:52 ` Yao Zi
2025-03-07 6:45 ` Jonas Karlman
2025-03-07 7:10 ` Chukun Pan
2025-03-07 7:26 ` Yao Zi
2025-03-08 15:27 ` Yao Zi [this message]
2025-03-08 17:23 ` Jonas Karlman
2025-03-06 13:36 ` (subset) [PATCH v2 0/8] Support SD/SDIO controllers on RK3528 Heiko Stuebner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Z8xh2mE1BTE4co43@pie \
--to=ziyao@disroot.org \
--cc=amadeus@jmu.edu.cn \
--cc=conor+dt@kernel.org \
--cc=cristian.ciocaltea@collabora.com \
--cc=detlev.casanova@collabora.com \
--cc=devicetree@vger.kernel.org \
--cc=heiko@sntech.de \
--cc=jonas@kwiboo.se \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).