All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jean-Jacques Hiblot <jjhiblot@ti.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 00/22] mmc: Add support for HS200 and UHS modes
Date: Fri, 2 Jun 2017 18:46:04 +0200	[thread overview]
Message-ID: <ddee2fb2-e358-678a-0546-06fc75f822ba@ti.com> (raw)
In-Reply-To: <ceb80bf6-94d5-8880-8123-d880875a91e8@samsung.com>



On 25/05/2017 09:41, Jaehoon Chung wrote:
> 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..
Jaehoon,

Have you been able to track down the issue you had with your boards ? 
Next week I can borrow some boards if it can help (at91 and imx6 based), 
have they been part of your tests ?

Also I set up a repository with the code for testing:
git at github.com:jjhiblot/u-boot.git testing-hs200-uhs_v2

If you have a omap5 based board (dra7 or am57), you can test with this 
branch that also includes the host support for high speed modes:
git at github.com:jjhiblot/u-boot.git high_speed_hsmmc

Regards,

Jean-jacques


****
> 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(-)
>>>>
>>
>>
>>
>

  parent reply	other threads:[~2017-06-02 16:46 UTC|newest]

Thread overview: 85+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20170512181724epcas5p36ff2843856a4d329a0b106cd063f7286@epcas5p3.samsung.com>
2017-05-12 18:16 ` [U-Boot] [PATCH 00/22] mmc: Add support for HS200 and UHS modes Jean-Jacques Hiblot
2017-05-12 18:16   ` [U-Boot] [PATCH 01/22] mmc: split mmc_startup() Jean-Jacques Hiblot
2017-05-15  3:27     ` Simon Glass
2017-05-12 18:16   ` [U-Boot] [PATCH 02/22] mmc: move the MMC startup for version above v4.0 in a separate function Jean-Jacques Hiblot
2017-05-15  3:27     ` Simon Glass
2017-05-12 18:16   ` [U-Boot] [PATCH 03/22] mmc: make ext_csd part of struct mmc Jean-Jacques Hiblot
2017-05-15  3:27     ` Simon Glass
2017-05-12 18:16   ` [U-Boot] [PATCH 04/22] mmc: add a function to read and test the ext csd (mmc >= 4) Jean-Jacques Hiblot
2017-05-15  3:28     ` Simon Glass
2017-05-12 18:16   ` [U-Boot] [PATCH 05/22] mmc: introduces mmc modes Jean-Jacques Hiblot
2017-05-15  3:28     ` Simon Glass
2017-05-15 10:34       ` Jean-Jacques Hiblot
2017-05-12 18:16   ` [U-Boot] [PATCH 06/22] mmc: Add a fonction to dump the mmc capabilities Jean-Jacques Hiblot
2017-05-15  3:28     ` Simon Glass
2017-05-12 18:16   ` [U-Boot] [PATCH 07/22] mmc: use mmc modes to select the correct bus speed Jean-Jacques Hiblot
2017-05-15  3:28     ` Simon Glass
2017-05-12 18:16   ` [U-Boot] [PATCH 08/22] cmd: mmc: display the mode name and current bus speed in the mmc info Jean-Jacques Hiblot
2017-05-15  3:28     ` Simon Glass
2017-05-12 18:16   ` [U-Boot] [PATCH 09/22] mmc: refactor SD startup to make it easier to support new modes Jean-Jacques Hiblot
2017-05-15  3:28     ` Simon Glass
2017-05-15 10:49       ` Jean-Jacques Hiblot
2017-05-12 18:16   ` [U-Boot] [PATCH 10/22] mmc: refactor MMC " Jean-Jacques Hiblot
2017-05-15  3:28     ` Simon Glass
2017-05-25 12:25     ` Jaehoon Chung
2017-05-25 14:40       ` Jean-Jacques Hiblot
2017-05-26  1:12         ` Jaehoon Chung
2017-05-12 18:16   ` [U-Boot] [PATCH 11/22] mmc: make mmc_set_ios() return status Jean-Jacques Hiblot
2017-05-15  3:28     ` Simon Glass
2017-05-12 18:16   ` [U-Boot] [PATCH 12/22] mmc: Enable signal voltage to be selected from mmc core Jean-Jacques Hiblot
2017-05-15  3:28     ` Simon Glass
2017-05-15 14:18       ` Jean-Jacques Hiblot
2017-05-17  1:38         ` Simon Glass
2017-05-17 10:35       ` Kishon Vijay Abraham I
2017-05-12 18:16   ` [U-Boot] [PATCH 13/22] mmc: Add a new callback function to enable/disable vdd Jean-Jacques Hiblot
2017-05-15  3:28     ` Simon Glass
2017-05-12 18:16   ` [U-Boot] [PATCH 14/22] mmc: add power cyle support in mmc core Jean-Jacques Hiblot
2017-05-15  3:28     ` Simon Glass
2017-05-15 15:50       ` Jean-Jacques Hiblot
2017-05-25 12:35     ` Jaehoon Chung
2017-05-25 14:50       ` Jean-Jacques Hiblot
2017-06-15 16:13       ` Jean-Jacques Hiblot
2017-05-12 18:16   ` [U-Boot] [PATCH 15/22] mmc: add a new mmc parameter to disable mmc clock Jean-Jacques Hiblot
2017-05-15  3:28     ` Simon Glass
2017-05-12 18:16   ` [U-Boot] [PATCH 16/22] mmc: disable the mmc clock during power off Jean-Jacques Hiblot
2017-05-15  3:28     ` Simon Glass
2017-05-12 18:16   ` [U-Boot] [PATCH 17/22] mmc: Add a execute_tuning() callback to the mmc operations Jean-Jacques Hiblot
2017-05-15  3:28     ` Simon Glass
2017-05-25 12:37     ` Jaehoon Chung
2017-05-25 14:51       ` Jean-Jacques Hiblot
2017-05-12 18:16   ` [U-Boot] [PATCH 18/22] mmc: add HS200 support in MMC core Jean-Jacques Hiblot
2017-05-15  3:28     ` Simon Glass
2017-05-25 12:42     ` Jaehoon Chung
2017-05-12 18:16   ` [U-Boot] [PATCH 19/22] mmc: Add a new callback function to check if the card is busy Jean-Jacques Hiblot
2017-05-15  3:28     ` Simon Glass
2017-05-12 18:16   ` [U-Boot] [PATCH 20/22] mmc: Add support for UHS modes Jean-Jacques Hiblot
2017-05-15  3:28     ` Simon Glass
2017-05-16 14:20     ` Jean-Jacques Hiblot
2017-05-17  1:59       ` Jaehoon Chung
2017-05-25 12:50     ` Jaehoon Chung
2017-05-12 18:16   ` [U-Boot] [PATCH 21/22] mmc: Change mode when switching to a boot partition Jean-Jacques Hiblot
2017-05-15  3:28     ` Simon Glass
2017-05-25 12:53     ` Jaehoon Chung
2017-05-12 18:16   ` [U-Boot] [PATCH 22/22] mmc: Retry some MMC cmds on failure Jean-Jacques Hiblot
2017-05-15  3:28     ` Simon Glass
2017-05-15 15:49       ` Jean-Jacques Hiblot
2017-05-17  1:38         ` Simon Glass
2017-05-17 14:47           ` Jean-Jacques Hiblot
2017-05-15  2:33   ` [U-Boot] [PATCH 00/22] mmc: Add support for HS200 and UHS modes Jaehoon Chung
2017-05-18  4:27   ` Jaehoon Chung
2017-05-23 15:24     ` Jean-Jacques Hiblot
2017-05-25  7:41       ` Jaehoon Chung
2017-05-25 14:42         ` Jean-Jacques Hiblot
2017-06-02 16:46         ` Jean-Jacques Hiblot [this message]
2017-06-16 10:00         ` Jean-Jacques Hiblot
2017-06-29  9:59           ` Jaehoon Chung
2017-07-26 11:33             ` Kever Yang
2017-07-28 13:05               ` Jaehoon Chung
2017-08-25  8:16                 ` Ziyuan
2017-08-27 20:10                   ` Simon Glass
2017-08-27 20:17                     ` Tom Rini
2017-08-28  5:53                       ` Jaehoon Chung
2017-09-12 21:31                         ` Marek Vasut
2017-08-28  5:45                     ` Ziyuan
2017-09-15 13:20                 ` Jean-Jacques Hiblot
2017-09-16 17:12                   ` Marek Vasut

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ddee2fb2-e358-678a-0546-06fc75f822ba@ti.com \
    --to=jjhiblot@ti.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.