瀏覽代碼

drm/panel: simple: Add support for Innolux G121I1-L01

The Innolux G121I1-L01 is a 12.1" TFT LCD panel and can be supported by
the simple-panel driver.

This panel is connected via LVDS and uses the data enable signal for
timing. Since HSYNC/VSYNC are ignored, the split between sync length and
porches is arbitrary, as long as the complete horizontal blanking interval
is 160 clocks, and the vertical blanking interval is 24 lines.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Lucas Stach 10 年之前
父節點
當前提交
d731f661b5
共有 2 個文件被更改,包括 33 次插入0 次删除
  1. 7 0
      Documentation/devicetree/bindings/panel/innolux,g121i1-l01.txt
  2. 26 0
      drivers/gpu/drm/panel/panel-simple.c

+ 7 - 0
Documentation/devicetree/bindings/panel/innolux,g121i1-l01.txt

@@ -0,0 +1,7 @@
+Innolux Corporation 12.1" WXGA (1280x800) TFT LCD panel
+
+Required properties:
+- compatible: should be "innolux,g121i1-l01"
+
+This binding is compatible with the simple-panel binding, which is specified
+in simple-panel.txt in this directory.

+ 26 - 0
drivers/gpu/drm/panel/panel-simple.c

@@ -583,6 +583,29 @@ static const struct panel_desc hannstar_hsd070pww1 = {
 	},
 	},
 };
 };
 
 
+static const struct drm_display_mode innolux_g121i1_l01_mode = {
+	.clock = 71000,
+	.hdisplay = 1280,
+	.hsync_start = 1280 + 64,
+	.hsync_end = 1280 + 64 + 32,
+	.htotal = 1280 + 64 + 32 + 64,
+	.vdisplay = 800,
+	.vsync_start = 800 + 9,
+	.vsync_end = 800 + 9 + 6,
+	.vtotal = 800 + 9 + 6 + 9,
+	.vrefresh = 60,
+};
+
+static const struct panel_desc innolux_g121i1_l01 = {
+	.modes = &innolux_g121i1_l01_mode,
+	.num_modes = 1,
+	.bpc = 6,
+	.size = {
+		.width = 261,
+		.height = 163,
+	},
+};
+
 static const struct drm_display_mode innolux_n116bge_mode = {
 static const struct drm_display_mode innolux_n116bge_mode = {
 	.clock = 71000,
 	.clock = 71000,
 	.hdisplay = 1366,
 	.hdisplay = 1366,
@@ -713,6 +736,9 @@ static const struct of_device_id platform_of_match[] = {
 	}, {
 	}, {
 		.compatible = "hannstar,hsd070pww1",
 		.compatible = "hannstar,hsd070pww1",
 		.data = &hannstar_hsd070pww1,
 		.data = &hannstar_hsd070pww1,
+	}, {
+		.compatible ="innolux,g121i1-l01",
+		.data = &innolux_g121i1_l01
 	}, {
 	}, {
 		.compatible = "innolux,n116bge",
 		.compatible = "innolux,n116bge",
 		.data = &innolux_n116bge,
 		.data = &innolux_n116bge,