On 11/23/2017 06:46 PM, Siva Durga Prasad Paladugu wrote: > 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.
Hi, i applied these patch into u-boot-mmc/master. So if you want to check, just use master branch. If there are problem, let me know, plz. and send patches, plz. Then it's useful to me. (I will remove the testing-uhs-supporting" branch, because it's already merged into master branch.) Best Regards, Jaehoon Chung > > 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