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 >