[PATCH v5 00/10] Port am335x and am437x devices to sdhci-omap

From: Faiz Abbas
Date: Thu Jan 16 2020 - 05:50:43 EST


The following add driver patches for porting TI's am335x and am437x devices to
the sdhci-omap driver.

Patches 1-4 Add Support for external DMA to the sdhci driver.

Patches 5-7 refactor the sdhci_set_timeout() function and use it disable
data timeout interrupt for erase commands

Patches 8-9 add new compatibles for am335x and am43xx devices to the
sdhci-omap driver.

Patch 10 implements special reset required for am335x and am437x
devices.

DT changes will be posted as a separate series.

Tested on: am335x-evm, am335x-boneblack, am335x-bonegreen-wireless,
am335x-sk, am335x-bone, am437x-idk, am43xx-gp-evm, am43xx-epos-evm.

v5:
1. Patch 3 now uses the dma_submit_error() API instead of checking the
cookie on its own.
2. Dropped the patch adding ti,needs-special-reset property to
sdhci-omap. Using a flag in the driver instead.
3. Minor spacing changes.

v4:
1. Made the factoring out of initialize_data, block_info and mrqs_done as a
separate patch
2. Replaced the patch introducing the quirk to disable DTO during erase
operations to a set_timeout() callback in sdhci-omap
3. Ported the ti,needs-special-reset property from omap_hsmmc to sdhci-omap.
4. Minor style changes.

v3:
1. Dropped patch 1 because the tasklet was removed by Adrian in an
earlier series.
2. Added dma bindings in sdhci-omap as optional properties.
3. Rebased on top of latest mainline.

v2:
1. sdhci is using two bottom halves. One threaded_rq for card detect and a
tasklet for finishing mmc requests. Patch 1 removes the tasklet and
moves its function to the threaded_irq. This enables me to
terminate_sync() in sdhci_request_done()

2. Factored out common code for between the normal adn external dma case

3. Using existing API sdhci_data_timeout_irq for disabling DTO during
erase commands.

4. Fixed subject line for dt-bindings patch

Chunyan Zhang (3):
dt-bindings: sdhci-omap: Add properties for using external dma
mmc: sdhci: add support for using external DMA devices
mmc: sdhci-omap: Add using external dma

Faiz Abbas (7):
mmc: sdhci: Factor out some operations set to their own functions
mmc: sdhci: Convert sdhci_set_timeout_irq() to non-static
mmc: sdhci: Refactor sdhci_set_timeout()
mmc: sdhci-omap: Disable data timeout interrupt during erase
dt-bindings: sdhci-omap: Add am335x and am437x specific bindings
mmc: sdhci-omap: Add am335x and am437x specific compatibles
mmc: sdhci-omap: Add special reset capability

.../devicetree/bindings/mmc/sdhci-omap.txt | 11 +
drivers/mmc/host/Kconfig | 4 +
drivers/mmc/host/sdhci-omap.c | 60 ++-
drivers/mmc/host/sdhci.c | 353 +++++++++++++++---
drivers/mmc/host/sdhci.h | 10 +
5 files changed, 380 insertions(+), 58 deletions(-)

--
2.19.2