Refactoring the qcom-ufs phy and host controller code to move further towards the generic phy usage. Right now the qcom-ufs exports a bunch of APIs that are used by the host controller to initialize the phy. With this patch series, we populate the phy_init() which was a no-op earlier. The host controller then calls the phy_init() at the designated place rather than doing it invariably in ufs_hcd_init(). As part of this series, we introduce phy modes for ufs phy. The M-PHY has two data rates defined for each generations (Gears) - Rate A and Rate B. These can serve as the two modes of ufs HS phy. Host controller can direct the phy to set the respective configurations based on the phy modes. The patch-series has been tested with necessary dt patches on db820c. Vivek Gautam (5): dt-bindings: phy: Add PHY_TYPE_UFS definition phy: Add UFS PHY modes phy: qcom-ufs: Add support to set phy mode scsi/ufs: qcom: Set phy mode based on the controllers HS MODE ufs/phy: qcom: Refactor to use phy_init call drivers/phy/qualcomm/phy-qcom-ufs-i.h | 4 +-- drivers/phy/qualcomm/phy-qcom-ufs-qmp-14nm.c | 23 ++++++++++++++-- drivers/phy/qualcomm/phy-qcom-ufs-qmp-20nm.c | 23 ++++++++++++++-- drivers/phy/qualcomm/phy-qcom-ufs.c | 38 +++++++-------------------- drivers/scsi/ufs/ufs-qcom.c | 39 ++++++++++++---------------- include/dt-bindings/phy/phy.h | 1 + include/linux/phy/phy-qcom-ufs.h | 3 --- include/linux/phy/phy.h | 2 ++ 8 files changed, 74 insertions(+), 59 deletions(-) -- QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation