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

Inochi Amaoto inochiama at outlook.com
Wed Jul 31 01:00:13 PDT 2024


On Fri, Jul 19, 2024 at 04:44:38PM GMT, Chen Wang wrote:
> 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 ~ 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@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]
> Link: https://lore.kernel.org/linux-mmc/cover.1718697954.git.unicorn_wang@outlook.com/ [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 at outlook.com>



More information about the linux-riscv mailing list