drm/msm: add DSI support for sc7180
authorHarigovindan P <harigovi@codeaurora.org>
Mon, 6 Jan 2020 05:13:49 +0000 (10:43 +0530)
committerRob Clark <robdclark@chromium.org>
Tue, 7 Jan 2020 16:25:56 +0000 (08:25 -0800)
Add support for v2.4.1 DSI block in the sc7180 SoC.

Changes in v1:
-Modify commit text to indicate DSI version and SOC detail(Jeffrey Hugo).
-Splitting visionox panel driver code out into a
 different patch(set), since panel drivers are merged into
 drm-next via a different tree(Rob Clark).
Changes in v2:
-Update commit text accordingly(Matthias Kaehlcke).

Signed-off-by: Harigovindan P <harigovi@codeaurora.org>
[cleanup subject / commit message]
Signed-off-by: Rob Clark <robdclark@chromium.org>
drivers/gpu/drm/msm/dsi/dsi_cfg.c
drivers/gpu/drm/msm/dsi/dsi_cfg.h

index 38d514f..813d69d 100644 (file)
@@ -153,6 +153,10 @@ static const char * const dsi_sdm845_bus_clk_names[] = {
        "iface", "bus",
 };
 
+static const char * const dsi_sc7180_bus_clk_names[] = {
+       "iface", "bus",
+};
+
 static const struct msm_dsi_config sdm845_dsi_cfg = {
        .io_offset = DSI_6G_REG_SHIFT,
        .reg_cfg = {
@@ -167,6 +171,20 @@ static const struct msm_dsi_config sdm845_dsi_cfg = {
        .num_dsi = 2,
 };
 
+static const struct msm_dsi_config sc7180_dsi_cfg = {
+       .io_offset = DSI_6G_REG_SHIFT,
+       .reg_cfg = {
+               .num = 1,
+               .regs = {
+                       {"vdda", 21800, 4 },    /* 1.2 V */
+               },
+       },
+       .bus_clk_names = dsi_sc7180_bus_clk_names,
+       .num_bus_clks = ARRAY_SIZE(dsi_sc7180_bus_clk_names),
+       .io_start = { 0xae94000 },
+       .num_dsi = 1,
+};
+
 static const struct msm_dsi_host_cfg_ops msm_dsi_v2_host_ops = {
        .link_clk_set_rate = dsi_link_clk_set_rate_v2,
        .link_clk_enable = dsi_link_clk_enable_v2,
@@ -226,6 +244,9 @@ static const struct msm_dsi_cfg_handler dsi_cfg_handlers[] = {
                &msm8998_dsi_cfg, &msm_dsi_6g_v2_host_ops},
        {MSM_DSI_VER_MAJOR_6G, MSM_DSI_6G_VER_MINOR_V2_2_1,
                &sdm845_dsi_cfg, &msm_dsi_6g_v2_host_ops},
+       {MSM_DSI_VER_MAJOR_6G, MSM_DSI_6G_VER_MINOR_V2_4_1,
+               &sc7180_dsi_cfg, &msm_dsi_6g_v2_host_ops},
+
 };
 
 const struct msm_dsi_cfg_handler *msm_dsi_cfg_get(u32 major, u32 minor)
index 32a9d12..217e24a 100644 (file)
@@ -20,6 +20,7 @@
 #define MSM_DSI_6G_VER_MINOR_V1_4_2    0x10040002
 #define MSM_DSI_6G_VER_MINOR_V2_2_0    0x20000000
 #define MSM_DSI_6G_VER_MINOR_V2_2_1    0x20020001
+#define MSM_DSI_6G_VER_MINOR_V2_4_1    0x20040001
 
 #define MSM_DSI_V2_VER_MINOR_8064      0x0