scsi: ufs-mediatek: Add UFS support for Mediatek SoC chips

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

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.