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:
@@ -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:
|
||||||
|
@@ -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");
|
||||||
|
@@ -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
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -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,},
|
||||||
{}
|
{}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -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
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -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 =
|
||||||
|
Reference in New Issue
Block a user