On Fri, Jul 19, 2024 at 04:44:38PM GMT, Chen Wang wrote: > From: Chen Wang <unicorn_wang@xxxxxxxxxxx> > > 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 ~ Patch 5 is for this. > > Patch 6 ~ 7 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 8 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 8. > > Clocks changes for SG2042 are expected to be in 6.11-rc1 soon, I will > do catch up with that when it is relased and provide a new revision, > but anyway please feel free review this version and welcome your comments. > > --- > > Changes in v5: > > The patch series is based on latest 'next' branch of [mmc-git]. > > - Based on Adrian's suggestion, split the first part of the patch into 5. > - Updated bindings and DTS as per suggestion from Krzysztof, Jisheng and Conor. > > Changes in v4: > > The patch series is based on latest 'next' branch of [mmc-git]. You can simply > review or test the patches at the link [4]. > > 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@xxxxxxxxxxx/ [1] > Link: https://lore.kernel.org/linux-mmc/cover.1714270290.git.unicorn_wang@xxxxxxxxxxx/ [2] > Link: https://lore.kernel.org/linux-mmc/cover.1718241495.git.unicorn_wang@xxxxxxxxxxx/ [3] > Link: https://lore.kernel.org/linux-mmc/cover.1718697954.git.unicorn_wang@xxxxxxxxxxx/ [4] > > --- > > Chen Wang (8): > mmc: sdhci-of-dwcmshc: add common bulk optional clocks support > mmc: sdhci-of-dwcmshc: move two rk35xx functions > mmc: sdhci-of-dwcmshc: factor out code for th1520_init() > mmc: sdhci-of-dwcmshc: factor out code into dwcmshc_rk35xx_init > mmc: sdhci-of-dwcmshc: add dwcmshc_pltfm_data > dt-bindings: mmc: sdhci-of-dwcmhsc: Add Sophgo SG2042 support > mmc: sdhci-of-dwcmshc: Add support for Sophgo SG2042 > riscv: sophgo: dts: add mmc controllers for SG2042 SoC > > .../bindings/mmc/snps,dwcmshc-sdhci.yaml | 60 ++- > .../boot/dts/sophgo/sg2042-milkv-pioneer.dts | 17 + > arch/riscv/boot/dts/sophgo/sg2042.dtsi | 28 ++ > drivers/mmc/host/sdhci-of-dwcmshc.c | 459 ++++++++++++------ > 4 files changed, 391 insertions(+), 173 deletions(-) > > > base-commit: b85e021853976aaebd3788e7e721020570754199 > -- > 2.34.1 > Work on both Duo and Huashan Pi. Both sd and emmc are fine. Tested-by: Inochi Amaoto <inochiama@xxxxxxxxxxx>