Add support for the Okaya RS800480T-7X0GP to the DRM simple panel
driver.

The RS800480T-7X0GP is a WVGA (800x480) panel with an 18-bit parallel
LCD interface. It supports pixel clocks in the range of 30-40 MHz.

This panel details can be found at:
http://boundarydevices.com/product/7-800x480-display/

Signed-off-by: Gary Bisson <gary.bisson at boundarydevices.com>
---
Hi all,

This patch is the follow-up of a request from Philipp to add the Okaya display
to the simple panel driver.
http://lists.infradead.org/pipermail/linux-arm-kernel/2015-May/346657.html

Regards,
Gary
---
 .../bindings/panel/okaya,rs800480t_7x0gp.txt       |  7 ++++++
 .../devicetree/bindings/vendor-prefixes.txt        |  1 +
 drivers/gpu/drm/panel/panel-simple.c               | 27 ++++++++++++++++++++++
 3 files changed, 35 insertions(+)
 create mode 100644 
Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt

diff --git a/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt 
b/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt
new file mode 100644
index 0000000..f7c729d
--- /dev/null
+++ b/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt
@@ -0,0 +1,7 @@
+OKAYA Electric America, Inc. RS800480T-7X0GP 7" WVGA LCD panel
+
+Required properties:
+- compatible: should be "okaya,rs800480t_7x0gp"
+
+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/vendor-prefixes.txt 
b/Documentation/devicetree/bindings/vendor-prefixes.txt
index 4f35a00..06ce91c 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -145,6 +145,7 @@ nintendo    Nintendo
 nokia  Nokia
 nvidia NVIDIA
 nxp    NXP Semiconductors
+okaya  OKAYA Electric America, Inc.
 onnn   ON Semiconductor Corp.
 opencores      OpenCores.org
 ortustech      Ortus Technology Co., Ltd.
diff --git a/drivers/gpu/drm/panel/panel-simple.c 
b/drivers/gpu/drm/panel/panel-simple.c
index 97b66b8..e511a22 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -942,6 +942,30 @@ static const struct panel_desc lg_lp129qe = {
        },
 };

+static const struct display_timing okaya_rs800480t_7x0gp_timing = {
+       .pixelclock = { 30000000, 30000000, 40000000 },
+       .hactive = { 800, 800, 800 },
+       .hfront_porch = { 40, 40, 40 },
+       .hback_porch = { 40, 40, 40 },
+       .hsync_len = { 1, 48, 48 },
+       .vactive = { 480, 480, 480 },
+       .vfront_porch = { 13, 13, 13 },
+       .vback_porch = { 29, 29, 29 },
+       .vsync_len = { 3, 3, 3 },
+       .flags = DISPLAY_FLAGS_DE_HIGH,
+};
+
+static const struct panel_desc okaya_rs800480t_7x0gp = {
+       .timings = &okaya_rs800480t_7x0gp_timing,
+       .num_timings = 1,
+       .bpc = 6,
+       .size = {
+               .width = 154,
+               .height = 87,
+       },
+       .bus_format = MEDIA_BUS_FMT_RGB666_1X18,
+};
+
 static const struct drm_display_mode ortustech_com43h4m85ulc_mode  = {
        .clock = 25000,
        .hdisplay = 480,
@@ -1112,6 +1136,9 @@ static const struct of_device_id platform_of_match[] = {
                .compatible = "lg,lp129qe",
                .data = &lg_lp129qe,
        }, {
+               .compatible = "okaya,rs800480t_7x0gp",
+               .data = &okaya_rs800480t_7x0gp,
+       }, {
                .compatible = "ortustech,com43h4m85ulc",
                .data = &ortustech_com43h4m85ulc,
        }, {
-- 
2.1.4

Reply via email to