[PATCH v3] drm/panel: Add support for E Ink VB3300-KCA
Sam Ravnborg
sam at ravnborg.org
Fri Jul 9 17:27:42 UTC 2021
Hi Alistair,
On Thu, Jul 08, 2021 at 09:57:35PM +1000, Alistair Francis wrote:
> 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 at alistair23.me>
> Acked-by: Rob Herring <robh at kernel.org>
> ---
> .../bindings/display/panel/panel-simple.yaml | 2 ++
> .../devicetree/bindings/vendor-prefixes.yaml | 2 ++
> drivers/gpu/drm/panel/panel-simple.c | 29 +++++++++++++++++++
> 3 files changed, 33 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
> index b3797ba2698b..799e20222551 100644
> --- a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
> +++ b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
> @@ -128,6 +128,8 @@ properties:
> # Emerging Display Technology Corp. WVGA TFT Display with capacitive touch
> - edt,etm0700g0dh6
> - edt,etm0700g0edh6
> + # 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
> diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
> index 0199728d2eaf..3612c6020fe4 100644
> --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
> +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
> @@ -335,6 +335,8 @@ patternProperties:
> description: eGalax_eMPIA Technology Inc
> "^einfochips,.*":
> description: Einfochips
> + "^eink,.*":
> + description: E Ink Corporation
> "^elan,.*":
> description: Elan Microelectronic Corp.
> "^element14,.*":
> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> index 21939d4352cf..210377b03f6f 100644
> --- a/drivers/gpu/drm/panel/panel-simple.c
> +++ b/drivers/gpu/drm/panel/panel-simple.c
> @@ -2046,6 +2046,32 @@ static const struct panel_desc edt_etm0700g0bdh6 = {
> .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE,
> };
>
> +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,
> +};
> +
> static const struct display_timing evervision_vgg804821_timing = {
> .pixelclock = { 27600000, 33300000, 50000000 },
> .hactive = { 800, 800, 800 },
> @@ -4344,6 +4370,9 @@ static const struct of_device_id platform_of_match[] = {
> }, {
> .compatible = "edt,etm0700g0dh6",
> .data = &edt_etm0700g0dh6,
> + }, {
> + .compatible = "eink,vb3300-kca",
> + .data = &eink_vb3300_kca,
> }, {
> .compatible = "edt,etm0700g0bdh6",
> .data = &edt_etm0700g0bdh6,
This list is sorted alphabetically according to compatible, so you need
to reorder this.
"eink," is after "edt,".
And then make sure the order mathes where you add eink_vb3300_kca as the
order shall match here too.
The rest looked good.
Sam
> --
> 2.31.1
More information about the dri-devel
mailing list