disp: msm: dsi: add ctrl and phy version support for Kalama

Add dsi ctrl version 2.7 and dsi phy version 5.2 support for
Kalama hardware.

Change-Id: Ia7b4c8a2e1579458f114e466de8b24855e9251ce
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
This commit is contained in:
Jeykumar Sankaran
2021-11-09 14:22:27 -08:00
parent 8707002bba
commit c890f9d88f
6 changed files with 24 additions and 0 deletions

View File

@@ -72,6 +72,7 @@ static void dsi_catalog_cmn_init(struct dsi_ctrl_hw *ctrl,
case DSI_CTRL_VERSION_2_4: case DSI_CTRL_VERSION_2_4:
case DSI_CTRL_VERSION_2_5: case DSI_CTRL_VERSION_2_5:
case DSI_CTRL_VERSION_2_6: case DSI_CTRL_VERSION_2_6:
case DSI_CTRL_VERSION_2_7:
ctrl->ops.phy_reset_config = dsi_ctrl_hw_22_phy_reset_config; ctrl->ops.phy_reset_config = dsi_ctrl_hw_22_phy_reset_config;
ctrl->ops.config_clk_gating = dsi_ctrl_hw_22_config_clk_gating; ctrl->ops.config_clk_gating = dsi_ctrl_hw_22_config_clk_gating;
ctrl->ops.setup_lane_map = dsi_ctrl_hw_22_setup_lane_map; ctrl->ops.setup_lane_map = dsi_ctrl_hw_22_setup_lane_map;
@@ -142,6 +143,7 @@ int dsi_catalog_ctrl_setup(struct dsi_ctrl_hw *ctrl,
break; break;
case DSI_CTRL_VERSION_2_5: case DSI_CTRL_VERSION_2_5:
case DSI_CTRL_VERSION_2_6: case DSI_CTRL_VERSION_2_6:
case DSI_CTRL_VERSION_2_7:
ctrl->widebus_support = true; ctrl->widebus_support = true;
ctrl->phy_isolation_enabled = phy_isolation_enabled; ctrl->phy_isolation_enabled = phy_isolation_enabled;
dsi_catalog_cmn_init(ctrl, version); dsi_catalog_cmn_init(ctrl, version);
@@ -265,6 +267,7 @@ int dsi_catalog_phy_setup(struct dsi_phy_hw *phy,
case DSI_PHY_VERSION_4_1: case DSI_PHY_VERSION_4_1:
case DSI_PHY_VERSION_4_2: case DSI_PHY_VERSION_4_2:
case DSI_PHY_VERSION_4_3: case DSI_PHY_VERSION_4_3:
case DSI_PHY_VERSION_5_2:
dsi_catalog_phy_4_0_init(phy); dsi_catalog_phy_4_0_init(phy);
break; break;
default: default:

View File

@@ -54,6 +54,7 @@ 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_4 = DSI_CTRL_VERSION_2_4;
static const enum dsi_ctrl_version dsi_ctrl_v2_5 = DSI_CTRL_VERSION_2_5; static const enum dsi_ctrl_version dsi_ctrl_v2_5 = DSI_CTRL_VERSION_2_5;
static const enum dsi_ctrl_version dsi_ctrl_v2_6 = DSI_CTRL_VERSION_2_6; static const enum dsi_ctrl_version dsi_ctrl_v2_6 = DSI_CTRL_VERSION_2_6;
static const enum dsi_ctrl_version dsi_ctrl_v2_7 = DSI_CTRL_VERSION_2_7;
static const struct of_device_id msm_dsi_of_match[] = { static const struct of_device_id msm_dsi_of_match[] = {
{ {
@@ -76,6 +77,10 @@ static const struct of_device_id msm_dsi_of_match[] = {
.compatible = "qcom,dsi-ctrl-hw-v2.6", .compatible = "qcom,dsi-ctrl-hw-v2.6",
.data = &dsi_ctrl_v2_6, .data = &dsi_ctrl_v2_6,
}, },
{
.compatible = "qcom,dsi-ctrl-hw-v2.7",
.data = &dsi_ctrl_v2_7,
},
{} {}
}; };
@@ -693,6 +698,7 @@ static int dsi_ctrl_init_regmap(struct platform_device *pdev,
case DSI_CTRL_VERSION_2_4: case DSI_CTRL_VERSION_2_4:
case DSI_CTRL_VERSION_2_5: case DSI_CTRL_VERSION_2_5:
case DSI_CTRL_VERSION_2_6: case DSI_CTRL_VERSION_2_6:
case DSI_CTRL_VERSION_2_7:
ptr = msm_ioremap(pdev, "disp_cc_base", ctrl->name); ptr = msm_ioremap(pdev, "disp_cc_base", ctrl->name);
if (IS_ERR(ptr)) { if (IS_ERR(ptr)) {
DSI_CTRL_ERR(ctrl, "disp_cc base address not found for\n"); DSI_CTRL_ERR(ctrl, "disp_cc base address not found for\n");

View File

@@ -49,6 +49,7 @@
* @DSI_CTRL_VERSION_2_4: DSI host v2.4 controller * @DSI_CTRL_VERSION_2_4: DSI host v2.4 controller
* @DSI_CTRL_VERSION_2_5: DSI host v2.5 controller * @DSI_CTRL_VERSION_2_5: DSI host v2.5 controller
* @DSI_CTRL_VERSION_2_6: DSI host v2.6 controller * @DSI_CTRL_VERSION_2_6: DSI host v2.6 controller
* @DSI_CTRL_VERSION_2_7: DSI host v2.7 controller
* @DSI_CTRL_VERSION_MAX: max version * @DSI_CTRL_VERSION_MAX: max version
*/ */
enum dsi_ctrl_version { enum dsi_ctrl_version {
@@ -58,6 +59,7 @@ enum dsi_ctrl_version {
DSI_CTRL_VERSION_2_4, DSI_CTRL_VERSION_2_4,
DSI_CTRL_VERSION_2_5, DSI_CTRL_VERSION_2_5,
DSI_CTRL_VERSION_2_6, DSI_CTRL_VERSION_2_6,
DSI_CTRL_VERSION_2_7,
DSI_CTRL_VERSION_MAX DSI_CTRL_VERSION_MAX
}; };

View File

@@ -71,6 +71,14 @@ static const struct dsi_ver_spec_info dsi_phy_v4_3 = {
.timing_cfg_count = 14, .timing_cfg_count = 14,
}; };
static const struct dsi_ver_spec_info dsi_phy_v5_2 = {
.version = DSI_PHY_VERSION_5_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[] = { static const struct of_device_id msm_dsi_phy_of_match[] = {
{ .compatible = "qcom,dsi-phy-v3.0", { .compatible = "qcom,dsi-phy-v3.0",
.data = &dsi_phy_v3_0,}, .data = &dsi_phy_v3_0,},
@@ -82,6 +90,8 @@ static const struct of_device_id msm_dsi_phy_of_match[] = {
.data = &dsi_phy_v4_2,}, .data = &dsi_phy_v4_2,},
{ .compatible = "qcom,dsi-phy-v4.3", { .compatible = "qcom,dsi-phy-v4.3",
.data = &dsi_phy_v4_3,}, .data = &dsi_phy_v4_3,},
{ .compatible = "qcom,dsi-phy-v5.2",
.data = &dsi_phy_v5_2,},
{} {}
}; };

View File

@@ -34,6 +34,7 @@
* @DSI_PHY_VERSION_4_1: 7nm * @DSI_PHY_VERSION_4_1: 7nm
* @DSI_PHY_VERSION_4_2: 5nm * @DSI_PHY_VERSION_4_2: 5nm
* @DSI_PHY_VERSION_4_3: 5nm * @DSI_PHY_VERSION_4_3: 5nm
* @DSI_PHY_VERSION_5_2: 4nm
* @DSI_PHY_VERSION_MAX: * @DSI_PHY_VERSION_MAX:
*/ */
enum dsi_phy_version { enum dsi_phy_version {
@@ -43,6 +44,7 @@ enum dsi_phy_version {
DSI_PHY_VERSION_4_1, /* 7nm */ DSI_PHY_VERSION_4_1, /* 7nm */
DSI_PHY_VERSION_4_2, /* 5nm */ DSI_PHY_VERSION_4_2, /* 5nm */
DSI_PHY_VERSION_4_3, /* 5nm */ DSI_PHY_VERSION_4_3, /* 5nm */
DSI_PHY_VERSION_5_2, /* 4nm */
DSI_PHY_VERSION_MAX DSI_PHY_VERSION_MAX
}; };

View File

@@ -994,6 +994,7 @@ int dsi_phy_timing_calc_init(struct dsi_phy_hw *phy,
case DSI_PHY_VERSION_4_1: case DSI_PHY_VERSION_4_1:
case DSI_PHY_VERSION_4_2: case DSI_PHY_VERSION_4_2:
case DSI_PHY_VERSION_4_3: case DSI_PHY_VERSION_4_3:
case DSI_PHY_VERSION_5_2:
ops->get_default_phy_params = ops->get_default_phy_params =
dsi_phy_hw_v4_0_get_default_phy_params; dsi_phy_hw_v4_0_get_default_phy_params;
ops->calc_clk_zero = ops->calc_clk_zero =