This series adds MMC support for the SpacemiT K1: an SDHCI platform driver, the SD card device-tree overlay, defconfig options, and SPL boot-device selection from the SoC strap/config registers. The SDHCI driver is usable in both SPL and U-Boot proper.
A flashing guide (doc/board/spacemit/k1-flash.rst) describes how to write images to eMMC. --- Changes in v12: - dts: Drop all upstreamed DTS patches since they're merged now. - Link to v11: https://patch.msgid.link/[email protected] Changes in v11: - spl: Fix the read_boot_mode() that returns both boot mode and boot device. - Link to v10: https://patch.msgid.link/[email protected] Changes in v10: - pinctrl: Move all pinctrl patches into a new patch set. - Link to v9: https://patch.msgid.link/[email protected] Changes in v9: - spl: Enhance detection on booting from SD. - dts: Synched upstream DTS files for K1. - doc: Create SD card image from scratch. - mmc: Avoid to use CMD18 on SD card in SPL. - pinctrl: Drop "fix drive strength configuration". - Link to v8: https://patch.msgid.link/[email protected] Changes in v8: - doc: Remove SD card. - Link to v7: https://patch.msgid.link/[email protected] Changes in v7: - env: Drop env support on the mmc series. - dts: Sync upstream DTS files for spacemit. - pinctrl: Simply clrsetbits_le32() on pull-up/pull-down configuration. - spl: Fix DTB matching. - Link to v6: https://patch.msgid.link/[email protected] Changes in v6: - pinctrl: Fix drive strength configuration. - pinctrl: Fix pull-up/pull-down configuration. - pinctrl: Use dev_read_phandle_with_args() to fetch "spacemit,syscon" instead. - spacemit: rebase on latest upstream branch. - Link to v5: https://patch.msgid.link/[email protected] Changes in v5: - mmc: Split CMD23 support out. - mmc: Use read_poll_timeout(). - mmc: Set pinctrl state based on selected timing mode. - mmc: Remove the condition based on quirks. - pinctrl: Fix power source argument. - dts: Add missing power source on mmc pins. - Link to v4: https://patch.msgid.link/[email protected] Changes in v4: - mmc: Add CMD23 for write. - mmc: Fix CMD23 only for CMD18. - mmc: Update bulk release operations on reset and clocks for spacemit platform driver. - MAINTAINER: update the maintainer of Spacemit K1. - Link to v3: https://patch.msgid.link/[email protected] Changes in v3: - pinctrl: Fix "fast" by "uhs". - pinctrl: Add syscon dependency. - mmc: Fix quick by capability. - doc: Add SD boot support. - Link to v2: https://lore.kernel.org/u-boot/[email protected]/T/#m2aba875a2696a7bb9b704618d22ae2fd7f7f5acc Changes in v2: - cmd: drop patches on eminfo & tlv_eeprom. - configs: Enable ADMA and SYSCON support. - dts: Use vmmc-supply as vqmmc-supply on the SD card node. - mmc: k1: Enable ADMA mode support, use CMD23 for multi-block read/write, correct pinctrl state from "fast" to "uhs". - mmc: sdhci: Add new quirk patch to enable CMD23 for multi-block transfers. - pinctrl: k1: Add new IO power domain configuration support for dual-voltage GPIO banks. - spacemit: k1: Use FIELD_GET() to parse boot strap mode. - Link to v1: https://lore.kernel.org/u-boot/[email protected]/ To: [email protected] To: [email protected] To: Yao Zi <[email protected]> Cc: Huan Zhou <[email protected]> Cc: Tom Rini <[email protected]> Cc: Guodong Xu <[email protected]> Cc: Raymond Mao <[email protected]> Cc: Peng Fan <[email protected]> Cc: Jaehoon Chung <[email protected]> Cc: Anshul Dalal <[email protected]> Cc: Bastien Curutchet <[email protected]> Cc: Johan Jonker <[email protected]> Cc: Sumit Garg <[email protected]> Cc: Yixun Lan <[email protected]> Cc: Iker Pedrosa <[email protected]> Cc: Alex Elder <[email protected]> Cc: Andre Heider <[email protected]> Cc: Trevor Gamblin <[email protected]> Cc: Tim Ouyang <[email protected]> Cc: Leo Liang <[email protected]> Signed-off-by: Eric Chung <[email protected]> --- Eric Chung (7): spacemit: k1: select boot device via config registers mmc: k1: add sdhci platform driver dts: k1: enable mmc devices in SPL configs: k1: enable SD and eMMC support MAINTAINER: update Spacemit K1 entry doc: spacemit: flash on K1 SoC based boards spacemit: k1: fix product name detection and DTB matching in SPL arch/riscv/dts/k1-bananapi-f3-u-boot.dtsi | 12 +- arch/riscv/dts/k1-musepi-pro-u-boot.dtsi | 136 +----- board/spacemit/k1/MAINTAINERS | 5 +- board/spacemit/k1/spl.c | 148 ++++++- configs/spacemit_k1_defconfig | 22 + doc/board/spacemit/index.rst | 1 + doc/board/spacemit/k1-mmc.rst | 271 ++++++++++++ drivers/mmc/Kconfig | 7 + drivers/mmc/Makefile | 1 + drivers/mmc/spacemit_sdhci.c | 684 ++++++++++++++++++++++++++++++ 10 files changed, 1139 insertions(+), 148 deletions(-) --- base-commit: 8c29b52d168877c3d5c5e3906c7481b21cf14956 change-id: 20260629-m4-98e01659fefb Best regards, -- Eric Chung <[email protected]>
