[PATCH v2 2/3] rockchip: rk35xx: Enable eMMC HS200 mode by default

Weizhao Ouyang o451686892 at gmail.com
Mon Feb 5 10:18:40 CET 2024


On Mon, Feb 5, 2024 at 4:53 AM Jonas Karlman <jonas at kwiboo.se> 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: Weizhao Ouyang <o451686892 at gmail.com>

BR,
Weizhao

> ---
> 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
> --
> 2.43.0
>


More information about the U-Boot mailing list