Skip to content

mmc: sdhci-omap: Add UHS/HS200 mode support

Kishon Vijay Abraham I linux-devicetree linux-mmc linux-omap lkml 5 versions – Applied

Status from this message: Thanks, applied for next!

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v5 Latest14 patches 5 repliesApplied
  2. v412 patches 6 repliesSuperseded
  3. v311 patches 19 repliesSuperseded
Earlier versions · 2
VersionPostedPatchesRepliesStatus
v216 patches15 repliesSuperseded
v112 patches15 repliesSuperseded

Changes in v5 from the cover letter

*) Added comment in sdhci for disabling HS200/HS400 mode
*) Fixed a couple of chunks in "Program a relatively accurate SW timeout
value" which were missed in the previous revision
*) Added a patch in sdhci-omap to get IODelay values of 3.3v DDR mode. *) Added pinctrl binding documentation for sdhci-omap which was missed
before.

Patches in v5 Applied

#Subject and filesSizeRepliesApplied
1/14mmc: sdhci-omap: Fix when capabilities are obtained from SDHCI_CAPABILITIES regdrivers/mmc/host/sdhci-omap.c+12 -50 replies
2/14mmc: sdhci-omap: Remove setting ADMA capability in driverdrivers/mmc/host/sdhci-omap.c+0 -30 replies
3/14mmc: sdhci-omap: Workaround for Errata i843drivers/mmc/host/sdhci-omap.c+34 -10 replies
4/14mmc: sdhci-omap: Invoke sdhci_get_of_property to read sdhci dt propertiesdrivers/mmc/host/sdhci-omap.c+1 -00 replies
5/14mmc: sdhci: Disable 1.8v modes (HS200/HS400/UHS) if controller can't support 1.8vdrivers/mmc/host/sdhci.c include/linux/mmc/host.h+14 -00 replies
6/14mmc: sdhci: Add quirk to disable HW timeoutdrivers/mmc/host/sdhci.c drivers/mmc/host/sdhci.h+39 -40 replies
7/14mmc: sdhci: Factor out target_timeout calculationdrivers/mmc/host/sdhci.c+30 -180 replies
8/14mmc: sdhci: Program a relatively accurate SW timeout valuedrivers/mmc/host/sdhci.c drivers/mmc/host/sdhci.h+55 -70 replies
9/14mmc: sdhci-omap: Workaround for Errata i834drivers/mmc/host/sdhci-omap.c+2 -10 replies
10/14dt-bindings: sdhci-omap: Add K2G specific bindingDocumentation/devicetree/bindings/mmc/sdhci-omap.txt+2 -00 replies
11/14mmc: sdhci-omap: Add support for MMC/SD controller in k2g SoCdrivers/mmc/host/sdhci-omap.c+5 -00 replies
12/14mmc: sdhci-omap: Add sdhci_omap specific ops for enable_sdio_irqdrivers/mmc/host/sdhci-omap.c+19 -00 replies
13/14dt-bindings: sdhci-omap: Add pinctrl bindingsDocumentation/devicetree/bindings/mmc/sdhci-omap.txt+5 -01 reply
14/14mmc: sdhci-omap: Get IODelay values for 3.3v DDR modedrivers/mmc/host/sdhci-omap.c+8 -10 replies

Reviews trailers per patch

10 of 14 patches have a Reviewed-by or Acked-by.

PatchTony LindgrenAdrian HunterKishon Vijay Abraham IRob Herring
1/14A-b A-b
2/14A-b A-b
3/14A-b A-b
4/14A-b A-b
5/14A-b
6/14Based-on-patch-by
7/14
8/14
9/14A-b A-b
10/14A-b R-b
11/14A-b A-b
12/14A-b A-b
13/14R-b
14/14

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 4 reviewers.

Read the v5 thread

Cover letter [PATCH v5 00/14] mmc: sdhci-omap: Add UHS/HS200 mode support

Add UHS/HS200 mode support in sdhci-omap. The programming sequence for voltage switching, tuning is followed from AM572x TRM
http://www.ti.com/lit/ug/spruhz6j/spruhz6j.pdf
(Similar to all AM57x/DRA7x SoCs). The patch series also implements workaround for errata published in
http://www.ti.com/lit/er/sprz429l/sprz429l.pdf

patches are created on top of
git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc.git next

The patches along with dt has also been pushed to
https://github.com/kishon/linux-wip.git sdhci_uhs_v5

Changes from v4:
*) Added comment in sdhci for disabling HS200/HS400 mode
*) Fixed a couple of chunks in "Program a relatively accurate SW timeout
value" which were missed in the previous revision
*) Added a patch in sdhci-omap to get IODelay values of 3.3v DDR mode. *) Added pinctrl binding documentation for sdhci-omap which was missed
before.

Changes from v3:
*) Fixed Adrian's comment on error handling when __sdhci_add_host()
fails
*) Used Adrian's patches for programming SW timeout value.

Changes from v2:
*) Patches in v2 already applied to mmc -next are dropped from the
series.
*) Changed SW timeout logic as per Adrians's suggestion *) Validated SDIO with the current patches (added a couple of fixes
found while adding SDIO support).
*) Used soc_device_match() instead of pdata-quirks as per Tony's
suggestions.

Changes from v1:
*) Only poll on DAT0 and DATI for card_busy status
*) Cleanup iodelay patch as suggested by Tony.
*) Added quirk to disable HW timeout
*) Use the existing data timer but program a relatively accurate
SW timeout value (Impacts all platforms)
*) Fix a bug in sdhci which was using data_timer for non data line
commands

Adrian Hunter (2):
mmc: sdhci: Add quirk to disable HW timeout
mmc: sdhci: Factor out target_timeout calculation

Kishon Vijay Abraham I (12):
mmc: sdhci-omap: Fix when capabilities are obtained from
SDHCI_CAPABILITIES reg
mmc: sdhci-omap: Remove setting ADMA capability in driver
mmc: sdhci-omap: Workaround for Errata i843
mmc: sdhci-omap: Invoke sdhci_get_of_property to read sdhci dt
properties
mmc: sdhci: Disable 1.8v modes (HS200/HS400/UHS) if controller can't
support 1.8v
mmc: sdhci: Program a relatively accurate SW timeout value
mmc: sdhci-omap: Workaround for Errata i834
dt-bindings: sdhci-omap: Add K2G specific binding
mmc: sdhci-omap: Add support for MMC/SD controller in k2g SoC
mmc: sdhci-omap: Add sdhci_omap specific ops for enable_sdio_irq
dt-bindings: sdhci-omap: Add pinctrl bindings
mmc: sdhci-omap: Get IODelay values for 3.3v DDR mode

 .../devicetree/bindings/mmc/sdhci-omap.txt    |   7 +
 drivers/mmc/host/sdhci-omap.c                 |  92 +++++++++--
 drivers/mmc/host/sdhci.c                      | 148 ++++++++++++++----
 drivers/mmc/host/sdhci.h                      |  15 ++
 include/linux/mmc/host.h                      |   4 +
 5 files changed, 226 insertions(+), 40 deletions(-)
Signature · 1 line
2.17.0