Hi, On 05/24/2017 12:24 AM, Jean-Jacques Hiblot wrote: > Hi, > > > On 18/05/2017 06:27, Jaehoon Chung wrote: >> Hi, >> >> On 05/13/2017 03:16 AM, Jean-Jacques Hiblot wrote: >>> This series brings support for HS200 and UHS modes to the mmc core. >>> It has been tested with the hsmmc driver on several platforms (DRA7, >>> AM57x, AM437x, beaglebone black). Some modifications are required in >>> the host driver to take advantage of this (voltage switching, tuning). >>> The changes to the host driver will be posted a another series as this >>> one is already long enough. >>> >>> The series starts with a small refactoring of th sd/mmc startup. The first >>> 4 commits >>> are mostly moving code around with little or no functionnal change. >>> >>> Then the notion of "mode" is introduced. Until now, this information wasn't >>> kept in struct mmc. Only the clock and a flag for ddr was kept. Later the >>> mode >>> information will be used to select the clock frequency, the ddr flag and the >>> tuning procedure. It will be also be check against the host capabilities. >>> >>> Then comes the big refactoring job in: >>> "mmc: refactor MMC startup to make it easier to support new modes" and >>> "mmc: refactor SD startup to make it easier to support new modes" >>> Since the number of modes is increasing, it makes sense to try them in a >>> more >>> organized way. those commits use a list of supported modes and iterate >>> through >>> them to find the best working one. It also allows to switch more easilly >>> from >>> one mode to another (switching from HS200 to DDR52 to access boot >>> partitions for example) >>> >>> Then there are a couple of new callback added to: >>> - enable/disable Vdd >>> - check if the card is busy (used during UHS voltage switching) >>> - select the IO voltage >>> >>> Then Power cycle is added. Without power cycle, if a UHS card fails to >>> enumerate in >>> UHS mode, it can't fall back to high speed mode and card enumeration will >>> fail. >>> >>> And finally the last commits add the support for HS200 and UHS. >>> I haven't been able to test the UHS SDR104 mode by lack of compatible >>> sdcard. >> After testing my targets, some boards don't work fine..So i'm checking this >> problem.. > Jaehoon, > > what kind of issues are you running into and on what platforms ? > So far, besides the items brought-up by the reviews, there are 2 issues that > are in the pipe for the next version: > * signal voltage selection is not done for the MMCs only for SDs. > * I noticed a timing constraint in voltage selection for SDs that can be a > problem when trying a UHS mode with some SDs (seen only with Sandisk Ultra > 64Gb micro SD class I) : the voltage must be switched quickly after the cmd > SWITCH_UHS18V has been sent, making debug messages in that context a problem. > With this SD I've been able to check that SDR104 is working.
How about making the "testing-hs200-uhs" branch for this? It needs to test more.. I guess my target doesn't do the voltage change..i'm doing for ufs driver on u-boot in my local.. So i didn't see fully..today i have a free time..So i'm doing full review other thing..and about pending patches. Thanks for waiting me.. :) Best Regards, Jaehoon Chung > > Jean-Jacques >> >>> With this in place and the required changes in the HSMMC (including DAM), >>> we observe significant >>> improvements in the performances on a DRA7 evm: >>> eMMC HS200: 130 MB/s >>> eMMC DDR52: 80 MB/s >>> sd SDR50: 80 MB/s >>> >>> cheers, >>> >>> Jean-Jacques >>> >>> >>> Jean-Jacques Hiblot (18): >>> mmc: split mmc_startup() >>> mmc: move the MMC startup for version above v4.0 in a separate >>> function >>> mmc: make ext_csd part of struct mmc >>> mmc: add a function to read and test the ext csd (mmc >= 4) >>> mmc: introduces mmc modes. >>> mmc: Add a fonction to dump the mmc capabilities >>> mmc: use mmc modes to select the correct bus speed >>> cmd: mmc: display the mode name and current bus speed in the mmc info >>> mmc: refactor SD startup to make it easier to support new modes >>> mmc: refactor MMC startup to make it easier to support new modes >>> mmc: make mmc_set_ios() return status >>> mmc: add power cyle support in mmc core >>> mmc: add a new mmc parameter to disable mmc clock >>> mmc: Add a execute_tuning() callback to the mmc operations. >>> mmc: add HS200 support in MMC core >>> mmc: Add a new callback function to check if the card is busy >>> mmc: Add support for UHS modes >>> mmc: Change mode when switching to a boot partition >>> >>> Kishon Vijay Abraham I (3): >>> mmc: Enable signal voltage to be selected from mmc core >>> mmc: Add a new callback function to enable/disable vdd >>> mmc: disable the mmc clock during power off >>> >>> Vignesh R (1): >>> mmc: Retry some MMC cmds on failure >>> >>> cmd/mmc.c | 3 +- >>> drivers/mmc/fsl_esdhc.c | 2 +- >>> drivers/mmc/mmc-uclass.c | 42 ++ >>> drivers/mmc/mmc.c | 1220 >>> +++++++++++++++++++++++++++++++++------------- >>> include/mmc.h | 138 +++++- >>> 5 files changed, 1058 insertions(+), 347 deletions(-) >>> >> > > > > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot