Re: [PATCH v5 0/8] mmc: sdhci-of-dwcmshc: Add Sophgo SG2042 support

From: Inochi Amaoto
Date: Wed Jul 31 2024 - 04:01:01 EST


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>