Hi Jaehoon, > -----Original Message----- > From: U-Boot [mailto:u-boot-boun...@lists.denx.de] On Behalf Of Jaehoon > Chung > Sent: Friday, October 20, 2017 5:02 PM > To: Jean-Jacques Hiblot <jjhib...@ti.com>; tr...@konsulko.com; > kis...@ti.com; s...@chromium.org > Cc: u-boot@lists.denx.de > Subject: Re: [U-Boot] [PATCH v2 00/26] mmc: Add support for HS200 and > UHS modes > > Dear JJ > > On 09/21/2017 11:29 PM, 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, Atmel SAMA5D3 xplained). 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 5 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: > > - send the initialization stream (74 clock cycles) > > - wait while the card is busy (used during UHS voltage switching). checking > is > > done on dat0. > > - 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. > > Also in case of a reset (as opposed to a power on), it ensures that > > the SDCard is in clean state before re-doing the initialization. > > > > And finally the last commits add the support for HS200 and UHS. > > > > With this in place and the required changes in the HSMMC host driver > > (including DMA), we observe significant improvements in the > performances on a DRA72 evm: > > eMMC HS200: 124 MB/s > > eMMC DDR52: 78 MB/s > > sd SDR104: 71 MB/s > > sd SDR50: 44 MB/s > > Applied to u-boot-mmc! Thanks! > I will apply the patches relevant to this patchset. Sorry for late applying > this.
I would like to test UHS and HS200 series on ZynqMP platform. Is it the branch " testing-uhs-supporting" that I should be using for testing it? Please confirm. Thanks, Siva > > Best Regards, > Jaehoon Chung > > > > > cheers, > > > > Jean-Jacques > > > > changes since v1: > > Changes take in account all the comment made during the first round of > review. > > But it also include a rework of the handling of the voltage supplies > > and 2 new helper functions that can be used by the host driver during > > tuning and dts parsing. > > > > Here is a detailed list: > > * rebase on u-boot/master. > > * add the description for the new functions/members > > * fix the typos found in the reviews > > * limit the new features to DM_MMC only > > * fix the new checkpatch warnings/errors (is it now more strict ?) > > * get the voltage regulators from dts (main and IO-lines) > > * remove the set_vdd callback and do the job in the mmc core > > * add a send_init_stream callback to perform the 74 clock cycle > > sequence after power up > > * do a full power cycle (if possible) before the initialization. This > > ensures > > that the sd/MMC is in valid knwon state. Also it allows to check if the > power > > cycling works as expected. > > * disable the UHS modes is power cycling is not available/working. This > ensures > > that we won't be stuck if the UHS initialization fails. > > * select the appropriate signal voltage when selecting a mode (MMC > > only) > > * add a helper function to parse the generic dt bindings > > * add a helper function to send the tuning command > > > > Jean-Jacques Hiblot (17): > > mmc: dm: get the IO-line and main voltage regulators from the dts > > 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: introduce mmc modes > > mmc: Add a function 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: Add a new callback function to perform the 74 clocks cycle > > sequence > > mmc: Add support for UHS modes > > mmc: disable UHS modes if Vcc cannot be switched on and off > > mmc: Change mode when switching to a boot partition > > mmc: use the right voltage level for MMC DDR and HS200 modes > > mmc: add a library function to send tuning command > > > > Kishon Vijay Abraham I (9): > > mmc: make mmc_set_ios() return status > > mmc: Enable signal voltage to be selected from mmc core > > mmc: add power cyle support in mmc core > > mmc: add a new mmc parameter to disable mmc clock > > mmc: disable the mmc clock during power off > > mmc: Add a execute_tuning() callback to the mmc operations. > > mmc: add HS200 support in MMC core > > mmc: Retry some MMC cmds on failure > > dm: mmc: Add a library function to parse generic dt binding > > > > cmd/mmc.c | 3 +- > > drivers/mmc/Kconfig | 23 + > > drivers/mmc/fsl_esdhc.c | 2 +- > > drivers/mmc/mmc-uclass.c | 87 +++ > > drivers/mmc/mmc.c | 1511 > ++++++++++++++++++++++++++++++++++------------ > > include/mmc.h | 176 +++++- > > 6 files changed, 1417 insertions(+), 385 deletions(-) > > > > _______________________________________________ > U-Boot mailing list > U-Boot@lists.denx.de > https://lists.denx.de/listinfo/u-boot _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot