From: Ziyuan <xzy.xu@rock-chips.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 00/22] mmc: Add support for HS200 and UHS modes
Date: Fri, 25 Aug 2017 16:16:51 +0800 [thread overview]
Message-ID: <599FDCF3.7020701@rock-chips.com> (raw)
In-Reply-To: <9cccacfa-cee3-cb81-4a17-24b98f3795b9@samsung.com>
hi Jaehoon,
On 07/28/2017 09:05 PM, Jaehoon Chung wrote:
> Hi Kever,
>
> On 07/26/2017 08:33 PM, Kever Yang wrote:
>> Hi Jaehoon,
>>
>>
>> What's the status of this patch set now?
>>
>> Can we land this patch set or the other patch set from Ziyuan Xu?
>>
>> The performance for mmc in U-Boot is really bad now, and this patch set has been
>>
>> on list for more than two months now, I'm using the patch set from Ziyuan Xu locally,
>>
>> but really hope the upstream can move forward.
> Apologized for late. Will try to upstream this before releasing v2017.09.
> Really sorry for late, again. Thanks for reminding this.
*ping*
Anything update?
>
> Best Regards,
> Jaehoon Chung
>
>>
>> Thanks,
>> - Kever
>> On 06/29/2017 05:59 PM, Jaehoon Chung wrote:
>>> On 06/16/2017 07:00 PM, Jean-Jacques Hiblot wrote:
>>>> Hi Jaehoon,
>>>>
>>>>
>>>> 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..
>>>>> 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.. :)
>>>> I updated the branches for testing in my github repo (https://github.com/jjhiblot/u-boot.git )
>>>> branch testing-hs200-uhs_v2 touches only the MMC core
>>>> branch high_speed_hsmmc_v2 implements the required bit for th HSMMC found on TI boards
>>> Sorry for late..I make the hs200-ufs-testing branch in u-boot-mmc repo.
>>> I will rebase on latest u-boot. and start the testing.
>>>
>>> Best Regards,
>>> Jaehoon Chung
>>>
>>>> Most of the comments (if not all of them) have been taken in account and the branches have been rebased on top of u-boot master.
>>>>
>>>> Will you be able to do some testing and let me know if there are other things to change ? Don't hesitate to let me know what boards it breaks (if any), I'll do my best to get my hands on one and help with the debugging.
>>>>
>>>> Thanks,
>>>>
>>>> JJ
>>>>> 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(-)
>>>>>>>>
>>>>>>
>>>>
>>>>
>>> _______________________________________________
>>> U-Boot mailing list
>>> U-Boot at lists.denx.de
>>> https://lists.denx.de/listinfo/u-boot
>>
>>
>>
>>
>
>
>
--
Ziyuan Xu
next prev parent reply other threads:[~2017-08-25 8:16 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
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 [this message]
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=599FDCF3.7020701@rock-chips.com \
--to=xzy.xu@rock-chips.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox