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.