|
@@ -168,6 +168,7 @@ static int panel_simple_disable(struct drm_panel *panel)
|
|
|
|
|
|
if (p->backlight) {
|
|
|
p->backlight->props.power = FB_BLANK_POWERDOWN;
|
|
|
+ p->backlight->props.state |= BL_CORE_FBBLANK;
|
|
|
backlight_update_status(p->backlight);
|
|
|
}
|
|
|
|
|
@@ -235,6 +236,7 @@ static int panel_simple_enable(struct drm_panel *panel)
|
|
|
msleep(p->desc->delay.enable);
|
|
|
|
|
|
if (p->backlight) {
|
|
|
+ p->backlight->props.state &= ~BL_CORE_FBBLANK;
|
|
|
p->backlight->props.power = FB_BLANK_UNBLANK;
|
|
|
backlight_update_status(p->backlight);
|
|
|
}
|
|
@@ -964,8 +966,8 @@ static const struct panel_desc innolux_zj070na_01p = {
|
|
|
.num_modes = 1,
|
|
|
.bpc = 6,
|
|
|
.size = {
|
|
|
- .width = 1024,
|
|
|
- .height = 600,
|
|
|
+ .width = 154,
|
|
|
+ .height = 90,
|
|
|
},
|
|
|
};
|
|
|
|
|
@@ -1017,6 +1019,51 @@ static const struct panel_desc lg_lb070wv8 = {
|
|
|
.bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
|
|
|
};
|
|
|
|
|
|
+static const struct drm_display_mode lg_lp079qx1_sp0v_mode = {
|
|
|
+ .clock = 200000,
|
|
|
+ .hdisplay = 1536,
|
|
|
+ .hsync_start = 1536 + 12,
|
|
|
+ .hsync_end = 1536 + 12 + 16,
|
|
|
+ .htotal = 1536 + 12 + 16 + 48,
|
|
|
+ .vdisplay = 2048,
|
|
|
+ .vsync_start = 2048 + 8,
|
|
|
+ .vsync_end = 2048 + 8 + 4,
|
|
|
+ .vtotal = 2048 + 8 + 4 + 8,
|
|
|
+ .vrefresh = 60,
|
|
|
+ .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
|
|
|
+};
|
|
|
+
|
|
|
+static const struct panel_desc lg_lp079qx1_sp0v = {
|
|
|
+ .modes = &lg_lp079qx1_sp0v_mode,
|
|
|
+ .num_modes = 1,
|
|
|
+ .size = {
|
|
|
+ .width = 129,
|
|
|
+ .height = 171,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static const struct drm_display_mode lg_lp097qx1_spa1_mode = {
|
|
|
+ .clock = 205210,
|
|
|
+ .hdisplay = 2048,
|
|
|
+ .hsync_start = 2048 + 150,
|
|
|
+ .hsync_end = 2048 + 150 + 5,
|
|
|
+ .htotal = 2048 + 150 + 5 + 5,
|
|
|
+ .vdisplay = 1536,
|
|
|
+ .vsync_start = 1536 + 3,
|
|
|
+ .vsync_end = 1536 + 3 + 1,
|
|
|
+ .vtotal = 1536 + 3 + 1 + 9,
|
|
|
+ .vrefresh = 60,
|
|
|
+};
|
|
|
+
|
|
|
+static const struct panel_desc lg_lp097qx1_spa1 = {
|
|
|
+ .modes = &lg_lp097qx1_spa1_mode,
|
|
|
+ .num_modes = 1,
|
|
|
+ .size = {
|
|
|
+ .width = 208,
|
|
|
+ .height = 147,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
static const struct drm_display_mode lg_lp120up1_mode = {
|
|
|
.clock = 162300,
|
|
|
.hdisplay = 1920,
|
|
@@ -1224,6 +1271,28 @@ static const struct panel_desc qd43003c0_40 = {
|
|
|
.bus_format = MEDIA_BUS_FMT_RGB888_1X24,
|
|
|
};
|
|
|
|
|
|
+static const struct drm_display_mode samsung_lsn122dl01_c01_mode = {
|
|
|
+ .clock = 271560,
|
|
|
+ .hdisplay = 2560,
|
|
|
+ .hsync_start = 2560 + 48,
|
|
|
+ .hsync_end = 2560 + 48 + 32,
|
|
|
+ .htotal = 2560 + 48 + 32 + 80,
|
|
|
+ .vdisplay = 1600,
|
|
|
+ .vsync_start = 1600 + 2,
|
|
|
+ .vsync_end = 1600 + 2 + 5,
|
|
|
+ .vtotal = 1600 + 2 + 5 + 57,
|
|
|
+ .vrefresh = 60,
|
|
|
+};
|
|
|
+
|
|
|
+static const struct panel_desc samsung_lsn122dl01_c01 = {
|
|
|
+ .modes = &samsung_lsn122dl01_c01_mode,
|
|
|
+ .num_modes = 1,
|
|
|
+ .size = {
|
|
|
+ .width = 263,
|
|
|
+ .height = 164,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
static const struct drm_display_mode samsung_ltn101nt05_mode = {
|
|
|
.clock = 54030,
|
|
|
.hdisplay = 1024,
|
|
@@ -1242,8 +1311,8 @@ static const struct panel_desc samsung_ltn101nt05 = {
|
|
|
.num_modes = 1,
|
|
|
.bpc = 6,
|
|
|
.size = {
|
|
|
- .width = 1024,
|
|
|
- .height = 600,
|
|
|
+ .width = 223,
|
|
|
+ .height = 125,
|
|
|
},
|
|
|
};
|
|
|
|
|
@@ -1270,6 +1339,53 @@ static const struct panel_desc samsung_ltn140at29_301 = {
|
|
|
},
|
|
|
};
|
|
|
|
|
|
+static const struct display_timing sharp_lq101k1ly04_timing = {
|
|
|
+ .pixelclock = { 60000000, 65000000, 80000000 },
|
|
|
+ .hactive = { 1280, 1280, 1280 },
|
|
|
+ .hfront_porch = { 20, 20, 20 },
|
|
|
+ .hback_porch = { 20, 20, 20 },
|
|
|
+ .hsync_len = { 10, 10, 10 },
|
|
|
+ .vactive = { 800, 800, 800 },
|
|
|
+ .vfront_porch = { 4, 4, 4 },
|
|
|
+ .vback_porch = { 4, 4, 4 },
|
|
|
+ .vsync_len = { 4, 4, 4 },
|
|
|
+ .flags = DISPLAY_FLAGS_PIXDATA_POSEDGE,
|
|
|
+};
|
|
|
+
|
|
|
+static const struct panel_desc sharp_lq101k1ly04 = {
|
|
|
+ .timings = &sharp_lq101k1ly04_timing,
|
|
|
+ .num_timings = 1,
|
|
|
+ .bpc = 8,
|
|
|
+ .size = {
|
|
|
+ .width = 217,
|
|
|
+ .height = 136,
|
|
|
+ },
|
|
|
+ .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA,
|
|
|
+};
|
|
|
+
|
|
|
+static const struct drm_display_mode sharp_lq123p1jx31_mode = {
|
|
|
+ .clock = 252750,
|
|
|
+ .hdisplay = 2400,
|
|
|
+ .hsync_start = 2400 + 48,
|
|
|
+ .hsync_end = 2400 + 48 + 32,
|
|
|
+ .htotal = 2400 + 48 + 32 + 80,
|
|
|
+ .vdisplay = 1600,
|
|
|
+ .vsync_start = 1600 + 3,
|
|
|
+ .vsync_end = 1600 + 3 + 10,
|
|
|
+ .vtotal = 1600 + 3 + 10 + 33,
|
|
|
+ .vrefresh = 60,
|
|
|
+ .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
|
|
|
+};
|
|
|
+
|
|
|
+static const struct panel_desc sharp_lq123p1jx31 = {
|
|
|
+ .modes = &sharp_lq123p1jx31_mode,
|
|
|
+ .num_modes = 1,
|
|
|
+ .size = {
|
|
|
+ .width = 259,
|
|
|
+ .height = 173,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
static const struct drm_display_mode shelly_sca07010_bfn_lnn_mode = {
|
|
|
.clock = 33300,
|
|
|
.hdisplay = 800,
|
|
@@ -1293,6 +1409,29 @@ static const struct panel_desc shelly_sca07010_bfn_lnn = {
|
|
|
.bus_format = MEDIA_BUS_FMT_RGB666_1X18,
|
|
|
};
|
|
|
|
|
|
+static const struct drm_display_mode starry_kr122ea0sra_mode = {
|
|
|
+ .clock = 147000,
|
|
|
+ .hdisplay = 1920,
|
|
|
+ .hsync_start = 1920 + 16,
|
|
|
+ .hsync_end = 1920 + 16 + 16,
|
|
|
+ .htotal = 1920 + 16 + 16 + 32,
|
|
|
+ .vdisplay = 1200,
|
|
|
+ .vsync_start = 1200 + 15,
|
|
|
+ .vsync_end = 1200 + 15 + 2,
|
|
|
+ .vtotal = 1200 + 15 + 2 + 18,
|
|
|
+ .vrefresh = 60,
|
|
|
+ .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
|
|
|
+};
|
|
|
+
|
|
|
+static const struct panel_desc starry_kr122ea0sra = {
|
|
|
+ .modes = &starry_kr122ea0sra_mode,
|
|
|
+ .num_modes = 1,
|
|
|
+ .size = {
|
|
|
+ .width = 263,
|
|
|
+ .height = 164,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
static const struct drm_display_mode tpk_f07a_0102_mode = {
|
|
|
.clock = 33260,
|
|
|
.hdisplay = 800,
|
|
@@ -1456,6 +1595,12 @@ static const struct of_device_id platform_of_match[] = {
|
|
|
}, {
|
|
|
.compatible = "lg,lb070wv8",
|
|
|
.data = &lg_lb070wv8,
|
|
|
+ }, {
|
|
|
+ .compatible = "lg,lp079qx1-sp0v",
|
|
|
+ .data = &lg_lp079qx1_sp0v,
|
|
|
+ }, {
|
|
|
+ .compatible = "lg,lp097qx1-spa1",
|
|
|
+ .data = &lg_lp097qx1_spa1,
|
|
|
}, {
|
|
|
.compatible = "lg,lp120up1",
|
|
|
.data = &lg_lp120up1,
|
|
@@ -1480,15 +1625,27 @@ static const struct of_device_id platform_of_match[] = {
|
|
|
}, {
|
|
|
.compatible = "qiaodian,qd43003c0-40",
|
|
|
.data = &qd43003c0_40,
|
|
|
+ }, {
|
|
|
+ .compatible = "samsung,lsn122dl01-c01",
|
|
|
+ .data = &samsung_lsn122dl01_c01,
|
|
|
}, {
|
|
|
.compatible = "samsung,ltn101nt05",
|
|
|
.data = &samsung_ltn101nt05,
|
|
|
}, {
|
|
|
.compatible = "samsung,ltn140at29-301",
|
|
|
.data = &samsung_ltn140at29_301,
|
|
|
+ }, {
|
|
|
+ .compatible = "sharp,lq101k1ly04",
|
|
|
+ .data = &sharp_lq101k1ly04,
|
|
|
+ }, {
|
|
|
+ .compatible = "sharp,lq123p1jx31",
|
|
|
+ .data = &sharp_lq123p1jx31,
|
|
|
}, {
|
|
|
.compatible = "shelly,sca07010-bfn-lnn",
|
|
|
.data = &shelly_sca07010_bfn_lnn,
|
|
|
+ }, {
|
|
|
+ .compatible = "starry,kr122ea0sra",
|
|
|
+ .data = &starry_kr122ea0sra,
|
|
|
}, {
|
|
|
.compatible = "tpk,f07a-0102",
|
|
|
.data = &tpk_f07a_0102,
|
|
@@ -1701,7 +1858,6 @@ static const struct panel_desc_dsi panasonic_vvx10f004b00 = {
|
|
|
.lanes = 4,
|
|
|
};
|
|
|
|
|
|
-
|
|
|
static const struct of_device_id dsi_of_match[] = {
|
|
|
{
|
|
|
.compatible = "auo,b080uan01",
|