[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