drm/msm/dsi: Add support for MSM8998 DSI controller
authorJeffrey Hugo <jeffrey.l.hugo@gmail.com>
Thu, 30 May 2019 16:00:59 +0000 (09:00 -0700)
committerRob Clark <robdclark@chromium.org>
Tue, 18 Jun 2019 20:56:43 +0000 (13:56 -0700)
The DSI controller on the MSM8998 SoC is a 6G v2.0.0 controller which is
very similar to the v2.0.1 of SDM845.

Signed-off-by: Jeffrey Hugo <jeffrey.l.hugo@gmail.com>
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 dcdfb1bb54f98a164a8db5d785cd01e8b884c5bd..7dd17b59c69d64eea39b0e41baf1235f1a62b96c 100644 (file)
@@ -118,6 +118,25 @@ static const struct msm_dsi_config msm8996_dsi_cfg = {
        .num_dsi = 2,
 };
 
+static const char * const dsi_msm8998_bus_clk_names[] = {
+       "iface", "bus", "core",
+};
+
+static const struct msm_dsi_config msm8998_dsi_cfg = {
+       .io_offset = DSI_6G_REG_SHIFT,
+       .reg_cfg = {
+               .num = 2,
+               .regs = {
+                       {"vdd", 367000, 16 },   /* 0.9 V */
+                       {"vdda", 62800, 2 },    /* 1.2 V */
+               },
+       },
+       .bus_clk_names = dsi_msm8998_bus_clk_names,
+       .num_bus_clks = ARRAY_SIZE(dsi_msm8998_bus_clk_names),
+       .io_start = { 0xc994000, 0xc996000 },
+       .num_dsi = 2,
+};
+
 static const char * const dsi_sdm845_bus_clk_names[] = {
        "iface", "bus",
 };
@@ -186,6 +205,8 @@ static const struct msm_dsi_cfg_handler dsi_cfg_handlers[] = {
                &msm8916_dsi_cfg, &msm_dsi_6g_host_ops},
        {MSM_DSI_VER_MAJOR_6G, MSM_DSI_6G_VER_MINOR_V1_4_1,
                &msm8996_dsi_cfg, &msm_dsi_6g_host_ops},
+       {MSM_DSI_VER_MAJOR_6G, MSM_DSI_6G_VER_MINOR_V2_2_0,
+               &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},
 };
index 16c5079111109ca71f3192b2480cdb2c0003bcaa..4f63b57b19dcf12fef50033a5014005433a3a823 100644 (file)
@@ -25,6 +25,7 @@
 #define MSM_DSI_6G_VER_MINOR_V1_3      0x10030000
 #define MSM_DSI_6G_VER_MINOR_V1_3_1    0x10030001
 #define MSM_DSI_6G_VER_MINOR_V1_4_1    0x10040001
+#define MSM_DSI_6G_VER_MINOR_V2_2_0    0x20000000
 #define MSM_DSI_6G_VER_MINOR_V2_2_1    0x20020001
 
 #define MSM_DSI_V2_VER_MINOR_8064      0x0