On 10/18/2017 03:19 PM, Jean-Jacques Hiblot wrote: > > > On 14/10/2017 16:51, Marek Vasut wrote: >> On 10/02/2017 11:15 AM, Jean-Jacques Hiblot wrote: >>> >>> On 22/09/2017 16:42, Jaehoon Chung wrote: >>>> 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 >>>> I have one question. >>>> >>>> Did you test about accessing Boot partition of eMMC? >>>> As i know, boot partition doesn't support the HS200 mode. >>>> >>>> When i checked your patches, there is no the function of mode changing >>>> for accessing boot partition. >>>> If i missed it, let me know, plz. >>> Yes I did test the boot partitions. HS200 is not used in this case. >>> The key function is mmc_boot_part_access_chk(). It checks if the current >>> mode is supported by the partition. If not, it'll reselect a new mode. >> Is anything new happening on the HS200 front ? > I've been busy lately but I'll send the v3 in a few days that adresses > all the comments done by Jaheoon and Simon.
Awesome, thanks ! If you have a tree with those patches applied somewhere, that'd be nice as I'm working on adding HS200/SDR104 support into the uniphier-sd driver. Also, any plan for HS400 ? :-) -- Best regards, Marek Vasut _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot