[PATCH v5 0/3] rockchip: sdhci: Add HS400 Enhanced Strobe support
Jaehoon Chung
jh80.chung at samsung.com
Wed Mar 16 11:25:05 CET 2022
Hi,
On 3/16/22 02:46, Alper Nebi Yasak wrote:
> This series implements support for the HS400 Enhanced Strobe mode on the
> Rockchip SDHCI driver, for both RK3399 and RK3568. To test, I'm building
> for chromebook_kevin with the following configs enabled:
>
> +CONFIG_MMC_SPEED_MODE_SET=y
> [...]
> CONFIG_MMC_PWRSEQ=y
> +CONFIG_MMC_IO_VOLTAGE=y
> +CONFIG_MMC_UHS_SUPPORT=y
> +CONFIG_MMC_HS400_ES_SUPPORT=y
> +CONFIG_MMC_HS400_SUPPORT=y
> CONFIG_MMC_DW=y
> CONFIG_MMC_DW_ROCKCHIP=y
> CONFIG_MMC_SDHCI=y
> +CONFIG_MMC_SDHCI_SDMA=y
> CONFIG_MMC_SDHCI_ROCKCHIP=y
>
> and running roughly:
>
> $ mmc rescan [0|1|3|10|11|12]
> $ mmc info
> $ mmc part
> $ load mmc 0:1 0xd0000000 256MiB.bin
> $ load mmc 0:1 0xd0000000 16MiB.bin
> $ load mmc 0:1 0xd0000000 8MiB.bin
>
> Here's the differences in info and speeds I get with this:
>
> Mode | Bus Speed | Bus Width
> -----------------------+--------------+--------------
> MMC Legacy | 25000000 | 8-bit
> MMC High Speed (26MHz) | 26000000 | 8-bit
> MMC High Speed (52MHz) | 52000000 | 8-bit
> HS200 (200MHz) | 200000000 | 8-bit
> HS400 (200MHz) | 200000000 | 8-bit DDR
> HS400ES (200MHz) | 200000000 | 8-bit DDR
>
> Mode | 256 MiB Load | 16 MiB Load | 8 MiB Load
> -----------------------+--------------+--------------+--------------
> MMC Legacy | ~22.1 MiB/s | ~21.9 MiB/s | ~21.6 MiB/s
> MMC High Speed (26MHz) | ~22.1 MiB/s | ~21.9 MiB/s | ~21.6 MiB/s
> MMC High Speed (52MHz) | ~43.7 MiB/s | ~42.8 MiB/s | ~41.7 MiB/s
> HS200 (200MHz) | ~161.2 MiB/s | ~149.5 MiB/s | ~137.9 MiB/s
> HS400 (200MHz) | ~254.5 MiB/s | ~235.3 MiB/s | ~216.2 MiB/s
> HS400ES (200MHz) | ~254.7 MiB/s | ~238.8 MiB/s | ~216.2 MiB/s
>
> Hope I haven't missed anything. Enabling the configs above for each
> board is left to board maintainers as I can't test on those boards.
>
> Changes in v5:
> - Incorporate RK3568 HS400ES fixes from Yifeng Zhao:
> - Use DWCMSHC_CTRL_HS400 = 0x7, instead of SDHCI_CTRL_HS400 = 0x5
> - Configure DWCMSHC_CARD_IS_EMMC in rk3568_sdhci_set_ios_post()
> - Configure DLL_STRBIN and DLL_TXCLK for HS400.
> - Drop re-init fix already merged to master
>
> v4: https://protect2.fireeye.com/v1/url?k=1188e6ba-7003f38c-11896df5-74fe485cbff1-62638f65a0b40d18&q=1&e=1d5ef967-0e2c-4678-89d3-9c866ce2121b&u=https%3A%2F%2Fpatchwork.ozlabs.org%2Fproject%2Fuboot%2Flist%2F%3Fseries%3D283482%26state%3D%2A
>
> Changes in v4:
> - Add comment for SDHCI set_enhanced_strobe() operation
> - Add comment for Rockchip SDHCI set_enhanced_strobe() driver data op
>
> v3: https://protect2.fireeye.com/v1/url?k=e0d60bb1-815d1e87-e0d780fe-74fe485cbff1-ae754d5cb8424c27&q=1&e=1d5ef967-0e2c-4678-89d3-9c866ce2121b&u=https%3A%2F%2Fpatchwork.ozlabs.org%2Fproject%2Fuboot%2Flist%2F%3Fseries%3D281327%26state%3D%2A
>
> Changes in v3:
> - Set DWCMSHC_CARD_IS_EMMC bit in rk3568_emmc_phy_init()
>
> v2: https://protect2.fireeye.com/v1/url?k=418d7235-20066703-418cf97a-74fe485cbff1-5208c5c7e2a5cf22&q=1&e=1d5ef967-0e2c-4678-89d3-9c866ce2121b&u=https%3A%2F%2Fpatchwork.ozlabs.org%2Fproject%2Fuboot%2Flist%2F%3Fseries%3D280494%26state%3D%2A
>
> Changes in v2:
> - Unset ES bit in rk3399 set_control_reg() to fix a reinit issue
> - Don't use unnecessary & for function pointer in ops struct
> - Rename rk3399_set_enhanced_strobe -> rk3399_sdhci_set_enhanced_strobe
> - Rename rk3568_set_enhanced_strobe -> rk3568_sdhci_set_enhanced_strobe
> - Let set_enhanced_strobe() unset the ES bit if mode is not HS400_ES
> - Rewrote cover letter
>
> v1: https://protect2.fireeye.com/v1/url?k=7057862b-11dc931d-70560d64-74fe485cbff1-6d7b0ff32c53c391&q=1&e=1d5ef967-0e2c-4678-89d3-9c866ce2121b&u=https%3A%2F%2Fpatchwork.ozlabs.org%2Fproject%2Fuboot%2Flist%2F%3Fseries%3D269768%26state%3D%2A
>
> Alper Nebi Yasak (3):
> mmc: sdhci: Add HS400 Enhanced Strobe support
> rockchip: sdhci: Add HS400 Enhanced Strobe support for RK3399
> rockchip: sdhci: Add HS400 Enhanced Strobe support for RK3568
>
> drivers/mmc/rockchip_sdhci.c | 117 +++++++++++++++++++++++++++++++++--
> drivers/mmc/sdhci.c | 18 ++++++
> include/sdhci.h | 12 ++++
> 3 files changed, 141 insertions(+), 6 deletions(-)
Applied to u-boot-mmc.
Best Regards,
Jaehoon Chung
>
More information about the U-Boot
mailing list