Skip to content

mmc: Add support for HS200 and UHS modes

Marek Vasut u-boot 4 versions – New

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest posting 3/30 of 26 patches 0 repliesNew
  2. v2 posting 2/30 of 26 patches 0 repliesSuperseded
  3. v2 posting 1/30 of 26 patches 0 repliesSuperseded
Earlier versions · 1
VersionPostedPatchesRepliesStatus
v10 of 22 patches0 repliesSuperseded

Patches in v2 posting 3/3 No applies recorded yet

None of the 26 patches the cover letter announces are in this archive.

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

Cover letter [U-Boot] [PATCH v2 00/26] mmc: Add support for HS200 and UHS modes
Quoted 65 lines · Siva Durga Prasad Paladugu

Hi Jaehoon,

Quoted 63 lines

-----Original Message-----
From: U-Boot [mailto:u-boot-bounces at lists.denx.de] On Behalf Of Jaehoon Chung
Sent: Friday, October 20, 2017 5:02 PM
To: Jean-Jacques Hiblot <[email protected]>; trini at konsulko.com; kishon at ti.com; sjg at chromium.org
Cc: u-boot at lists.denx.de
Subject: Re: [U-Boot] [PATCH v2 00/26] mmc: Add support for HS200 and UHS modes

Dear JJ

Quoted 9 lines · Jean-Jacques Hiblot

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.

Quoted 5 lines

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.

Quoted 3 lines

Then comes the big refactoring job in:
"mmc: refactor MMC startup to make it easier to support new modes"

and

Quoted 10 lines

"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

Quoted 5 lines

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.

Quoted 7 lines

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:

Quoted 4 lines

eMMC HS200: 124 MB/s
eMMC DDR52: 78 MB/s
sd SDR104: 71 MB/s
sd SDR50: 44 MB/s

Quoted 6 lines
Quoted 2 lines

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.

That should do, plus look at the uniphier/renesas SDHI patches posted to the ML adding UHS200 support, that should get you started with the arasan IP too.

Signature · 2 lines
Best regards,
Marek Vasut