drm/msm/dp: Add DP and EDP compatibles for SC8280XP
authorBjorn Andersson <bjorn.andersson@linaro.org>
Wed, 7 Dec 2022 22:00:06 +0000 (14:00 -0800)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Mon, 9 Jan 2023 01:06:43 +0000 (03:06 +0200)
The SC8280XP platform has four DisplayPort controllers, per MDSS
instance, all with widebus support.

The first two are defined to be DisplayPort only, while the latter pair
(of each instance) can be either DisplayPort or Embedded DisplayPort.
The two sets are tied to the possible compatibels.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
Reviewed-by: Kuogee Hsieh <quic_khsieh@quicinc.com>
Patchwork: https://patchwork.freedesktop.org/patch/514394/
Link: https://lore.kernel.org/r/20221207220012.16529-7-quic_bjorande@quicinc.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drivers/gpu/drm/msm/dp/dp_display.c
drivers/gpu/drm/msm/msm_drv.h

index 63660eb..face60b 100644 (file)
@@ -145,6 +145,26 @@ static const struct msm_dp_desc sc8180x_dp_descs[] = {
        {}
 };
 
+static const struct msm_dp_desc sc8280xp_dp_descs[] = {
+       { .io_start = 0x0ae90000, .id = MSM_DP_CONTROLLER_0, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true },
+       { .io_start = 0x0ae98000, .id = MSM_DP_CONTROLLER_1, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true },
+       { .io_start = 0x0ae9a000, .id = MSM_DP_CONTROLLER_2, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true },
+       { .io_start = 0x0aea0000, .id = MSM_DP_CONTROLLER_3, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true },
+       { .io_start = 0x22090000, .id = MSM_DP_CONTROLLER_0, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true },
+       { .io_start = 0x22098000, .id = MSM_DP_CONTROLLER_1, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true },
+       { .io_start = 0x2209a000, .id = MSM_DP_CONTROLLER_2, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true },
+       { .io_start = 0x220a0000, .id = MSM_DP_CONTROLLER_3, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true },
+       {}
+};
+
+static const struct msm_dp_desc sc8280xp_edp_descs[] = {
+       { .io_start = 0x0ae9a000, .id = MSM_DP_CONTROLLER_2, .connector_type = DRM_MODE_CONNECTOR_eDP, .wide_bus_en = true },
+       { .io_start = 0x0aea0000, .id = MSM_DP_CONTROLLER_3, .connector_type = DRM_MODE_CONNECTOR_eDP, .wide_bus_en = true },
+       { .io_start = 0x2209a000, .id = MSM_DP_CONTROLLER_2, .connector_type = DRM_MODE_CONNECTOR_eDP, .wide_bus_en = true },
+       { .io_start = 0x220a0000, .id = MSM_DP_CONTROLLER_3, .connector_type = DRM_MODE_CONNECTOR_eDP, .wide_bus_en = true },
+       {}
+};
+
 static const struct msm_dp_desc sm8350_dp_descs[] = {
        { .io_start = 0x0ae90000, .id = MSM_DP_CONTROLLER_0, .connector_type = DRM_MODE_CONNECTOR_DisplayPort },
        {}
@@ -156,6 +176,8 @@ static const struct of_device_id dp_dt_match[] = {
        { .compatible = "qcom,sc7280-edp", .data = &sc7280_dp_descs },
        { .compatible = "qcom,sc8180x-dp", .data = &sc8180x_dp_descs },
        { .compatible = "qcom,sc8180x-edp", .data = &sc8180x_dp_descs },
+       { .compatible = "qcom,sc8280xp-dp", .data = &sc8280xp_dp_descs },
+       { .compatible = "qcom,sc8280xp-edp", .data = &sc8280xp_edp_descs },
        { .compatible = "qcom,sm8350-dp", .data = &sm8350_dp_descs },
        {}
 };
index b2ea262..2dd342e 100644 (file)
@@ -61,6 +61,7 @@ enum msm_dp_controller {
        MSM_DP_CONTROLLER_0,
        MSM_DP_CONTROLLER_1,
        MSM_DP_CONTROLLER_2,
+       MSM_DP_CONTROLLER_3,
        MSM_DP_CONTROLLER_COUNT,
 };