]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
rockchip: rk3308-rock-s0: Fix SD-card boot on v1.1 hw revision
authorJonas Karlman <jonas@kwiboo.se>
Thu, 20 Feb 2025 18:31:28 +0000 (18:31 +0000)
committerKever Yang <kever.yang@rock-chips.com>
Fri, 28 Feb 2025 11:13:50 +0000 (19:13 +0800)
BootROM leave GPIO4_D6 configured as SDMMC_PWREN function and DW MMC
driver set PWREN high in dwmci_init().

However, HW revision prior to v1.2 must pull GPIO4_D6 low to access
sdmmc. For HW revision v1.2 the state of GPIO4_D6 has no impact.

Upstream Linux commit 26c100232b09 "arm64: dts: rockchip: Fix sdmmc
access on rk3308-rock-s0 v1.1 boards" fixed this issue by adding a
vcc_sd regulator.

Include the new vcc_sd regulator in SPL and enable required Kconfig
options to set GPIO4_D6 low to fix reading sdmmc on v1.1 hw revision.

Fixes: 25438c40a007 ("board: rockchip: Add Radxa ROCK S0")
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
arch/arm/dts/rk3308-rock-s0-u-boot.dtsi
configs/rock-s0-rk3308_defconfig

index 84ca2ee0d5fb94a6fb6c98149f1993c22c01e393..c8c56b17a154e30a449fe33508665f694bb495ac 100644 (file)
@@ -7,6 +7,14 @@
        bootph-some-ram;
 };
 
+&gpio4 {
+       bootph-pre-ram;
+};
+
+&sdmmc_2030 {
+       bootph-pre-ram;
+};
+
 &uart0 {
        bootph-all;
        clock-frequency = <24000000>;
        bootph-all;
 };
 
+&vcc_sd {
+       bootph-pre-ram;
+};
+
 &vdd_core {
        regulator-init-microvolt = <1015000>;
 };
index 0a46e7bb187169ff1a41f34eaf44ce9c455745d2..063e0b921d730e3aae21c5f09c16417745ef041a 100644 (file)
@@ -2,6 +2,7 @@ CONFIG_ARM=y
 CONFIG_SKIP_LOWLEVEL_INIT=y
 CONFIG_COUNTER_FREQUENCY=24000000
 CONFIG_ARCH_ROCKCHIP=y
+CONFIG_SPL_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="rockchip/rk3308-rock-s0"
 CONFIG_DM_RESET=y
 CONFIG_ROCKCHIP_RK3308=y
@@ -53,6 +54,7 @@ CONFIG_PHY_ROCKCHIP_INNO_USB2=y
 CONFIG_PINCTRL=y
 CONFIG_REGULATOR_PWM=y
 CONFIG_DM_REGULATOR_FIXED=y
+CONFIG_SPL_DM_REGULATOR_FIXED=y
 CONFIG_PWM_ROCKCHIP=y
 CONFIG_RAM=y
 CONFIG_BAUDRATE=1500000