[PATCH 09/12] drm/panel: Add Eukrea mbimxsd51 displays.

Denis Carikli
2014-03-13T17:17:30Z

ChangeLog v10->v11:
- New patch.
---
.../bindings/panel/eukrea,mbimxsd51-cmo-qvga.txt | 7 ++
.../bindings/panel/eukrea,mbimxsd51-dvi-svga.txt | 7 ++
.../bindings/panel/eukrea,mbimxsd51-dvi-vga.txt | 7 ++
drivers/gpu/drm/panel/panel-simple.c | 81 ++++++++++++++++++++
4 files changed, 102 insertions(+)
create mode 100644 Documentation/devicetree/bindings/panel/eukrea,mbimxsd51-cmo-qvga.txt
create mode 100644 Documentation/devicetree/bindings/panel/eukrea,mbimxsd51-dvi-svga.txt
create mode 100644 Documentation/devicetree/bindings/panel/eukrea,mbimxsd51-dvi-vga.txt

diff --git a/Documentation/devicetree/bindings/panel/eukrea,mbimxsd51-cmo-qvga.txt b/Documentation/devicetree/bindings/panel/eukrea,mbimxsd51-cmo-qvga.txt
new file mode 100644
index 0000000..03679d0
--- /dev/null
+++ b/Documentation/devicetree/bindings/panel/eukrea,mbimxsd51-cmo-qvga.txt
@@ -0,0 +1,7 @@
+Eukrea CMO-QVGA (320x240 pixels) TFT LCD panel
+
+Required properties:
+- compatible: should be "eukrea,mbimxsd51-cmo-qvga"
+
+This binding is compatible with the simple-panel binding, which is specified
+in simple-panel.txt in this directory.
diff --git a/Documentation/devicetree/bindings/panel/eukrea,mbimxsd51-dvi-svga.txt b/Documentation/devicetree/bindings/panel/eukrea,mbimxsd51-dvi-svga.txt
new file mode 100644
index 0000000..f408c9a
--- /dev/null
+++ b/Documentation/devicetree/bindings/panel/eukrea,mbimxsd51-dvi-svga.txt
@@ -0,0 +1,7 @@
+Eukrea DVI-SVGA (800x600 pixels) DVI output.
+
+Required properties:
+- compatible: should be "eukrea,mbimxsd51-dvi-svga"
+
+This binding is compatible with the simple-panel binding, which is specified
+in simple-panel.txt in this directory.
diff --git a/Documentation/devicetree/bindings/panel/eukrea,mbimxsd51-dvi-vga.txt b/Documentation/devicetree/bindings/panel/eukrea,mbimxsd51-dvi-vga.txt
new file mode 100644
index 0000000..8ea90da
--- /dev/null
+++ b/Documentation/devicetree/bindings/panel/eukrea,mbimxsd51-dvi-vga.txt
@@ -0,0 +1,7 @@
+Eukrea DVI-VGA (640x480 pixels) DVI output.
+
+Required properties:
+- compatible: should be "eukrea,mbimxsd51-dvi-vga"
+
+This binding is compatible with the simple-panel binding, which is specified
+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 0231945..96918bb 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -361,6 +361,78 @@ static const struct panel_desc chunghwa_claa101wb01 = {
},
};

+static const struct drm_display_mode eukrea_mbimxsd51_cmoqvga_mode = {
+ .clock = 6500,
+ .hdisplay = 320,
+ .hsync_start = 320 + 38,
+ .hsync_end = 320 + 38 + 20,
+ .htotal = 320 + 38 + 20 + 30,
+ .vdisplay = 240,
+ .vsync_start = 240 + 15,
+ .vsync_end = 240 + 15 + 4,
+ .vtotal = 240 + 15 + 4 + 3,
+ .vrefresh = 60,
+ .pol_flags = DRM_MODE_FLAG_POL_PIXDATA_NEGEDGE |
+ DRM_MODE_FLAG_POL_DE_NEGEDGE,
+};
+
+static const struct panel_desc eukrea_mbimxsd51_cmoqvga = {
+ .modes = &eukrea_mbimxsd51_cmoqvga_mode,
+ .num_modes = 1,
+ .size = {
+ .width = 73,
+ .height = 56,
+ },
+};
+
+static const struct drm_display_mode eukrea_mbimxsd51_dvisvga_mode = {
+ .clock = 44333,
+ .hdisplay = 800,
+ .hsync_start = 800 + 112,
+ .hsync_end = 800 + 112 + 32,
+ .htotal = 800 + 112 + 32 + 80,
+ .vdisplay = 600,
+ .vsync_start = 600 + 3,
+ .vsync_end = 600 + 3 + 17,
+ .vtotal = 600 + 3 + 17 + 4,
+ .vrefresh = 60,
+ .pol_flags = DRM_MODE_FLAG_POL_PIXDATA_POSEDGE |
+ DRM_MODE_FLAG_POL_DE_POSEDGE,
+};
+
+static const struct panel_desc eukrea_mbimxsd51_dvisvga = {
+ .modes = &eukrea_mbimxsd51_dvisvga_mode,
+ .num_modes = 1,
+ .size = {
+ .width = 0,
+ .height = 0,
+ },
+};
+
+static const struct drm_display_mode eukrea_mbimxsd51_dvivga_mode = {
+ .clock = 23750,
+ .hdisplay = 640,
+ .hsync_start = 640 + 80,
+ .hsync_end = 640 + 80 + 16,
+ .htotal = 640 + 80 + 16 + 64,
+ .vdisplay = 480,
+ .vsync_start = 480 + 3,
+ .vsync_end = 480 + 3 + 13,
+ .vtotal = 480 + 3 + 13 + 4,
+ .vrefresh = 60,
+ .pol_flags = DRM_MODE_FLAG_POL_PIXDATA_POSEDGE |
+ DRM_MODE_FLAG_POL_DE_POSEDGE,
+};
+
+static const struct panel_desc eukrea_mbimxsd51_dvivga = {
+ .modes = &eukrea_mbimxsd51_dvivga_mode,
+ .num_modes = 1,
+ .size = {
+ .width = 0,
+ .height = 0,
+ },
+};
+
static const struct drm_display_mode lg_lp129qe_mode = {
.clock = 285250,
.hdisplay = 2560,
@@ -413,6 +485,15 @@ static const struct of_device_id platform_of_match[] = {
.compatible = "chunghwa,claa101wa01a",
.data = &chunghwa_claa101wa01a
}, {
+ .compatible = "eukrea,mbimxsd51-cmo-qvga",
+ .data = &eukrea_mbimxsd51_cmoqvga,
+ }, {
+ .compatible = "eukrea,mbimxsd51-dvi-svga",
+ .data = &eukrea_mbimxsd51_dvisvga,
+ }, {
+ .compatible = "eukrea,mbimxsd51-dvi-vga",
+ .data = &eukrea_mbimxsd51_dvivga,
+ }, {
.compatible = "chunghwa,claa101wb01",
.data = &chunghwa_claa101wb01
}, {
--
1.7.9.5