Message ID | 20250417144005.43927-1-ziyao@disroot.org |
---|---|
State | Superseded |
Headers | show |
Series | Support SD/SDIO controllers on RK3528 | expand |
On 2025-04-17 16:40, Yao Zi wrote: > SD-card is available on Radxa E20C board. > > Signed-off-by: Yao Zi <ziyao@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@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>;
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>;
SD-card is available on Radxa E20C board. Signed-off-by: Yao Zi <ziyao@disroot.org> --- .../boot/dts/rockchip/rk3528-radxa-e20c.dts | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+)