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>
@@ -53,6 +53,7 @@ static const enum dsi_ctrl_version dsi_ctrl_v2_0 = DSI_CTRL_VERSION_2_0;
static const enum dsi_ctrl_version dsi_ctrl_v2_2 = DSI_CTRL_VERSION_2_2;
static const enum dsi_ctrl_version dsi_ctrl_v2_3 = DSI_CTRL_VERSION_2_3;
static const enum dsi_ctrl_version dsi_ctrl_v2_4 = DSI_CTRL_VERSION_2_4;
static const enum dsi_ctrl_version dsi_ctrl_v2_5 = DSI_CTRL_VERSION_2_5;
static const struct of_device_id msm_dsi_of_match[] = {
{
@@ -75,6 +76,10 @@ static const struct of_device_id msm_dsi_of_match[] = {
.compatible = "qcom,dsi-ctrl-hw-v2.4",
.data = &dsi_ctrl_v2_4,
},
{
.compatible = "qcom,dsi-ctrl-hw-v2.5",
.data = &dsi_ctrl_v2_5,
},
{}
};
@@ -559,6 +564,7 @@ static int dsi_ctrl_init_regmap(struct platform_device *pdev,
case DSI_CTRL_VERSION_2_2:
case DSI_CTRL_VERSION_2_3:
case DSI_CTRL_VERSION_2_4:
case DSI_CTRL_VERSION_2_5:
ptr = msm_ioremap(pdev, "disp_cc_base", ctrl->name);
if (IS_ERR(ptr)) {
DSI_CTRL_ERR(ctrl, "disp_cc base address not found for\n");
@@ -1867,18 +1873,18 @@ static int dsi_ctrl_dev_probe(struct platform_device *pdev)
goto fail;
}
rc = dsi_ctrl_clocks_init(pdev, dsi_ctrl);
if (rc) {
DSI_CTRL_ERR(dsi_ctrl, "Failed to parse clock information, rc = %d\n",
rc);
goto fail;
}
rc = dsi_ctrl_supplies_init(pdev, dsi_ctrl);
if (rc) {
DSI_CTRL_ERR(dsi_ctrl, "Failed to parse voltage supplies, rc = %d\n",
rc);
goto fail_clks;
goto fail;
}
rc = dsi_ctrl_clocks_init(pdev, dsi_ctrl);
if (rc) {
DSI_CTRL_ERR(dsi_ctrl, "Failed to parse clock information, rc = %d\n",
rc);
goto fail_supplies;
}
rc = dsi_catalog_ctrl_setup(&dsi_ctrl->hw, dsi_ctrl->version,
@@ -1887,7 +1893,7 @@ static int dsi_ctrl_dev_probe(struct platform_device *pdev)
if (rc) {
DSI_CTRL_ERR(dsi_ctrl, "Catalog does not support version (%d)\n",
dsi_ctrl->version);
goto fail_supplies;
goto fail_clks;
}
item->ctrl = dsi_ctrl;
@@ -1905,10 +1911,10 @@ static int dsi_ctrl_dev_probe(struct platform_device *pdev)
return 0;
fail_supplies:
(void)dsi_ctrl_supplies_deinit(dsi_ctrl);
fail_clks:
(void)dsi_ctrl_clocks_deinit(dsi_ctrl);
fail_supplies:
(void)dsi_ctrl_supplies_deinit(dsi_ctrl);
fail:
return rc;
}