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