[PATCH v4 0/4] mmc: sdhci-of-dwcmshc: Add Sophgo SG2042 support
Chen Wang
unicornxw at gmail.com
Tue Jun 18 01:37:08 PDT 2024
From: Chen Wang <unicorn_wang at outlook.com>
This patchset is composed of two parts:
- one is the improvement of the sdhci-of-dwcmshc framework,
- the other is the support for sg2042 based on the improvement of the
framework.
The reason for merging the two parts into one patchset is mainly to
facilitate review, especially to facilitate viewing why we need to
improve the framework and what benefits it will bring to us.
When I tried to add a new soc(SG2042) to sdhci-of-dwcmshc, I found
that the existing driver code could be optimized to facilitate expansion
for the new soc. Patch 1 "mmc: sdhci-of-dwcmshc: add callback functions
for dwcmshc" is for this.
Patch 2 ~ 3 are adding support for the mmc controller for Sophgo SG2042.
Adding corresponding new compatible strings, and implement
custom callbacks for SG2042 based on new framework.
Patch 4 is the change for DTS.
By the way, although I believe this patch only optimizes the framework
of the code and does not change the specific logic, simple verification
is certainly better. Since I don't have rk35xx/th1520 related hardware,
it would be greatly appreciated if someone could help verify it.
Note, the DTS change has dependency on clock changes for SG2042, which
has not been merged in master/upstream, so if you want to test this
new sdhci-of-dwcmshc driver for other hardware except SG2042, don't
pick patch 4.
---
Changes in v4:
The patch series is based on latest 'next' branch of [mmc-git].
Improved the dirvier code as per comments from Adrian Hunter, drop moving
position and renaming for some helper functions.
Put the sg2042 support as part of this series, improve the bindings and code
as per comments from last review.
Changes in v3:
The patch series is based on latest 'next' branch of [mmc-git]. You can simply
review or test the patches at the link [3].
Improved the dirvier code as per comments from Adrian Hunter.
Define new structure for dwcmshc platform data/ops. In addition, I organized
the code and classified the helper functions.
Since the file changes were relatively large (though the functional logic did
not change much), I split the original patch into four for the convenience of
review.
Changes in v2:
Rebased on latest 'next' branch of [mmc-git]. You can simply review or test the
patches at the link [2].
Changes in v1:
The patch series is based on v6.9-rc1. You can simply review or test the
patches at the link [1].
Link: git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc.git [mmc-git]
Link: https://lore.kernel.org/linux-mmc/cover.1713257181.git.unicorn_wang@outlook.com/ [1]
Link: https://lore.kernel.org/linux-mmc/cover.1714270290.git.unicorn_wang@outlook.com/ [2]
Link: https://lore.kernel.org/linux-mmc/cover.1718241495.git.unicorn_wang@outlook.com/ [3]
---
Chen Wang (4):
mmc: sdhci-of-dwcmshc: add callback functions for dwcmshc
dt-bindings: mmc: sdhci-of-dwcmhsc: Add Sophgo SG2042 support
mmc: sdhci-of-dwcmshc: Add support for Sophgo SG2042
riscv: dts: add mmc controllers for Sophgo SG2042 SoC
.../bindings/mmc/snps,dwcmshc-sdhci.yaml | 69 ++-
.../boot/dts/sophgo/sg2042-milkv-pioneer.dts | 17 +
arch/riscv/boot/dts/sophgo/sg2042.dtsi | 32 ++
drivers/mmc/host/sdhci-of-dwcmshc.c | 499 ++++++++++++------
4 files changed, 447 insertions(+), 170 deletions(-)
base-commit: d6cd1206ffaaa890e81f5d1134856d9edd406ec6
--
2.25.1
More information about the linux-riscv
mailing list