diff options
author | Michael Olbrich <m.olbrich@pengutronix.de> | 2016-08-15 08:32:02 -0400 |
---|---|---|
committer | Thierry Reding <treding@nvidia.com> | 2016-09-16 11:05:34 -0400 |
commit | 1e29b840af9f280915cb4aae5ada6a8666292c38 (patch) | |
tree | 84f550565a89cf9a0fb3b511a9e042e432006a73 | |
parent | a42f6e3f8f0351abe91a97108e33083e6cfafc34 (diff) |
drm/panel: simple: Add Innolux G101ICE-L01 panel
This patch adds support for Innolux Corporation 10.1" G101ICE-L01 WXGA
(1280x800) LVDS panel to the simple-panel driver.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Thierry Reding <treding@nvidia.com>
-rw-r--r-- | Documentation/devicetree/bindings/display/panel/innolux,g101ice-l01.txt | 7 | ||||
-rw-r--r-- | drivers/gpu/drm/panel/panel-simple.c | 31 |
2 files changed, 38 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/display/panel/innolux,g101ice-l01.txt b/Documentation/devicetree/bindings/display/panel/innolux,g101ice-l01.txt new file mode 100644 index 000000000000..9e7590465227 --- /dev/null +++ b/Documentation/devicetree/bindings/display/panel/innolux,g101ice-l01.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | Innolux Corporation 10.1" G101ICE-L01 WXGA (1280x800) LVDS panel | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: should be "innolux,g101ice-l01" | ||
5 | |||
6 | This binding is compatible with the simple-panel binding, which is specified | ||
7 | in simple-panel.txt in this directory. | ||
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index f17899867c10..69d69876b632 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c | |||
@@ -849,6 +849,34 @@ static const struct panel_desc innolux_at070tn92 = { | |||
849 | .bus_format = MEDIA_BUS_FMT_RGB888_1X24, | 849 | .bus_format = MEDIA_BUS_FMT_RGB888_1X24, |
850 | }; | 850 | }; |
851 | 851 | ||
852 | static const struct display_timing innolux_g101ice_l01_timing = { | ||
853 | .pixelclock = { 60400000, 71100000, 74700000 }, | ||
854 | .hactive = { 1280, 1280, 1280 }, | ||
855 | .hfront_porch = { 41, 80, 100 }, | ||
856 | .hback_porch = { 40, 79, 99 }, | ||
857 | .hsync_len = { 1, 1, 1 }, | ||
858 | .vactive = { 800, 800, 800 }, | ||
859 | .vfront_porch = { 5, 11, 14 }, | ||
860 | .vback_porch = { 4, 11, 14 }, | ||
861 | .vsync_len = { 1, 1, 1 }, | ||
862 | .flags = DISPLAY_FLAGS_DE_HIGH, | ||
863 | }; | ||
864 | |||
865 | static const struct panel_desc innolux_g101ice_l01 = { | ||
866 | .timings = &innolux_g101ice_l01_timing, | ||
867 | .num_timings = 1, | ||
868 | .bpc = 8, | ||
869 | .size = { | ||
870 | .width = 217, | ||
871 | .height = 135, | ||
872 | }, | ||
873 | .delay = { | ||
874 | .enable = 200, | ||
875 | .disable = 200, | ||
876 | }, | ||
877 | .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG, | ||
878 | }; | ||
879 | |||
852 | static const struct drm_display_mode innolux_g121i1_l01_mode = { | 880 | static const struct drm_display_mode innolux_g121i1_l01_mode = { |
853 | .clock = 71000, | 881 | .clock = 71000, |
854 | .hdisplay = 1280, | 882 | .hdisplay = 1280, |
@@ -1580,6 +1608,9 @@ static const struct of_device_id platform_of_match[] = { | |||
1580 | .compatible = "innolux,at070tn92", | 1608 | .compatible = "innolux,at070tn92", |
1581 | .data = &innolux_at070tn92, | 1609 | .data = &innolux_at070tn92, |
1582 | }, { | 1610 | }, { |
1611 | .compatible ="innolux,g101ice-l01", | ||
1612 | .data = &innolux_g101ice_l01 | ||
1613 | }, { | ||
1583 | .compatible ="innolux,g121i1-l01", | 1614 | .compatible ="innolux,g121i1-l01", |
1584 | .data = &innolux_g121i1_l01 | 1615 | .data = &innolux_g121i1_l01 |
1585 | }, { | 1616 | }, { |