[PATCH v2 2/3] rockchip: rk35xx: Enable eMMC HS200 mode by default
Kever Yang
kever.yang at rock-chips.com
Mon Feb 5 07:41:56 CET 2024
On 2024/2/5 04:53, Jonas Karlman wrote:
> Testing has shown that writing to eMMC using a slower mode then HS200
> typically generate an ERROR on first attempt on RK3588.
>
> # Rescan using MMC legacy mode
> => mmc rescan 0
>
> # Write a single block to sector 0x4000 fails with ERROR
> => mmc write 20000000 4000 1
>
> # Write a single block to sector 0x4000 now works
> => mmc write 20000000 4000 1
>
> With the MMC_SPEED_MODE_SET Kconfig option enabled.
>
> Writing to eMMC using HS200 mode work more reliably than slower modes on
> RK35xx boards. Enable MMC_HS200_SUPPORT Kconfig option by default to
> prefer use of HS200 mode on RK356x and RK3588.
>
> Signed-off-by: Jonas Karlman <jonas at kwiboo.se>
Reviewed-by: Kever Yang <kever.yang at rock-chips.com>
Thanks,
- Kever
> ---
> Changes in v2:
> - Imply MMC_HS200_SUPPORT and SPL_MMC_HS200_SUPPORT in arch Kconfig
> instead of adding to each boards defconfig
> - R-b tags not collected because of above change
> - Combine changes for rk356x and rk3588 in one patch
> - Update commit message
>
> Link to v1: https://patchwork.ozlabs.org/patch/1891693/
> ---
> arch/arm/mach-rockchip/Kconfig | 4 ++++
> configs/nanopi-r5c-rk3568_defconfig | 2 --
> configs/nanopi-r5s-rk3568_defconfig | 2 --
> configs/radxa-e25-rk3568_defconfig | 2 --
> 4 files changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig
> index 6ff0aa6911e2..946ef5d7023d 100644
> --- a/arch/arm/mach-rockchip/Kconfig
> +++ b/arch/arm/mach-rockchip/Kconfig
> @@ -292,6 +292,8 @@ config ROCKCHIP_RK3568
> imply OF_LIBFDT_OVERLAY
> imply ROCKCHIP_OTP
> imply MISC_INIT_R
> + imply MMC_HS200_SUPPORT if MMC_SDHCI_ROCKCHIP
> + imply SPL_MMC_HS200_SUPPORT if SPL_MMC && MMC_HS200_SUPPORT
> help
> The Rockchip RK3568 is a ARM-based SoC with quad-core Cortex-A55,
> including NEON and GPU, 512K L3 cache, Mali-G52 based graphics,
> @@ -317,6 +319,8 @@ config ROCKCHIP_RK3588
> imply OF_LIBFDT_OVERLAY
> imply ROCKCHIP_OTP
> imply MISC_INIT_R
> + imply MMC_HS200_SUPPORT if MMC_SDHCI_ROCKCHIP
> + imply SPL_MMC_HS200_SUPPORT if SPL_MMC && MMC_HS200_SUPPORT
> imply CLK_SCMI
> imply SCMI_FIRMWARE
> help
> diff --git a/configs/nanopi-r5c-rk3568_defconfig b/configs/nanopi-r5c-rk3568_defconfig
> index 833cff0e457d..f5a472d03d78 100644
> --- a/configs/nanopi-r5c-rk3568_defconfig
> +++ b/configs/nanopi-r5c-rk3568_defconfig
> @@ -58,8 +58,6 @@ CONFIG_ROCKCHIP_GPIO=y
> CONFIG_SYS_I2C_ROCKCHIP=y
> CONFIG_MISC=y
> CONFIG_SUPPORT_EMMC_RPMB=y
> -CONFIG_MMC_HS200_SUPPORT=y
> -CONFIG_SPL_MMC_HS200_SUPPORT=y
> CONFIG_MMC_DW=y
> CONFIG_MMC_DW_ROCKCHIP=y
> CONFIG_MMC_SDHCI=y
> diff --git a/configs/nanopi-r5s-rk3568_defconfig b/configs/nanopi-r5s-rk3568_defconfig
> index 2736d382a352..99692d341f44 100644
> --- a/configs/nanopi-r5s-rk3568_defconfig
> +++ b/configs/nanopi-r5s-rk3568_defconfig
> @@ -58,8 +58,6 @@ CONFIG_ROCKCHIP_GPIO=y
> CONFIG_SYS_I2C_ROCKCHIP=y
> CONFIG_MISC=y
> CONFIG_SUPPORT_EMMC_RPMB=y
> -CONFIG_MMC_HS200_SUPPORT=y
> -CONFIG_SPL_MMC_HS200_SUPPORT=y
> CONFIG_MMC_DW=y
> CONFIG_MMC_DW_ROCKCHIP=y
> CONFIG_MMC_SDHCI=y
> diff --git a/configs/radxa-e25-rk3568_defconfig b/configs/radxa-e25-rk3568_defconfig
> index 5a613abe0d2d..fedb137877ab 100644
> --- a/configs/radxa-e25-rk3568_defconfig
> +++ b/configs/radxa-e25-rk3568_defconfig
> @@ -60,8 +60,6 @@ CONFIG_ROCKCHIP_GPIO=y
> CONFIG_SYS_I2C_ROCKCHIP=y
> CONFIG_MISC=y
> CONFIG_SUPPORT_EMMC_RPMB=y
> -CONFIG_MMC_HS200_SUPPORT=y
> -CONFIG_SPL_MMC_HS200_SUPPORT=y
> CONFIG_MMC_DW=y
> CONFIG_MMC_DW_ROCKCHIP=y
> CONFIG_MMC_SDHCI=y
More information about the U-Boot
mailing list