aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/panel/panel-simple.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/panel/panel-simple.c')
-rw-r--r--drivers/gpu/drm/panel/panel-simple.c102
1 files changed, 102 insertions, 0 deletions
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index 06aaf79de8c8..89eb0422821c 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -668,6 +668,48 @@ static const struct panel_desc avic_tm070ddh03 = {
668 }, 668 },
669}; 669};
670 670
671static const struct drm_display_mode boe_nv101wxmn51_modes[] = {
672 {
673 .clock = 71900,
674 .hdisplay = 1280,
675 .hsync_start = 1280 + 48,
676 .hsync_end = 1280 + 48 + 32,
677 .htotal = 1280 + 48 + 32 + 80,
678 .vdisplay = 800,
679 .vsync_start = 800 + 3,
680 .vsync_end = 800 + 3 + 5,
681 .vtotal = 800 + 3 + 5 + 24,
682 .vrefresh = 60,
683 },
684 {
685 .clock = 57500,
686 .hdisplay = 1280,
687 .hsync_start = 1280 + 48,
688 .hsync_end = 1280 + 48 + 32,
689 .htotal = 1280 + 48 + 32 + 80,
690 .vdisplay = 800,
691 .vsync_start = 800 + 3,
692 .vsync_end = 800 + 3 + 5,
693 .vtotal = 800 + 3 + 5 + 24,
694 .vrefresh = 48,
695 },
696};
697
698static const struct panel_desc boe_nv101wxmn51 = {
699 .modes = boe_nv101wxmn51_modes,
700 .num_modes = ARRAY_SIZE(boe_nv101wxmn51_modes),
701 .bpc = 8,
702 .size = {
703 .width = 217,
704 .height = 136,
705 },
706 .delay = {
707 .prepare = 210,
708 .enable = 50,
709 .unprepare = 160,
710 },
711};
712
671static const struct drm_display_mode chunghwa_claa070wp03xg_mode = { 713static const struct drm_display_mode chunghwa_claa070wp03xg_mode = {
672 .clock = 66770, 714 .clock = 66770,
673 .hdisplay = 800, 715 .hdisplay = 800,
@@ -760,6 +802,8 @@ static const struct panel_desc edt_et057090dhu = {
760 .width = 115, 802 .width = 115,
761 .height = 86, 803 .height = 86,
762 }, 804 },
805 .bus_format = MEDIA_BUS_FMT_RGB666_1X18,
806 .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_NEGEDGE,
763}; 807};
764 808
765static const struct drm_display_mode edt_etm0700g0dh6_mode = { 809static const struct drm_display_mode edt_etm0700g0dh6_mode = {
@@ -784,6 +828,8 @@ static const struct panel_desc edt_etm0700g0dh6 = {
784 .width = 152, 828 .width = 152,
785 .height = 91, 829 .height = 91,
786 }, 830 },
831 .bus_format = MEDIA_BUS_FMT_RGB666_1X18,
832 .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_NEGEDGE,
787}; 833};
788 834
789static const struct drm_display_mode foxlink_fl500wvr00_a0t_mode = { 835static const struct drm_display_mode foxlink_fl500wvr00_a0t_mode = {
@@ -1277,6 +1323,29 @@ static const struct panel_desc nec_nl4827hc19_05b = {
1277 .bus_flags = DRM_BUS_FLAG_PIXDATA_POSEDGE, 1323 .bus_flags = DRM_BUS_FLAG_PIXDATA_POSEDGE,
1278}; 1324};
1279 1325
1326static const struct drm_display_mode netron_dy_e231732_mode = {
1327 .clock = 66000,
1328 .hdisplay = 1024,
1329 .hsync_start = 1024 + 160,
1330 .hsync_end = 1024 + 160 + 70,
1331 .htotal = 1024 + 160 + 70 + 90,
1332 .vdisplay = 600,
1333 .vsync_start = 600 + 127,
1334 .vsync_end = 600 + 127 + 20,
1335 .vtotal = 600 + 127 + 20 + 3,
1336 .vrefresh = 60,
1337};
1338
1339static const struct panel_desc netron_dy_e231732 = {
1340 .modes = &netron_dy_e231732_mode,
1341 .num_modes = 1,
1342 .size = {
1343 .width = 154,
1344 .height = 87,
1345 },
1346 .bus_format = MEDIA_BUS_FMT_RGB666_1X18,
1347};
1348
1280static const struct drm_display_mode nvd_9128_mode = { 1349static const struct drm_display_mode nvd_9128_mode = {
1281 .clock = 29500, 1350 .clock = 29500,
1282 .hdisplay = 800, 1351 .hdisplay = 800,
@@ -1632,6 +1701,30 @@ static const struct panel_desc starry_kr122ea0sra = {
1632 }, 1701 },
1633}; 1702};
1634 1703
1704static const struct display_timing tianma_tm070jdhg30_timing = {
1705 .pixelclock = { 62600000, 68200000, 78100000 },
1706 .hactive = { 1280, 1280, 1280 },
1707 .hfront_porch = { 15, 64, 159 },
1708 .hback_porch = { 5, 5, 5 },
1709 .hsync_len = { 1, 1, 256 },
1710 .vactive = { 800, 800, 800 },
1711 .vfront_porch = { 3, 40, 99 },
1712 .vback_porch = { 2, 2, 2 },
1713 .vsync_len = { 1, 1, 128 },
1714 .flags = DISPLAY_FLAGS_DE_HIGH,
1715};
1716
1717static const struct panel_desc tianma_tm070jdhg30 = {
1718 .timings = &tianma_tm070jdhg30_timing,
1719 .num_timings = 1,
1720 .bpc = 8,
1721 .size = {
1722 .width = 151,
1723 .height = 95,
1724 },
1725 .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
1726};
1727
1635static const struct drm_display_mode tpk_f07a_0102_mode = { 1728static const struct drm_display_mode tpk_f07a_0102_mode = {
1636 .clock = 33260, 1729 .clock = 33260,
1637 .hdisplay = 800, 1730 .hdisplay = 800,
@@ -1748,6 +1841,9 @@ static const struct of_device_id platform_of_match[] = {
1748 .compatible = "avic,tm070ddh03", 1841 .compatible = "avic,tm070ddh03",
1749 .data = &avic_tm070ddh03, 1842 .data = &avic_tm070ddh03,
1750 }, { 1843 }, {
1844 .compatible = "boe,nv101wxmn51",
1845 .data = &boe_nv101wxmn51,
1846 }, {
1751 .compatible = "chunghwa,claa070wp03xg", 1847 .compatible = "chunghwa,claa070wp03xg",
1752 .data = &chunghwa_claa070wp03xg, 1848 .data = &chunghwa_claa070wp03xg,
1753 }, { 1849 }, {
@@ -1826,6 +1922,9 @@ static const struct of_device_id platform_of_match[] = {
1826 .compatible = "nec,nl4827hc19-05b", 1922 .compatible = "nec,nl4827hc19-05b",
1827 .data = &nec_nl4827hc19_05b, 1923 .data = &nec_nl4827hc19_05b,
1828 }, { 1924 }, {
1925 .compatible = "netron-dy,e231732",
1926 .data = &netron_dy_e231732,
1927 }, {
1829 .compatible = "nvd,9128", 1928 .compatible = "nvd,9128",
1830 .data = &nvd_9128, 1929 .data = &nvd_9128,
1831 }, { 1930 }, {
@@ -1868,6 +1967,9 @@ static const struct of_device_id platform_of_match[] = {
1868 .compatible = "starry,kr122ea0sra", 1967 .compatible = "starry,kr122ea0sra",
1869 .data = &starry_kr122ea0sra, 1968 .data = &starry_kr122ea0sra,
1870 }, { 1969 }, {
1970 .compatible = "tianma,tm070jdhg30",
1971 .data = &tianma_tm070jdhg30,
1972 }, {
1871 .compatible = "tpk,f07a-0102", 1973 .compatible = "tpk,f07a-0102",
1872 .data = &tpk_f07a_0102, 1974 .data = &tpk_f07a_0102,
1873 }, { 1975 }, {