| @@ -168,6 +168,7 @@ static int panel_simple_disable(struct drm_panel *panel) · 167 unmodified lines |
| 168 | 168 | |
| 169 | 169 | if (p->backlight) { |
| 170 | 170 | p->backlight->props.power = FB_BLANK_POWERDOWN; |
| 171 | + p->backlight->props.state |= BL_CORE_FBBLANK; |
| 171 | 172 | backlight_update_status(p->backlight); |
| 172 | 173 | } |
| 173 | 174 | |
| @@ -235,6 +236,7 @@ static int panel_simple_enable(struct drm_panel *panel) · 61 unmodified lines |
| 235 | 236 | msleep(p->desc->delay.enable); |
| 236 | 237 | |
| 237 | 238 | if (p->backlight) { |
| 239 | + p->backlight->props.state &= ~BL_CORE_FBBLANK; |
| 238 | 240 | p->backlight->props.power = FB_BLANK_UNBLANK; |
| 239 | 241 | backlight_update_status(p->backlight); |
| 240 | 242 | } |
| @@ -964,8 +966,8 @@ static const struct panel_desc innolux_zj070na_01p = { · 723 unmodified lines |
| 964 | 966 | .num_modes = 1, |
| 965 | 967 | .bpc = 6, |
| 966 | 968 | .size = { |
| 967 | | − .width = 1024, |
| 968 | | − .height = 600, |
| 969 | + .width = 154, |
| 970 | + .height = 90, |
| 969 | 971 | }, |
| 970 | 972 | }; |
| 971 | 973 | |
| @@ -1017,6 +1019,51 @@ static const struct panel_desc lg_lb070wv8 = { · 45 unmodified lines |
| 1017 | 1019 | .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG, |
| 1018 | 1020 | }; |
| 1019 | 1021 | |
| 1022 | +static const struct drm_display_mode lg_lp079qx1_sp0v_mode = { |
| 1023 | + .clock = 200000, |
| 1024 | + .hdisplay = 1536, |
| 1025 | + .hsync_start = 1536 + 12, |
| 1026 | + .hsync_end = 1536 + 12 + 16, |
| 1027 | + .htotal = 1536 + 12 + 16 + 48, |
| 1028 | + .vdisplay = 2048, |
| 1029 | + .vsync_start = 2048 + 8, |
| 1030 | + .vsync_end = 2048 + 8 + 4, |
| 1031 | + .vtotal = 2048 + 8 + 4 + 8, |
| 1032 | + .vrefresh = 60, |
| 1033 | + .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, |
| 1034 | +}; |
| 1035 | + |
| 1036 | +static const struct panel_desc lg_lp079qx1_sp0v = { |
| 1037 | + .modes = &lg_lp079qx1_sp0v_mode, |
| 1038 | + .num_modes = 1, |
| 1039 | + .size = { |
| 1040 | + .width = 129, |
| 1041 | + .height = 171, |
| 1042 | + }, |
| 1043 | +}; |
| 1044 | + |
| 1045 | +static const struct drm_display_mode lg_lp097qx1_spa1_mode = { |
| 1046 | + .clock = 205210, |
| 1047 | + .hdisplay = 2048, |
| 1048 | + .hsync_start = 2048 + 150, |
| 1049 | + .hsync_end = 2048 + 150 + 5, |
| 1050 | + .htotal = 2048 + 150 + 5 + 5, |
| 1051 | + .vdisplay = 1536, |
| 1052 | + .vsync_start = 1536 + 3, |
| 1053 | + .vsync_end = 1536 + 3 + 1, |
| 1054 | + .vtotal = 1536 + 3 + 1 + 9, |
| 1055 | + .vrefresh = 60, |
| 1056 | +}; |
| 1057 | + |
| 1058 | +static const struct panel_desc lg_lp097qx1_spa1 = { |
| 1059 | + .modes = &lg_lp097qx1_spa1_mode, |
| 1060 | + .num_modes = 1, |
| 1061 | + .size = { |
| 1062 | + .width = 208, |
| 1063 | + .height = 147, |
| 1064 | + }, |
| 1065 | +}; |
| 1066 | + |
| 1020 | 1067 | static const struct drm_display_mode lg_lp120up1_mode = { |
| 1021 | 1068 | .clock = 162300, |
| 1022 | 1069 | .hdisplay = 1920, |
| @@ -1224,6 +1271,28 @@ static const struct panel_desc qd43003c0_40 = { · 201 unmodified lines |
| 1224 | 1271 | .bus_format = MEDIA_BUS_FMT_RGB888_1X24, |
| 1225 | 1272 | }; |
| 1226 | 1273 | |
| 1274 | +static const struct drm_display_mode samsung_lsn122dl01_c01_mode = { |
| 1275 | + .clock = 271560, |
| 1276 | + .hdisplay = 2560, |
| 1277 | + .hsync_start = 2560 + 48, |
| 1278 | + .hsync_end = 2560 + 48 + 32, |
| 1279 | + .htotal = 2560 + 48 + 32 + 80, |
| 1280 | + .vdisplay = 1600, |
| 1281 | + .vsync_start = 1600 + 2, |
| 1282 | + .vsync_end = 1600 + 2 + 5, |
| 1283 | + .vtotal = 1600 + 2 + 5 + 57, |
| 1284 | + .vrefresh = 60, |
| 1285 | +}; |
| 1286 | + |
| 1287 | +static const struct panel_desc samsung_lsn122dl01_c01 = { |
| 1288 | + .modes = &samsung_lsn122dl01_c01_mode, |
| 1289 | + .num_modes = 1, |
| 1290 | + .size = { |
| 1291 | + .width = 263, |
| 1292 | + .height = 164, |
| 1293 | + }, |
| 1294 | +}; |
| 1295 | + |
| 1227 | 1296 | static const struct drm_display_mode samsung_ltn101nt05_mode = { |
| 1228 | 1297 | .clock = 54030, |
| 1229 | 1298 | .hdisplay = 1024, |
| @@ -1242,8 +1311,8 @@ static const struct panel_desc samsung_ltn101nt05 = { · 12 unmodified lines |
| 1242 | 1311 | .num_modes = 1, |
| 1243 | 1312 | .bpc = 6, |
| 1244 | 1313 | .size = { |
| 1245 | | − .width = 1024, |
| 1246 | | − .height = 600, |
| 1314 | + .width = 223, |
| 1315 | + .height = 125, |
| 1247 | 1316 | }, |
| 1248 | 1317 | }; |
| 1249 | 1318 | |
| @@ -1270,6 +1339,53 @@ static const struct panel_desc samsung_ltn140at29_301 = { · 20 unmodified lines |
| 1270 | 1339 | }, |
| 1271 | 1340 | }; |
| 1272 | 1341 | |
| 1342 | +static const struct display_timing sharp_lq101k1ly04_timing = { |
| 1343 | + .pixelclock = { 60000000, 65000000, 80000000 }, |
| 1344 | + .hactive = { 1280, 1280, 1280 }, |
| 1345 | + .hfront_porch = { 20, 20, 20 }, |
| 1346 | + .hback_porch = { 20, 20, 20 }, |
| 1347 | + .hsync_len = { 10, 10, 10 }, |
| 1348 | + .vactive = { 800, 800, 800 }, |
| 1349 | + .vfront_porch = { 4, 4, 4 }, |
| 1350 | + .vback_porch = { 4, 4, 4 }, |
| 1351 | + .vsync_len = { 4, 4, 4 }, |
| 1352 | + .flags = DISPLAY_FLAGS_PIXDATA_POSEDGE, |
| 1353 | +}; |
| 1354 | + |
| 1355 | +static const struct panel_desc sharp_lq101k1ly04 = { |
| 1356 | + .timings = &sharp_lq101k1ly04_timing, |
| 1357 | + .num_timings = 1, |
| 1358 | + .bpc = 8, |
| 1359 | + .size = { |
| 1360 | + .width = 217, |
| 1361 | + .height = 136, |
| 1362 | + }, |
| 1363 | + .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA, |
| 1364 | +}; |
| 1365 | + |
| 1366 | +static const struct drm_display_mode sharp_lq123p1jx31_mode = { |
| 1367 | + .clock = 252750, |
| 1368 | + .hdisplay = 2400, |
| 1369 | + .hsync_start = 2400 + 48, |
| 1370 | + .hsync_end = 2400 + 48 + 32, |
| 1371 | + .htotal = 2400 + 48 + 32 + 80, |
| 1372 | + .vdisplay = 1600, |
| 1373 | + .vsync_start = 1600 + 3, |
| 1374 | + .vsync_end = 1600 + 3 + 10, |
| 1375 | + .vtotal = 1600 + 3 + 10 + 33, |
| 1376 | + .vrefresh = 60, |
| 1377 | + .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, |
| 1378 | +}; |
| 1379 | + |
| 1380 | +static const struct panel_desc sharp_lq123p1jx31 = { |
| 1381 | + .modes = &sharp_lq123p1jx31_mode, |
| 1382 | + .num_modes = 1, |
| 1383 | + .size = { |
| 1384 | + .width = 259, |
| 1385 | + .height = 173, |
| 1386 | + }, |
| 1387 | +}; |
| 1388 | + |
| 1273 | 1389 | static const struct drm_display_mode shelly_sca07010_bfn_lnn_mode = { |
| 1274 | 1390 | .clock = 33300, |
| 1275 | 1391 | .hdisplay = 800, |
| @@ -1293,6 +1409,29 @@ static const struct panel_desc shelly_sca07010_bfn_lnn = { · 17 unmodified lines |
| 1293 | 1409 | .bus_format = MEDIA_BUS_FMT_RGB666_1X18, |
| 1294 | 1410 | }; |
| 1295 | 1411 | |
| 1412 | +static const struct drm_display_mode starry_kr122ea0sra_mode = { |
| 1413 | + .clock = 147000, |
| 1414 | + .hdisplay = 1920, |
| 1415 | + .hsync_start = 1920 + 16, |
| 1416 | + .hsync_end = 1920 + 16 + 16, |
| 1417 | + .htotal = 1920 + 16 + 16 + 32, |
| 1418 | + .vdisplay = 1200, |
| 1419 | + .vsync_start = 1200 + 15, |
| 1420 | + .vsync_end = 1200 + 15 + 2, |
| 1421 | + .vtotal = 1200 + 15 + 2 + 18, |
| 1422 | + .vrefresh = 60, |
| 1423 | + .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, |
| 1424 | +}; |
| 1425 | + |
| 1426 | +static const struct panel_desc starry_kr122ea0sra = { |
| 1427 | + .modes = &starry_kr122ea0sra_mode, |
| 1428 | + .num_modes = 1, |
| 1429 | + .size = { |
| 1430 | + .width = 263, |
| 1431 | + .height = 164, |
| 1432 | + }, |
| 1433 | +}; |
| 1434 | + |
| 1296 | 1435 | static const struct drm_display_mode tpk_f07a_0102_mode = { |
| 1297 | 1436 | .clock = 33260, |
| 1298 | 1437 | .hdisplay = 800, |
| @@ -1456,6 +1595,12 @@ static const struct of_device_id platform_of_match[] = { · 157 unmodified lines |
| 1456 | 1595 | }, { |
| 1457 | 1596 | .compatible = "lg,lb070wv8", |
| 1458 | 1597 | .data = &lg_lb070wv8, |
| 1598 | + }, { |
| 1599 | + .compatible = "lg,lp079qx1-sp0v", |
| 1600 | + .data = &lg_lp079qx1_sp0v, |
| 1601 | + }, { |
| 1602 | + .compatible = "lg,lp097qx1-spa1", |
| 1603 | + .data = &lg_lp097qx1_spa1, |
| 1459 | 1604 | }, { |
| 1460 | 1605 | .compatible = "lg,lp120up1", |
| 1461 | 1606 | .data = &lg_lp120up1, |
| @@ -1480,15 +1625,27 @@ static const struct of_device_id platform_of_match[] = { · 18 unmodified lines |
| 1480 | 1625 | }, { |
| 1481 | 1626 | .compatible = "qiaodian,qd43003c0-40", |
| 1482 | 1627 | .data = &qd43003c0_40, |
| 1628 | + }, { |
| 1629 | + .compatible = "samsung,lsn122dl01-c01", |
| 1630 | + .data = &samsung_lsn122dl01_c01, |
| 1483 | 1631 | }, { |
| 1484 | 1632 | .compatible = "samsung,ltn101nt05", |
| 1485 | 1633 | .data = &samsung_ltn101nt05, |
| 1486 | 1634 | }, { |
| 1487 | 1635 | .compatible = "samsung,ltn140at29-301", |
| 1488 | 1636 | .data = &samsung_ltn140at29_301, |
| 1637 | + }, { |
| 1638 | + .compatible = "sharp,lq101k1ly04", |
| 1639 | + .data = &sharp_lq101k1ly04, |
| 1640 | + }, { |
| 1641 | + .compatible = "sharp,lq123p1jx31", |
| 1642 | + .data = &sharp_lq123p1jx31, |
| 1489 | 1643 | }, { |
| 1490 | 1644 | .compatible = "shelly,sca07010-bfn-lnn", |
| 1491 | 1645 | .data = &shelly_sca07010_bfn_lnn, |
| 1646 | + }, { |
| 1647 | + .compatible = "starry,kr122ea0sra", |
| 1648 | + .data = &starry_kr122ea0sra, |
| 1492 | 1649 | }, { |
| 1493 | 1650 | .compatible = "tpk,f07a-0102", |
| 1494 | 1651 | .data = &tpk_f07a_0102, |
| @@ -1701,7 +1858,6 @@ static const struct panel_desc_dsi panasonic_vvx10f004b00 = { · 206 unmodified lines |
| 1701 | 1858 | .lanes = 4, |
| 1702 | 1859 | }; |
| 1703 | 1860 | |
| 1704 | | − |
| 1705 | 1861 | static const struct of_device_id dsi_of_match[] = { |
| 1706 | 1862 | { |
| 1707 | 1863 | .compatible = "auo,b080uan01", |