drm/panel: Add support for E Ink VB3300-KCA
authorAlistair Francis <alistair@alistair23.me>
Sun, 1 Aug 2021 00:47:00 +0000 (10:47 +1000)
committerSam Ravnborg <sam@ravnborg.org>
Sun, 1 Aug 2021 05:46:00 +0000 (07:46 +0200)
Add support for the 10.3" E Ink panel described at:
https://www.eink.com/product.html?type=productdetail&id=7

Signed-off-by: Alistair Francis <alistair@alistair23.me>
Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20210801004701.831-1-alistair@alistair23.me
Documentation/devicetree/bindings/display/panel/panel-simple.yaml
Documentation/devicetree/bindings/vendor-prefixes.yaml
drivers/gpu/drm/panel/panel-simple.c

index eda427d..81bdfb0 100644 (file)
@@ -138,6 +138,8 @@ properties:
         # Emerging Display Technology Corp. 5.7" VGA TFT LCD panel with
         # capacitive touch
       - edt,etmv570g2dhu
+        # E Ink VB3300-KCA
+      - eink,vb3300-kca
         # Evervision Electronics Co. Ltd. VGG804821 5.0" WVGA TFT LCD Panel
       - evervision,vgg804821
         # Foxlink Group 5" WVGA TFT LCD panel
index 3c6918d..5713e66 100644 (file)
@@ -339,6 +339,8 @@ patternProperties:
     description: eGalax_eMPIA Technology Inc
   "^einfochips,.*":
     description: Einfochips
+  "^eink,.*":
+    description: E Ink Corporation
   "^elan,.*":
     description: Elan Microelectronic Corp.
   "^element14,.*":
index a54e9dc..e592551 100644 (file)
@@ -2178,6 +2178,33 @@ static const struct panel_desc edt_etmv570g2dhu = {
        .connector_type = DRM_MODE_CONNECTOR_DPI,
 };
 
+static const struct display_timing eink_vb3300_kca_timing = {
+       .pixelclock = { 40000000, 40000000, 40000000 },
+       .hactive = { 334, 334, 334 },
+       .hfront_porch = { 1, 1, 1 },
+       .hback_porch = { 1, 1, 1 },
+       .hsync_len = { 1, 1, 1 },
+       .vactive = { 1405, 1405, 1405 },
+       .vfront_porch = { 1, 1, 1 },
+       .vback_porch = { 1, 1, 1 },
+       .vsync_len = { 1, 1, 1 },
+       .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
+                DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE,
+};
+
+static const struct panel_desc eink_vb3300_kca = {
+       .timings = &eink_vb3300_kca_timing,
+       .num_timings = 1,
+       .bpc = 6,
+       .size = {
+               .width = 157,
+               .height = 209,
+       },
+       .bus_format = MEDIA_BUS_FMT_RGB888_1X24,
+       .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE,
+       .connector_type = DRM_MODE_CONNECTOR_DPI,
+};
+
 static const struct display_timing evervision_vgg804821_timing = {
        .pixelclock = { 27600000, 33300000, 50000000 },
        .hactive = { 800, 800, 800 },
@@ -4494,6 +4521,9 @@ static const struct of_device_id platform_of_match[] = {
        }, {
                .compatible = "edt,etmv570g2dhu",
                .data = &edt_etmv570g2dhu,
+       }, {
+               .compatible = "eink,vb3300-kca",
+               .data = &eink_vb3300_kca,
        }, {
                .compatible = "evervision,vgg804821",
                .data = &evervision_vgg804821,