disp: msm: dsi: move dsi pll as subnode to dsi PHY

DSI PLL is tightly coupled with DSI PHY. This change removes
separate DSI pll driver and makes DSI pll as a subnode to DSI
PHY which is an accurate way of representation. In addition, this
change adds support for 5nm DSI ctrl and PHY revisions and adds
DSI pll support for 5nm. Remove support for older DSI pll revisions
such as 7nm, 10nm, 14nm, 20nm, 28nm.

Change-Id: Ic8b886a9fe24b906e4ec5130720600efa1e59b68
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
这个提交包含在:
Satya Rama Aditya Pinapala
2019-11-18 15:35:41 -08:00
父节点 beb705e598
当前提交 5694bc2eee
修改 48 个文件,包含 681 行新增21684 行删除

查看文件

@@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2016-2019, The Linux Foundation. All rights reserved.
* Copyright (c) 2016-2020, The Linux Foundation. All rights reserved.
*/
#include <linux/of_device.h>
@@ -83,6 +83,14 @@ static const struct dsi_ver_spec_info dsi_phy_v4_1 = {
.timing_cfg_count = 14,
};
static const struct dsi_ver_spec_info dsi_phy_v4_2 = {
.version = DSI_PHY_VERSION_4_2,
.lane_cfg_count = 4,
.strength_cfg_count = 2,
.regulator_cfg_count = 0,
.timing_cfg_count = 14,
};
static const struct of_device_id msm_dsi_phy_of_match[] = {
{ .compatible = "qcom,dsi-phy-v0.0-hpm",
.data = &dsi_phy_v0_0_hpm,},
@@ -98,6 +106,8 @@ static const struct of_device_id msm_dsi_phy_of_match[] = {
.data = &dsi_phy_v4_0,},
{ .compatible = "qcom,dsi-phy-v4.1",
.data = &dsi_phy_v4_1,},
{ .compatible = "qcom,dsi-phy-v4.2",
.data = &dsi_phy_v4_2,},
{}
};
@@ -422,6 +432,12 @@ static int dsi_phy_driver_probe(struct platform_device *pdev)
goto fail_supplies;
}
rc = dsi_pll_init(pdev, &dsi_phy->pll);
if (rc) {
DSI_PHY_ERR(dsi_phy, "Failed to initialize DSI PLL, rc=%d\n", rc);
goto fail_settings;
}
item->phy = dsi_phy;
mutex_lock(&dsi_phy_list_lock);
@@ -435,6 +451,8 @@ static int dsi_phy_driver_probe(struct platform_device *pdev)
DSI_PHY_INFO(dsi_phy, "Probe successful\n");
return 0;
fail_settings:
(void)dsi_phy_settings_deinit(dsi_phy);
fail_supplies:
(void)dsi_phy_supplies_deinit(dsi_phy);
fail_regmap: