[PATCH v4 00/15] mci: add HS200 support for eMMCs
Steffen Trumtrar
s.trumtrar at pengutronix.de
Mon Mar 18 03:18:14 PDT 2024
This series adds support for HS200 mode to mci-core and sdhci.
As the host driver also needs to handle clock setup, pin control and
host specific tuning, this series only adds HS200 support to the Arasan
SDHCI driver.
Tested on: ZynqMP
Compile tested: for ZynqMP with/without CONFIG_MCI_TUNING
Signed-off-by: Steffen Trumtrar <s.trumtrar at pengutronix.de>
---
Changes in v4:
- add a fix for arasan dma support patch
- Link to v3: https://lore.barebox.org/20240315-v2024-02-0-topic-arasan-hs200-support-v3-0-df268c2f4907@pengutronix.de
Changes in v3:
- rebased onto v2024.03.0
- cherry-picked and rebased onto b80c0e1ec64c "mci: arasan: add dma support"
- Link to v2: https://lore.barebox.org/20240314-v2024-02-0-topic-arasan-hs200-support-v2-0-0386c27fe653@pengutronix.de
Changes in v2:
- added Reviewed-bys
- small style fixes
- return host->actual_clock in arasan_zynqmp_sampleclk_recalc_rate
- return host->actual_clock in arasan_zynqmp_sdcardeclk_recalc_rate
- move DT property parsing into IS_ENABLED
- port mci_switch_status from linux
- remove the #ifdef CONFIG_MCI_TUNING; functions get called in
IS_ENABLED context
- mci_mmc_select_hs_ddr: set max_dtr to mci->tran_speed; matches
the calculation linux does here
- move platform_execute_tuning from mci_host -> sdhci
- port sdhci_reset_for_reason from linux
- Link to v1: https://lore.barebox.org/20240308-v2024-02-0-topic-arasan-hs200-support-v1-0-6d50c90485f3@pengutronix.de
---
Steffen Trumtrar (15):
mci: arasan: fix dma support
ARM: zynqmp: add sd_dll_reset call
zynqmp: firmware: add functions to set tap delay
mci: arasan: implement 25MHz quirk for zynqmp
include: mci: sync mci_timing with linux
mci: arasan: read clk phases from DT
mci: core: save the set clock as actual_clock
mci: arasan: register sdcard/sampleclk
include: mci: add more EXT_CSD_CARD_TYPE_*
mci: core: parse more host capabilities from DT
mci: mci-core: add HS200 support
mci: mci-core: replace value with define
mci: sdhci: add tuning support
mci: arasan-sdhci: add HS200 tuning support on ZynqMP
mci: sdhci: replace sdhci_wait_idle
arch/arm/mach-zynqmp/firmware-zynqmp.c | 59 ++++
drivers/mci/Kconfig | 7 +
drivers/mci/am654-sdhci.c | 2 +-
drivers/mci/arasan-sdhci.c | 529 ++++++++++++++++++++++++++++++++-
drivers/mci/atmel-sdhci-common.c | 4 +-
drivers/mci/dove-sdhci.c | 2 +-
drivers/mci/mci-bcm2835.c | 2 +-
drivers/mci/mci-core.c | 297 ++++++++++++++++--
drivers/mci/rockchip-dwcmshc-sdhci.c | 2 +-
drivers/mci/sdhci.c | 304 ++++++++++++++++++-
drivers/mci/sdhci.h | 30 +-
include/mach/zynqmp/firmware-zynqmp.h | 23 ++
include/mci.h | 104 ++++++-
13 files changed, 1321 insertions(+), 44 deletions(-)
---
base-commit: ec014c92f8ec31da8a062f6083a0d10dbcfe97ce
change-id: 20240308-v2024-02-0-topic-arasan-hs200-support-1bc3fb6b49aa
Best regards,
--
Steffen Trumtrar <s.trumtrar at pengutronix.de>
More information about the barebox
mailing list