aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/panel/panel-simple.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2017-12-03 14:38:52 -0500
committerDave Airlie <airlied@redhat.com>2017-12-03 14:42:49 -0500
commit2c1c55cb75a9c72f9726fabb8c3607947711a8df (patch)
treefa835b954149545970eaa256107876d9a24bbf28 /drivers/gpu/drm/panel/panel-simple.c
parentae64f9bd1d3621b5e60d7363bc20afb46aede215 (diff)
parent2f51be0945b9e0b9baafe47289c802be6d4c7980 (diff)
Merge tag 'drm-misc-next-2017-11-30' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
Cross-subsystem Changes: - device tree doc for the Mitsubishi AA070MC01 and Tianma TM070RVHG71 panels (Lukasz Majewski) and for a 2nd endpoint on stm32 (Philippe Cornu) Core Changes: The most important changes are: - Add drm_driver .last_close and .output_poll_changed helpers to reduce fbdev emulation footprint in drivers (Noralf) - Fix plane clipping in core and for vmwgfx (Ville) Then we have a bunch of of improvement for print and debug such as the addition of a framebuffer debugfs file. ELD connector, HDMI and improvements. And a bunch of misc improvements, clean ups and style changes and doc updates [airlied: drop eld bits from amdgpu_dm] Driver Changes: - sii8620: filter unsupported modes and add DVI mode support (Maciej Purski) - rockchip: analogix_dp: Remove unnecessary init code (Jeffy Chen) - virtio, cirrus: add fb create_handle support to enable screenshots(Lepton Wu) - virtio: replace reference/unreference with get/put (Aastha Gupta) - vc4, gma500: Convert timers to use timer_setup() (Kees Cook) - vc4: Reject HDMI modes with too high of clocks (Eric) - vc4: Add support for more pixel formats (Dave Stevenson) - stm: dsi: Rename driver name to "stm32-display-dsi" (Philippe Cornu) - stm: ltdc: add a 2nd endpoint (Philippe Cornu) - via: use monotonic time for VIA_WAIT_IRQ (Arnd Bergmann) * tag 'drm-misc-next-2017-11-30' of git://anongit.freedesktop.org/drm/drm-misc: (96 commits) drm/bridge: tc358767: add copyright lines MAINTAINERS: change maintainer for Rockchip drm drivers drm/vblank: Fix vblank timestamp debugs drm/via: use monotonic time for VIA_WAIT_IRQ dma-buf: Fix ifnullfree.cocci warnings drm/printer: Add drm_vprintf() drm/edid: Allow HDMI infoframe without VIC or S3D video/hdmi: Allow "empty" HDMI infoframes dma-buf/fence: Fix lock inversion within dma-fence-array drm/sti: Handle return value of platform_get_irq_byname drm/vc4: Add support for NV21 and NV61. drm/vc4: Use .pixel_order instead of custom .flip_cbcr drm/vc4: Add support for DRM_FORMAT_RGB888 and DRM_FORMAT_BGR888 drm: Move drm_plane_helper_check_state() into drm_atomic_helper.c drm: Check crtc_state->enable rather than crtc->enabled in drm_plane_helper_check_state() drm/vmwgfx: Try to fix plane clipping drm/vmwgfx: Use drm_plane_helper_check_state() drm/vmwgfx: Remove bogus crtc coords vs fb size check gpu: gma500: remove unneeded DRIVER_LICENSE #define drm: don't link DP aux i2c adapter to the hardware device node ...
Diffstat (limited to 'drivers/gpu/drm/panel/panel-simple.c')
-rw-r--r--drivers/gpu/drm/panel/panel-simple.c62
1 files changed, 62 insertions, 0 deletions
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index b7c4709f7b34..5591984a392b 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -1356,6 +1356,38 @@ static const struct panel_desc lg_lp129qe = {
1356 }, 1356 },
1357}; 1357};
1358 1358
1359static const struct drm_display_mode mitsubishi_aa070mc01_mode = {
1360 .clock = 30400,
1361 .hdisplay = 800,
1362 .hsync_start = 800 + 0,
1363 .hsync_end = 800 + 1,
1364 .htotal = 800 + 0 + 1 + 160,
1365 .vdisplay = 480,
1366 .vsync_start = 480 + 0,
1367 .vsync_end = 480 + 48 + 1,
1368 .vtotal = 480 + 48 + 1 + 0,
1369 .vrefresh = 60,
1370 .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
1371};
1372
1373static const struct panel_desc mitsubishi_aa070mc01 = {
1374 .modes = &mitsubishi_aa070mc01_mode,
1375 .num_modes = 1,
1376 .bpc = 8,
1377 .size = {
1378 .width = 152,
1379 .height = 91,
1380 },
1381
1382 .delay = {
1383 .enable = 200,
1384 .unprepare = 200,
1385 .disable = 400,
1386 },
1387 .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
1388 .bus_flags = DRM_BUS_FLAG_DE_HIGH,
1389};
1390
1359static const struct display_timing nec_nl12880bc20_05_timing = { 1391static const struct display_timing nec_nl12880bc20_05_timing = {
1360 .pixelclock = { 67000000, 71000000, 75000000 }, 1392 .pixelclock = { 67000000, 71000000, 75000000 },
1361 .hactive = { 1280, 1280, 1280 }, 1393 .hactive = { 1280, 1280, 1280 },
@@ -1837,6 +1869,30 @@ static const struct panel_desc tianma_tm070jdhg30 = {
1837 .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG, 1869 .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
1838}; 1870};
1839 1871
1872static const struct display_timing tianma_tm070rvhg71_timing = {
1873 .pixelclock = { 27700000, 29200000, 39600000 },
1874 .hactive = { 800, 800, 800 },
1875 .hfront_porch = { 12, 40, 212 },
1876 .hback_porch = { 88, 88, 88 },
1877 .hsync_len = { 1, 1, 40 },
1878 .vactive = { 480, 480, 480 },
1879 .vfront_porch = { 1, 13, 88 },
1880 .vback_porch = { 32, 32, 32 },
1881 .vsync_len = { 1, 1, 3 },
1882 .flags = DISPLAY_FLAGS_DE_HIGH,
1883};
1884
1885static const struct panel_desc tianma_tm070rvhg71 = {
1886 .timings = &tianma_tm070rvhg71_timing,
1887 .num_timings = 1,
1888 .bpc = 8,
1889 .size = {
1890 .width = 154,
1891 .height = 86,
1892 },
1893 .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
1894};
1895
1840static const struct drm_display_mode toshiba_lt089ac29000_mode = { 1896static const struct drm_display_mode toshiba_lt089ac29000_mode = {
1841 .clock = 79500, 1897 .clock = 79500,
1842 .hdisplay = 1280, 1898 .hdisplay = 1280,
@@ -2086,6 +2142,9 @@ static const struct of_device_id platform_of_match[] = {
2086 .compatible = "lg,lp129qe", 2142 .compatible = "lg,lp129qe",
2087 .data = &lg_lp129qe, 2143 .data = &lg_lp129qe,
2088 }, { 2144 }, {
2145 .compatible = "mitsubishi,aa070mc01-ca1",
2146 .data = &mitsubishi_aa070mc01,
2147 }, {
2089 .compatible = "nec,nl12880bc20-05", 2148 .compatible = "nec,nl12880bc20-05",
2090 .data = &nec_nl12880bc20_05, 2149 .data = &nec_nl12880bc20_05,
2091 }, { 2150 }, {
@@ -2143,6 +2202,9 @@ static const struct of_device_id platform_of_match[] = {
2143 .compatible = "tianma,tm070jdhg30", 2202 .compatible = "tianma,tm070jdhg30",
2144 .data = &tianma_tm070jdhg30, 2203 .data = &tianma_tm070jdhg30,
2145 }, { 2204 }, {
2205 .compatible = "tianma,tm070rvhg71",
2206 .data = &tianma_tm070rvhg71,
2207 }, {
2146 .compatible = "toshiba,lt089ac29000", 2208 .compatible = "toshiba,lt089ac29000",
2147 .data = &toshiba_lt089ac29000, 2209 .data = &toshiba_lt089ac29000,
2148 }, { 2210 }, {