]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
drm/panel: simple: Add support for Banana Pi 7" S070WV20-CT16 panel
authorChen-Yu Tsai <wens@csie.org>
Fri, 7 Sep 2018 04:19:46 +0000 (12:19 +0800)
committerThierry Reding <treding@nvidia.com>
Thu, 27 Sep 2018 12:21:22 +0000 (14:21 +0200)
This panel is marketed as Banana Pi 7" LCD display. On the back is
a sticker denoting the model name S070WV20-CT16.

This is a 7" 800x480 panel connected through a 24-bit RGB interface.
However the panel only does 262k colors.

Depending on the variant, the PCB attached to the panel module either
supports DSI, or DSI + 24-bit RGB. DSI is converted to 24-bit RGB via
an onboard ICN6211 MIPI DSI - RGB bridge chip, then fed to the panel
itself.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180907041948.19913-5-wens@csie.org
Documentation/devicetree/bindings/display/panel/bananapi,s070wv20-ct16.txt [new file with mode: 0644]
drivers/gpu/drm/panel/panel-simple.c

diff --git a/Documentation/devicetree/bindings/display/panel/bananapi,s070wv20-ct16.txt b/Documentation/devicetree/bindings/display/panel/bananapi,s070wv20-ct16.txt
new file mode 100644 (file)
index 0000000..35bc0c8
--- /dev/null
@@ -0,0 +1,12 @@
+Banana Pi 7" (S070WV20-CT16) TFT LCD Panel
+
+Required properties:
+- compatible: should be "bananapi,s070wv20-ct16"
+- power-supply: see ./panel-common.txt
+
+Optional properties:
+- enable-gpios: see ./simple-panel.txt
+- backlight: see ./simple-panel.txt
+
+This binding is compatible with the simple-panel binding, which is specified
+in ./simple-panel.txt.
index 5e5547b42f5a78c8562f4b74ad6a1059b98d0e88..5f3f061aed5f023f3574ac5c651d91d009ce3baf 100644 (file)
@@ -772,6 +772,28 @@ static const struct panel_desc avic_tm070ddh03 = {
        },
 };
 
+static const struct drm_display_mode bananapi_s070wv20_ct16_mode = {
+       .clock = 30000,
+       .hdisplay = 800,
+       .hsync_start = 800 + 40,
+       .hsync_end = 800 + 40 + 48,
+       .htotal = 800 + 40 + 48 + 40,
+       .vdisplay = 480,
+       .vsync_start = 480 + 13,
+       .vsync_end = 480 + 13 + 3,
+       .vtotal = 480 + 13 + 3 + 29,
+};
+
+static const struct panel_desc bananapi_s070wv20_ct16 = {
+       .modes = &bananapi_s070wv20_ct16_mode,
+       .num_modes = 1,
+       .bpc = 6,
+       .size = {
+               .width = 154,
+               .height = 86,
+       },
+};
+
 static const struct drm_display_mode boe_hv070wsa_mode = {
        .clock = 42105,
        .hdisplay = 1024,
@@ -2418,6 +2440,9 @@ static const struct of_device_id platform_of_match[] = {
        }, {
                .compatible = "avic,tm070ddh03",
                .data = &avic_tm070ddh03,
+       }, {
+               .compatible = "bananapi,s070wv20-ct16",
+               .data = &bananapi_s070wv20_ct16,
        }, {
                .compatible = "boe,hv070wsa-100",
                .data = &boe_hv070wsa