Message ID | 1738736156-119203-1-git-send-email-shawn.lin@rock-chips.com |
---|---|
Headers | show |
Series | Initial support for RK3576 UFS controller | expand |
On Wed, 5 Feb 2025 at 07:16, Shawn Lin <shawn.lin@rock-chips.com> wrote: > > This patchset adds initial UFS controller supprt for RK3576 SoC. > Patch 1 is the dt-bindings. Patch 2-4 deal with rpm and spm support > in advanced suggested by Ulf. Patch 5 exports two new APIs for host > driver. Patch 6 and 7 are the host driver and dtsi support. Looks like this series is almost ready to be merged? If so, may I suggest that I pick patch2, patch3 and patch4 via my pmdomain tree and share them via an immutable branch, so they can be pulled into James/Martin's scsi tree? Or do you prefer another route? Kind regards Uffe > > > Changes in v7: > - add definitions for all kinds of hex values if possible > - Misc log and comment improvement > - use udelay for less than 10us cases > - other improvements suggested by Mani > - Use 0x0 for consistency > - Collect Mani's acked-by tag > > Changes in v6: > - fix indentation to 4 spaces suggested by Krzysztof > - export dev_pm_genpd_rpm_always_on() > - replace host drivers with glue drivers suggested by Mani > - add Main's review tag > - remove UFS_MAX_CLKS > - improve err log > - remove hardcoded clocks > - remove comment from ufs_rockchip_device_reset() > - remove pm_runtime_* from ufs_rockchip_remove() > - rebase to scsi/next > - move ufs_rockchip_set_pm_lvl to ufs_rockchip_rk3576_init() > - add comments about device_set_awake_path() > - remove comments suggested by Mani > > Changes in v5: > - use ufshc for devicetree example suggested by Mani > - fix a compile warning > - use device_set_awake_path() and disable ref_out_clk in suspend > - remove pd_id from header > - reconstruct ufs_rockchip_hce_enable_notify() to workaround hce enable > without using new quirk > > Changes in v4: > - properly describe reset-gpios > - deal with power domain of rpm and spm suggested by Ulf > - Fix typo and disable clks in ufs_rockchip_remove > - remove clk_disable_unprepare(host->ref_out_clk) from > ufs_rockchip_remove > > Changes in v3: > - rename the file to rockchip,rk3576-ufshc.yaml > - add description for reset-gpios > - use rockchip,rk3576-ufshc as compatible > - reword Kconfig description > - elaborate more about controller in commit msg > - use rockchip,rk3576-ufshc for compatible > - remove useless header file > - remove inline for ufshcd_is_device_present > - use usleep_range instead > - remove initialization, reverse Xmas order > - remove useless varibles > - check vops for null > - other small fixes for err path > - remove pm_runtime_set_active > - fix the active and inactive reset-gpios logic > - fix rpm_lvl and spm_lvl to 5 and move to end of probe path > - remove unnecessary system PM callbacks > - use UFSHCI_QUIRK_DME_RESET_ENABLE_AFTER_HCE instead > of UFSHCI_QUIRK_BROKEN_HCE > > Changes in v2: > - rename the file > - add reset-gpios > > Shawn Lin (6): > dt-bindings: ufs: Document Rockchip UFS host controller > soc: rockchip: add header for suspend mode SIP interface > pmdomain: rockchip: Add smc call to inform firmware > scsi: ufs: core: Export ufshcd_dme_reset() and ufshcd_dme_enable() > scsi: ufs: rockchip: initial support for UFS > arm64: dts: rockchip: Add UFS support for RK3576 SoC > > Ulf Hansson (1): > pmdomain: core: Introduce dev_pm_genpd_rpm_always_on() > > .../bindings/ufs/rockchip,rk3576-ufshc.yaml | 105 ++++++ > arch/arm64/boot/dts/rockchip/rk3576.dtsi | 24 ++ > drivers/pmdomain/core.c | 35 ++ > drivers/pmdomain/rockchip/pm-domains.c | 8 + > drivers/ufs/core/ufshcd.c | 6 +- > drivers/ufs/host/Kconfig | 12 + > drivers/ufs/host/Makefile | 1 + > drivers/ufs/host/ufs-rockchip.c | 353 +++++++++++++++++++++ > drivers/ufs/host/ufs-rockchip.h | 90 ++++++ > include/linux/pm_domain.h | 7 + > include/soc/rockchip/rockchip_sip.h | 3 + > include/ufs/ufshcd.h | 2 + > 12 files changed, 644 insertions(+), 2 deletions(-) > create mode 100644 Documentation/devicetree/bindings/ufs/rockchip,rk3576-ufshc.yaml > create mode 100644 drivers/ufs/host/ufs-rockchip.c > create mode 100644 drivers/ufs/host/ufs-rockchip.h > > -- > 2.7.4 >
Hi Ulf, 在 2025/2/7 18:17, Ulf Hansson 写道: > On Wed, 5 Feb 2025 at 07:16, Shawn Lin <shawn.lin@rock-chips.com> wrote: >> >> This patchset adds initial UFS controller supprt for RK3576 SoC. >> Patch 1 is the dt-bindings. Patch 2-4 deal with rpm and spm support >> in advanced suggested by Ulf. Patch 5 exports two new APIs for host >> driver. Patch 6 and 7 are the host driver and dtsi support. > > Looks like this series is almost ready to be merged? > > If so, may I suggest that I pick patch2, patch3 and patch4 via my > pmdomain tree and share them via an immutable branch, so they can be > pulled into James/Martin's scsi tree? Or do you prefer another route? > Thanks for the review. I'm fine with both. Let's wait for James/Martin's opinion. > Kind regards > Uffe > >> >> >> Changes in v7: >> - add definitions for all kinds of hex values if possible >> - Misc log and comment improvement >> - use udelay for less than 10us cases >> - other improvements suggested by Mani >> - Use 0x0 for consistency >> - Collect Mani's acked-by tag >> >> Changes in v6: >> - fix indentation to 4 spaces suggested by Krzysztof >> - export dev_pm_genpd_rpm_always_on() >> - replace host drivers with glue drivers suggested by Mani >> - add Main's review tag >> - remove UFS_MAX_CLKS >> - improve err log >> - remove hardcoded clocks >> - remove comment from ufs_rockchip_device_reset() >> - remove pm_runtime_* from ufs_rockchip_remove() >> - rebase to scsi/next >> - move ufs_rockchip_set_pm_lvl to ufs_rockchip_rk3576_init() >> - add comments about device_set_awake_path() >> - remove comments suggested by Mani >> >> Changes in v5: >> - use ufshc for devicetree example suggested by Mani >> - fix a compile warning >> - use device_set_awake_path() and disable ref_out_clk in suspend >> - remove pd_id from header >> - reconstruct ufs_rockchip_hce_enable_notify() to workaround hce enable >> without using new quirk >> >> Changes in v4: >> - properly describe reset-gpios >> - deal with power domain of rpm and spm suggested by Ulf >> - Fix typo and disable clks in ufs_rockchip_remove >> - remove clk_disable_unprepare(host->ref_out_clk) from >> ufs_rockchip_remove >> >> Changes in v3: >> - rename the file to rockchip,rk3576-ufshc.yaml >> - add description for reset-gpios >> - use rockchip,rk3576-ufshc as compatible >> - reword Kconfig description >> - elaborate more about controller in commit msg >> - use rockchip,rk3576-ufshc for compatible >> - remove useless header file >> - remove inline for ufshcd_is_device_present >> - use usleep_range instead >> - remove initialization, reverse Xmas order >> - remove useless varibles >> - check vops for null >> - other small fixes for err path >> - remove pm_runtime_set_active >> - fix the active and inactive reset-gpios logic >> - fix rpm_lvl and spm_lvl to 5 and move to end of probe path >> - remove unnecessary system PM callbacks >> - use UFSHCI_QUIRK_DME_RESET_ENABLE_AFTER_HCE instead >> of UFSHCI_QUIRK_BROKEN_HCE >> >> Changes in v2: >> - rename the file >> - add reset-gpios >> >> Shawn Lin (6): >> dt-bindings: ufs: Document Rockchip UFS host controller >> soc: rockchip: add header for suspend mode SIP interface >> pmdomain: rockchip: Add smc call to inform firmware >> scsi: ufs: core: Export ufshcd_dme_reset() and ufshcd_dme_enable() >> scsi: ufs: rockchip: initial support for UFS >> arm64: dts: rockchip: Add UFS support for RK3576 SoC >> >> Ulf Hansson (1): >> pmdomain: core: Introduce dev_pm_genpd_rpm_always_on() >> >> .../bindings/ufs/rockchip,rk3576-ufshc.yaml | 105 ++++++ >> arch/arm64/boot/dts/rockchip/rk3576.dtsi | 24 ++ >> drivers/pmdomain/core.c | 35 ++ >> drivers/pmdomain/rockchip/pm-domains.c | 8 + >> drivers/ufs/core/ufshcd.c | 6 +- >> drivers/ufs/host/Kconfig | 12 + >> drivers/ufs/host/Makefile | 1 + >> drivers/ufs/host/ufs-rockchip.c | 353 +++++++++++++++++++++ >> drivers/ufs/host/ufs-rockchip.h | 90 ++++++ >> include/linux/pm_domain.h | 7 + >> include/soc/rockchip/rockchip_sip.h | 3 + >> include/ufs/ufshcd.h | 2 + >> 12 files changed, 644 insertions(+), 2 deletions(-) >> create mode 100644 Documentation/devicetree/bindings/ufs/rockchip,rk3576-ufshc.yaml >> create mode 100644 drivers/ufs/host/ufs-rockchip.c >> create mode 100644 drivers/ufs/host/ufs-rockchip.h >> >> -- >> 2.7.4 >> >