[PATCH v4 5/5] arm64: dts: rockchip: Enable SD-card interface on Radxa E20C
Jonas Karlman
jonas at kwiboo.se
Mon May 5 14:00:03 PDT 2025
On 2025-04-17 16:40, Yao Zi wrote:
> SD-card is available on Radxa E20C board.
>
> Signed-off-by: Yao Zi <ziyao at disroot.org>
SD-card is detected and working on my E20C, and this also seem to match
the schematics for E20C:
mmc_host mmc1: Bus speed (slot 0) = 400000Hz (slot req 400000Hz, actual 400000HZ div = 0)
mmc_host mmc1: Bus speed (slot 0) = 148500000Hz (slot req 150000000Hz, actual 148500000HZ div = 0)
dwmmc_rockchip ffc30000.mmc: Successfully tuned phase to 215
mmc1: new UHS-I speed SDR104 SDHC card at address 59b4
mmcblk1: mmc1:59b4 USD00 29.5 GiB
mmcblk1: p1
$ cat /sys/kernel/debug/mmc1/ios
lock: 150000000 Hz
actual clock: 148500000 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: 6 (sd uhs SDR104)
signal voltage: 1 (1.80 V)
driver type: 0 (driver type B)
So this is:
Reviewed-by: Jonas Karlman <jonas at kwiboo.se>
Regards,
Jonas
> ---
> .../boot/dts/rockchip/rk3528-radxa-e20c.dts | 30 +++++++++++++++++++
> 1 file changed, 30 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3528-radxa-e20c.dts b/arch/arm64/boot/dts/rockchip/rk3528-radxa-e20c.dts
> index 57a446b5cbd6..09d917a0acc5 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3528-radxa-e20c.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3528-radxa-e20c.dts
> @@ -17,6 +17,7 @@ / {
>
> aliases {
> mmc0 = &sdhci;
> + mmc1 = &sdmmc;
> };
>
> chosen {
> @@ -108,6 +109,18 @@ vcc5v0_sys: regulator-5v0-vcc-sys {
> regulator-min-microvolt = <5000000>;
> regulator-max-microvolt = <5000000>;
> };
> +
> + 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>;
> + vin-supply = <&vcc5v0_sys>;
> + };
> };
>
> &pinctrl {
> @@ -130,6 +143,12 @@ wan_led_g: wan-led-g {
> rockchip,pins = <4 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
> };
> };
> +
> + sdmmc {
> + sdmmc_vol_ctrl_h: sdmmc-vol-ctrl-h {
> + rockchip,pins = <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
> + };
> + };
> };
>
> &saradc {
> @@ -148,6 +167,17 @@ &sdhci {
> status = "okay";
> };
>
> +&sdmmc {
> + bus-width = <4>;
> + cap-mmc-highspeed;
> + cap-sd-highspeed;
> + disable-wp;
> + sd-uhs-sdr104;
> + vmmc-supply = <&vcc_3v3>;
> + vqmmc-supply = <&vccio_sd>;
> + status = "okay";
> +};
> +
> &uart0 {
> pinctrl-names = "default";
> pinctrl-0 = <&uart0m0_xfer>;
More information about the linux-arm-kernel
mailing list