Hello,
This patch series adds UFS M-PHY and UFS host driver support in MediaTek
chipsets.
In the meantime, re-factors ufshcd_get_pwr_dev_param in vendors' drivers. This
function is for vendors to decide finally agreed attributes for power mode
change if vendors define
their host capability in struct ufs_dev_params. Because it is using by both
ufs-qcom and ufs-hisi and also used in ufs-mediatek in this serious, simply
re-factor it and then every vendors can reuse it.
Changes since v4:
- phy-mtk-ufs:
* Sort name in Kconfig and Makefile
* Drop "inline" and fix symbol name for mphy_set_bit()/mphy_clr_bit().
- dt-bindings: phy-mtk-ufs: Drop "-clk" in clock names.
- dt-bindings: ufs-mediatek:
* Change clock name "ufs-clk" to "ufs".
* Drop vcc related first. VCC control is planned to be added back by
another patch accompanied with VCC/ICC logic fix in ufs common driver.
Changes since v3:
- dt-bindings: Use specific compatible name for both ufs-mediatek and
phy-mtk-ufs, remove interrupt-parent and lanes-per-direction in ufs-mediatek,
and fix descriptions.
Changes since v2:
- Fix header style with SPDX-License-Identifier declaration used.
- Simplify ufs-phy-mtk to single source file since we has one MPHY
version now, and do fixes according to Chunfeng Yun's comments.
- Add dt-bindings of ufs-phy-mtk.
Changes since v1:
- Re-factor ufshcd_get_pwr_dev_param in mediatek/qcom/hisi vendor drivers.
- Introduce ufs-phy-mtk to have a good extension capability for different
power control flows in future different MPHY versions.
- Bind ufs-phy-mtk and hook suitable callbacks in ufs-mediatek driver.
- Use PA_LOCAL_TX_LCC_ENABLE attribute defined in unipro.h instead.
- Do some minor format fixes.
Stanley Chu (7):
scsi: ufs: Introduce ufshcd_get_pwr_dev_param
scsi: ufs-qcom: Re-factor ufshcd_get_pwr_dev_param
scsi: ufs-hisi: Re-factor ufshcd_get_pwr_dev_param
dt-bindings: phy: Add document for phy-mtk-ufs
dt-bindings: scsi: ufs: Add document for ufs-mediatek
phy: mediatek: Add UFS M-PHY driver
scsi: ufs-mediatek: Add UFS support for Mediatek SoC chips
.../devicetree/bindings/phy/phy-mtk-ufs.txt | 38 ++
.../devicetree/bindings/ufs/ufs-mediatek.txt | 40 ++
drivers/phy/mediatek/Kconfig | 11 +
drivers/phy/mediatek/Makefile | 1 +
drivers/phy/mediatek/phy-mtk-ufs.c | 239 ++++++++++++
drivers/scsi/ufs/Kconfig | 14 +
drivers/scsi/ufs/Makefile | 1 +
drivers/scsi/ufs/ufs-hisi.c | 109 +-----
drivers/scsi/ufs/ufs-mediatek.c | 368 ++++++++++++++++++
drivers/scsi/ufs/ufs-mediatek.h | 54 +++
drivers/scsi/ufs/ufs-qcom.c | 106 +----
drivers/scsi/ufs/ufshcd-pltfrm.c | 98 +++++
drivers/scsi/ufs/ufshcd-pltfrm.h | 21 +
13 files changed, 893 insertions(+), 207 deletions(-)
create mode 100644 Documentation/devicetree/bindings/phy/phy-mtk-ufs.txt
create mode 100644 Documentation/devicetree/bindings/ufs/ufs-mediatek.txt
create mode 100644 drivers/phy/mediatek/phy-mtk-ufs.c
create mode 100644 drivers/scsi/ufs/ufs-mediatek.c
create mode 100644 drivers/scsi/ufs/ufs-mediatek.h