display: panel: Add AUO g070vvn01 display support (800x480)
authorLukasz Majewski <lukma@denx.de>
Mon, 14 May 2018 19:08:49 +0000 (21:08 +0200)
committerThierry Reding <treding@nvidia.com>
Tue, 29 May 2018 14:22:43 +0000 (16:22 +0200)
This commit adds support for AUO's 7.0" display.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180514190849.18723-1-lukma@denx.de
Documentation/devicetree/bindings/display/panel/auo,g070vvn01.txt [new file with mode: 0644]
drivers/gpu/drm/panel/panel-simple.c

diff --git a/Documentation/devicetree/bindings/display/panel/auo,g070vvn01.txt b/Documentation/devicetree/bindings/display/panel/auo,g070vvn01.txt
new file mode 100644 (file)
index 0000000..49e4105
--- /dev/null
@@ -0,0 +1,29 @@
+AU Optronics Corporation 7.0" FHD (800 x 480) TFT LCD panel
+
+Required properties:
+- compatible: should be "auo,g070vvn01"
+- backlight: phandle of the backlight device attached to the panel
+- power-supply: single regulator to provide the supply voltage
+
+Required nodes:
+- port: Parallel port mapping to connect this display
+
+This panel needs single power supply voltage. Its backlight is conntrolled
+via PWM signal.
+
+Example:
+--------
+
+Example device-tree definition when connected to iMX6Q based board
+
+       lcd_panel: lcd-panel {
+               compatible = "auo,g070vvn01";
+               backlight = <&backlight_lcd>;
+               power-supply = <&reg_display>;
+
+               port {
+                       lcd_panel_in: endpoint {
+                               remote-endpoint = <&lcd_display_out>;
+                       };
+               };
+       };
index 964c261..ac6aaa1 100644 (file)
@@ -580,6 +580,34 @@ static const struct panel_desc auo_b133htn01 = {
        },
 };
 
+static const struct display_timing auo_g070vvn01_timings = {
+       .pixelclock = { 33300000, 34209000, 45000000 },
+       .hactive = { 800, 800, 800 },
+       .hfront_porch = { 20, 40, 200 },
+       .hback_porch = { 87, 40, 1 },
+       .hsync_len = { 1, 48, 87 },
+       .vactive = { 480, 480, 480 },
+       .vfront_porch = { 5, 13, 200 },
+       .vback_porch = { 31, 31, 29 },
+       .vsync_len = { 1, 1, 3 },
+};
+
+static const struct panel_desc auo_g070vvn01 = {
+       .timings = &auo_g070vvn01_timings,
+       .num_timings = 1,
+       .bpc = 8,
+       .size = {
+               .width = 152,
+               .height = 91,
+       },
+       .delay = {
+               .prepare = 200,
+               .enable = 50,
+               .disable = 50,
+               .unprepare = 1000,
+       },
+};
+
 static const struct drm_display_mode auo_g104sn02_mode = {
        .clock = 40000,
        .hdisplay = 800,
@@ -2118,6 +2146,9 @@ static const struct of_device_id platform_of_match[] = {
                .compatible = "auo,b133xtn01",
                .data = &auo_b133xtn01,
        }, {
+               .compatible = "auo,g070vvn01",
+               .data = &auo_g070vvn01,
+       }, {
                .compatible = "auo,g104sn02",
                .data = &auo_g104sn02,
        }, {