[PATCH 00/12] mmc: Add support for drive strength for eMMCs

Adrian Hunter
2015-02-05T13:17:57Z

Hi

Here are some patches to enable a host controller to select
driver strength for eMMCs using HS200 or HS400. These are based
on top of the re-tuning series.

There can be some confusion over the term "driver strength".
SD calls it "drive strength" for the card but "driver type"
for the host. Whereas JEDEC calls it both "driver strength"
and "driver type". The values are the same for both SD
and eMMC:

Value Driver Type Relative strength
0 B x1 default and mandatory support
1 A x1.5
2 C x0.75
3 D x0.5

Except eMMC also defines value 4:

Value Driver Type Relative strength
4 x1.2

Adrian Hunter (12):
mmc: core: Reset driver type to default
mmc: core: Allow card drive strength to be different to host
mmc: core: Simplify card drive strength mask
mmc: core: Add 'card' to drive strength selection callback
mmc: core: Factor out common code in drive strength selection
mmc: core: Record card drive strength
mmc: mmc: Read card's valid driver strength mask
mmc: mmc: Add driver strength selection
mmc: core: Add function to read driver-strength device property
mmc: sdhci: Add a callback to select drive strength
mmc: sdhci-pci: Add support for drive strength selection for SPT
mmc: sdhci-pci: Enable HS400 for some Intel host controllers

Documentation/devicetree/bindings/mmc/mmc.txt | 4 ++
drivers/mmc/core/core.c | 39 ++++++++++++
drivers/mmc/core/core.h | 2 +
drivers/mmc/core/host.c | 21 ++++++
drivers/mmc/core/mmc.c | 46 ++++++++++++--
drivers/mmc/core/sd.c | 69 ++++++--------------
drivers/mmc/core/sdio.c | 77 +++++++---------------
drivers/mmc/host/sdhci-pci-data.c | 3 +
drivers/mmc/host/sdhci-pci.c | 92 +++++++++++++++++++++++++++
drivers/mmc/host/sdhci-pci.h | 4 ++
drivers/mmc/host/sdhci.c | 13 ++++
drivers/mmc/host/sdhci.h | 4 ++
include/linux/mmc/card.h | 2 +
include/linux/mmc/host.h | 6 +-
include/linux/mmc/mmc.h | 4 ++
include/linux/mmc/sdhci-pci-data.h | 2 +
16 files changed, 275 insertions(+), 113 deletions(-)

Regards
Adrian