[PATCH v6 0/7] scsi: ufs-mediatek: Add UFS support for Mediatek SoC chips

Stanley Chu
2019-03-16T05:04:40Z

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 series, simply re-factor it and then every vendors can reuse it.

Changes since v5:
- phy-mtk-ufs: Change mphy_readl/mphy_writel() to inline functions.
- Fix typo in cover letter.

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 | 10 +
drivers/phy/mediatek/Makefile | 1 +
drivers/phy/mediatek/phy-mtk-ufs.c | 245 ++++++++++++
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, 898 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

--
2.18.0