From: Yao Zi <ziyao@disroot.org>
To: Jonas Karlman <jonas@kwiboo.se>
Cc: Ulf Hansson <ulf.hansson@linaro.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Heiko Stuebner <heiko@sntech.de>,
Michael Turquette <mturquette@baylibre.com>,
Stephen Boyd <sboyd@kernel.org>,
Frank Wang <frank.wang@rock-chips.com>,
Shresth Prasad <shresthprasad7@gmail.com>,
Cristian Ciocaltea <cristian.ciocaltea@collabora.com>,
Detlev Casanova <detlev.casanova@collabora.com>,
linux-mmc@vger.kernel.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org,
linux-clk@vger.kernel.org
Subject: Re: [PATCH 8/8] arm64: dts: rockchip: Enable SD-card interface on Radxa E20C
Date: Sat, 1 Mar 2025 15:15:32 +0000 [thread overview]
Message-ID: <Z8MklJfFz2EA6oNS@pie.lan> (raw)
In-Reply-To: <0aefd292-7980-434d-9c18-4ab9f6a0b40e@kwiboo.se>
On Sat, Mar 01, 2025 at 02:01:05PM +0100, Jonas Karlman wrote:
> Hi,
>
> On 2025-03-01 11:48, Yao Zi wrote:
> > SD-card is available on Radxa E20C board.
> >
> > Signed-off-by: Yao Zi <ziyao@disroot.org>
> > ---
> > arch/arm64/boot/dts/rockchip/rk3528-radxa-e20c.dts | 14 ++++++++++++++
> > 1 file changed, 14 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/rockchip/rk3528-radxa-e20c.dts b/arch/arm64/boot/dts/rockchip/rk3528-radxa-e20c.dts
> > index d2cdb63d4a9d..473065aa4228 100644
> > --- a/arch/arm64/boot/dts/rockchip/rk3528-radxa-e20c.dts
> > +++ b/arch/arm64/boot/dts/rockchip/rk3528-radxa-e20c.dts
> > @@ -12,6 +12,10 @@ / {
> > model = "Radxa E20C";
> > compatible = "radxa,e20c", "rockchip,rk3528";
> >
> > + aliases {
> > + mmc0 = &sdmmc;
>
> Suggest using mmc1 for sd-card because the e20c typically have onboard
> emmc, compared to removable sd-card.
My board doesn't have an eMMC: it's optional as well, but all variants
of Radxa E20C come with an SD-card interface. The vendor devicetree sets
sdmmc as mmc0 as well[1].
I won't insist on it and am willing to take the change if you still
consider mmc0 is better.
> > + };
> > +
> > chosen {
> > stdout-path = "serial0:1500000n8";
> > };
> > @@ -20,3 +24,13 @@ chosen {
> > &uart0 {
> > status = "okay";
> > };
> > +
> > +&sdmmc {
> > + bus-width = <4>;
> > + cap-mmc-highspeed;
> > + cap-sd-highspeed;
> > + disable-wp;
> > + rockchip,default-sample-phase = <90>;
> > + sd-uhs-sdr104;
>
> Are you sure uhs-sdr104 works as is should?
In fact yes, tuning succeeds at 148.5MHz and results in 66MB/s reading
speed.
> Vendor kernel use a different "v2" tuning
This isn't a problem. IMHO V2 tuning is more like a quick path, which
tries inheritting the phase from firmware and then re-tunes roughly.
Fine tunning is still a fallback here in case of failure, see the commit
message in the downstream kernel[2]. And testing proves it's okay for
RK3528 to issue fine-tuning always.
> and this is also missing the vccio_sd vqmmc-supply to switch between
> 3v3 and 1v8.
But this is a problem, thanks for catching it! Somehow my card managed
to run at 148.5MHz with 3v3 voltage level, but it's definitely a
compatiblity issue. I'm surprised that the driver doesn't complain when
switching to SDR modes without a regulator configured.
> You could add following regulator for sdmmc:
>
> vccio_sd: regulator-vccio-sd {
> compatible = "regulator-gpio";
> gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
> pinctrl-names = "default";
> pinctrl-0 = <&sdmmc_vol_ctrl_h>;
> regulator-name = "vccio_sd";
> regulator-min-microvolt = <1800000>;
> regulator-max-microvolt = <3300000>;
> states = <1800000 0x0>, <3300000 0x1>;
> };
>
> and following pinctrl:
>
> sdmmc {
> sdmmc_vol_ctrl_h: sdmmc-vol-ctrl-h {
> rockchip,pins = <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
> };
> };
>
> add then the power supplies to the sdmmc node:
>
> vmmc-supply = <&vcc_3v3>;
> vqmmc-supply = <&vccio_sd>;
>
> That matches the schematics for e20c, and works when testing non-uhs modes.
Thanks for the hints. Will rebase on your pinctrl series and get
regulators and pinctrl settings applied in the next version.
> Regards,
> Jonas
>
> > + status = "okay";
> > +};
>
Cheers,
Yao Zi
[1]: https://github.com/radxa/kernel/blob/2b0c8de7dc4c68947cda206dcc2e457e9677e426/arch/arm64/boot/dts/rockchip/rk3528-radxa-e20c.dts#L22-L26
[2]: https://github.com/rockchip-linux/kernel/commit/795e052cc8610aa59a64b104f975cc4a45493d5d
WARNING: multiple messages have this Message-ID (diff)
From: Yao Zi <ziyao@disroot.org>
To: Jonas Karlman <jonas@kwiboo.se>
Cc: Rob Herring <robh@kernel.org>, Conor Dooley <conor+dt@kernel.org>,
Heiko Stuebner <heiko@sntech.de>,
Detlev Casanova <detlev.casanova@collabora.com>,
Stephen Boyd <sboyd@kernel.org>,
Michael Turquette <mturquette@baylibre.com>,
linux-mmc@vger.kernel.org, Ulf Hansson <ulf.hansson@linaro.org>,
linux-kernel@vger.kernel.org,
Frank Wang <frank.wang@rock-chips.com>,
devicetree@vger.kernel.org,
Shresth Prasad <shresthprasad7@gmail.com>,
linux-rockchip@lists.infradead.org,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 8/8] arm64: dts: rockchip: Enable SD-card interface on Radxa E20C
Date: Sat, 1 Mar 2025 15:15:32 +0000 [thread overview]
Message-ID: <Z8MklJfFz2EA6oNS@pie.lan> (raw)
In-Reply-To: <0aefd292-7980-434d-9c18-4ab9f6a0b40e@kwiboo.se>
On Sat, Mar 01, 2025 at 02:01:05PM +0100, Jonas Karlman wrote:
> Hi,
>
> On 2025-03-01 11:48, Yao Zi wrote:
> > SD-card is available on Radxa E20C board.
> >
> > Signed-off-by: Yao Zi <ziyao@disroot.org>
> > ---
> > arch/arm64/boot/dts/rockchip/rk3528-radxa-e20c.dts | 14 ++++++++++++++
> > 1 file changed, 14 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/rockchip/rk3528-radxa-e20c.dts b/arch/arm64/boot/dts/rockchip/rk3528-radxa-e20c.dts
> > index d2cdb63d4a9d..473065aa4228 100644
> > --- a/arch/arm64/boot/dts/rockchip/rk3528-radxa-e20c.dts
> > +++ b/arch/arm64/boot/dts/rockchip/rk3528-radxa-e20c.dts
> > @@ -12,6 +12,10 @@ / {
> > model = "Radxa E20C";
> > compatible = "radxa,e20c", "rockchip,rk3528";
> >
> > + aliases {
> > + mmc0 = &sdmmc;
>
> Suggest using mmc1 for sd-card because the e20c typically have onboard
> emmc, compared to removable sd-card.
My board doesn't have an eMMC: it's optional as well, but all variants
of Radxa E20C come with an SD-card interface. The vendor devicetree sets
sdmmc as mmc0 as well[1].
I won't insist on it and am willing to take the change if you still
consider mmc0 is better.
> > + };
> > +
> > chosen {
> > stdout-path = "serial0:1500000n8";
> > };
> > @@ -20,3 +24,13 @@ chosen {
> > &uart0 {
> > status = "okay";
> > };
> > +
> > +&sdmmc {
> > + bus-width = <4>;
> > + cap-mmc-highspeed;
> > + cap-sd-highspeed;
> > + disable-wp;
> > + rockchip,default-sample-phase = <90>;
> > + sd-uhs-sdr104;
>
> Are you sure uhs-sdr104 works as is should?
In fact yes, tuning succeeds at 148.5MHz and results in 66MB/s reading
speed.
> Vendor kernel use a different "v2" tuning
This isn't a problem. IMHO V2 tuning is more like a quick path, which
tries inheritting the phase from firmware and then re-tunes roughly.
Fine tunning is still a fallback here in case of failure, see the commit
message in the downstream kernel[2]. And testing proves it's okay for
RK3528 to issue fine-tuning always.
> and this is also missing the vccio_sd vqmmc-supply to switch between
> 3v3 and 1v8.
But this is a problem, thanks for catching it! Somehow my card managed
to run at 148.5MHz with 3v3 voltage level, but it's definitely a
compatiblity issue. I'm surprised that the driver doesn't complain when
switching to SDR modes without a regulator configured.
> You could add following regulator for sdmmc:
>
> vccio_sd: regulator-vccio-sd {
> compatible = "regulator-gpio";
> gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
> pinctrl-names = "default";
> pinctrl-0 = <&sdmmc_vol_ctrl_h>;
> regulator-name = "vccio_sd";
> regulator-min-microvolt = <1800000>;
> regulator-max-microvolt = <3300000>;
> states = <1800000 0x0>, <3300000 0x1>;
> };
>
> and following pinctrl:
>
> sdmmc {
> sdmmc_vol_ctrl_h: sdmmc-vol-ctrl-h {
> rockchip,pins = <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
> };
> };
>
> add then the power supplies to the sdmmc node:
>
> vmmc-supply = <&vcc_3v3>;
> vqmmc-supply = <&vccio_sd>;
>
> That matches the schematics for e20c, and works when testing non-uhs modes.
Thanks for the hints. Will rebase on your pinctrl series and get
regulators and pinctrl settings applied in the next version.
> Regards,
> Jonas
>
> > + status = "okay";
> > +};
>
Cheers,
Yao Zi
[1]: https://github.com/radxa/kernel/blob/2b0c8de7dc4c68947cda206dcc2e457e9677e426/arch/arm64/boot/dts/rockchip/rk3528-radxa-e20c.dts#L22-L26
[2]: https://github.com/rockchip-linux/kernel/commit/795e052cc8610aa59a64b104f975cc4a45493d5d
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
next prev parent reply other threads:[~2025-03-01 15:17 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-01 10:42 [PATCH 0/8] Support SD/SDIO controllers on RK3528 Yao Zi
2025-03-01 10:42 ` Yao Zi
2025-03-01 10:42 ` [PATCH 1/8] dt-bindings: soc: rockchip: Add RK3528 VO GRF syscon Yao Zi
2025-03-01 10:42 ` Yao Zi
2025-03-03 15:07 ` Rob Herring (Arm)
2025-03-03 15:07 ` Rob Herring (Arm)
2025-03-01 10:42 ` [PATCH 2/8] dt-bindings: soc: rockchip: Add RK3528 VPU " Yao Zi
2025-03-01 10:42 ` Yao Zi
2025-03-03 15:08 ` Rob Herring (Arm)
2025-03-03 15:08 ` Rob Herring (Arm)
2025-03-01 10:42 ` [PATCH 3/8] dt-bindings: mmc: rockchip-dw-mshc: Add compatible string for RK3528 Yao Zi
2025-03-01 10:42 ` Yao Zi
2025-03-03 15:08 ` Rob Herring (Arm)
2025-03-03 15:08 ` Rob Herring (Arm)
2025-03-01 10:42 ` [PATCH 4/8] dt-bindings: clock: Add GRF clock definition " Yao Zi
2025-03-01 10:42 ` Yao Zi
2025-03-01 10:46 ` [PATCH 5/8] clk: rockchip: Support MMC clocks in GRF region Yao Zi
2025-03-01 10:46 ` Yao Zi
2025-03-01 10:47 ` [PATCH 6/8] clk: rockchip: rk3528: Add SD/SDIO tuning " Yao Zi
2025-03-01 10:47 ` Yao Zi
2025-03-05 10:00 ` Chukun Pan
2025-03-05 10:00 ` Chukun Pan
2025-03-05 10:21 ` Heiko Stübner
2025-03-05 10:21 ` Heiko Stübner
2025-03-05 10:49 ` Yao Zi
2025-03-05 10:49 ` Yao Zi
2025-03-01 10:47 ` [PATCH 7/8] arm64: dts: rockchip: Add SDMMC/SDIO controllers for RK3528 Yao Zi
2025-03-01 10:47 ` Yao Zi
2025-03-01 12:47 ` Jonas Karlman
2025-03-01 12:47 ` Jonas Karlman
2025-03-01 12:55 ` Heiko Stübner
2025-03-01 12:55 ` Heiko Stübner
2025-03-02 11:01 ` Jonas Karlman
2025-03-02 11:01 ` Jonas Karlman
2025-03-01 13:33 ` Yao Zi
2025-03-01 13:33 ` Yao Zi
2025-03-02 11:33 ` Jonas Karlman
2025-03-02 11:33 ` Jonas Karlman
2025-03-01 10:48 ` [PATCH 8/8] arm64: dts: rockchip: Enable SD-card interface on Radxa E20C Yao Zi
2025-03-01 10:48 ` Yao Zi
2025-03-01 13:01 ` Jonas Karlman
2025-03-01 13:01 ` Jonas Karlman
2025-03-01 15:15 ` Yao Zi [this message]
2025-03-01 15:15 ` Yao Zi
2025-03-02 11:56 ` Jonas Karlman
2025-03-02 11:56 ` Jonas Karlman
2025-03-02 16:16 ` Yao Zi
2025-03-02 16:16 ` Yao Zi
2025-03-04 12:10 ` Chukun Pan
2025-03-04 12:10 ` Chukun Pan
2025-03-04 19:49 ` Yao Zi
2025-03-04 19:49 ` Yao Zi
2025-03-04 19:55 ` Jonas Karlman
2025-03-04 19:55 ` Jonas Karlman
2025-03-04 20:02 ` Yao Zi
2025-03-04 20:02 ` Yao Zi
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=Z8MklJfFz2EA6oNS@pie.lan \
--to=ziyao@disroot.org \
--cc=conor+dt@kernel.org \
--cc=cristian.ciocaltea@collabora.com \
--cc=detlev.casanova@collabora.com \
--cc=devicetree@vger.kernel.org \
--cc=frank.wang@rock-chips.com \
--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-mmc@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=mturquette@baylibre.com \
--cc=robh@kernel.org \
--cc=sboyd@kernel.org \
--cc=shresthprasad7@gmail.com \
--cc=ulf.hansson@linaro.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.