Skip to content

Commit 5742474

Browse files
committed
drivers: display: Added driver for 2.7inch EPD
Signed-off-by: Dinesh Kumar K <[email protected]>
1 parent db97560 commit 5742474

File tree

10 files changed

+665
-1
lines changed

10 files changed

+665
-1
lines changed

boards/shields/waveshare_epaper/Kconfig.defconfig

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# SPDX-License-Identifier: Apache-2.0
66
#
77

8-
if SHIELD_WAVESHARE_EPAPER_GDEH029A1 || SHIELD_WAVESHARE_EPAPER_GDEH0213B1 || SHIELD_WAVESHARE_EPAPER_GDEH0213B72 || SHIELD_WAVESHARE_EPAPER_GDEW075T7 || SHIELD_WAVESHARE_EPAPER_GDEH0154A07 || SHIELD_WAVESHARE_EPAPER_GDEW042T2
8+
if SHIELD_WAVESHARE_EPAPER_GDEH029A1 || SHIELD_WAVESHARE_EPAPER_GDEH0213B1 || SHIELD_WAVESHARE_EPAPER_GDEH0213B72 || SHIELD_WAVESHARE_EPAPER_GDEW075T7 || SHIELD_WAVESHARE_EPAPER_GDEH0154A07 || SHIELD_WAVESHARE_EPAPER_GDEW042T2 || SHIELD_WAVESHARE_EPAPER_GDEW027W3
99

1010

1111
if DISPLAY
@@ -23,11 +23,15 @@ config GD7965
2323
default y if SHIELD_WAVESHARE_EPAPER_GDEW075T7
2424
default y if SHIELD_WAVESHARE_EPAPER_GDEW042T2
2525

26+
config EK79652
27+
default y if SHIELD_WAVESHARE_EPAPER_GDEW027W3
28+
2629
if LVGL
2730

2831
config LVGL_DISPLAY_DEV_NAME
2932
default "GD7965" if SHIELD_WAVESHARE_EPAPER_GDEW075T7
3033
default "GD7965" if SHIELD_WAVESHARE_EPAPER_GDEW042T2
34+
default "EK79652" if SHIELD_WAVESHARE_EPAPER_GDEW027W3
3135
default "SSD16XX"
3236

3337
config LVGL_HOR_RES_MAX
@@ -37,6 +41,7 @@ config LVGL_HOR_RES_MAX
3741
default 800 if SHIELD_WAVESHARE_EPAPER_GDEW075T7
3842
default 200 if SHIELD_WAVESHARE_EPAPER_GDEH0154A07
3943
default 400 if SHIELD_WAVESHARE_EPAPER_GDEW042T2
44+
default 264 if SHIELD_WAVESHARE_EPAPER_GDEW027W3
4045

4146
config LVGL_VER_RES_MAX
4247
default 128 if SHIELD_WAVESHARE_EPAPER_GDEH029A1
@@ -45,6 +50,7 @@ config LVGL_VER_RES_MAX
4550
default 480 if SHIELD_WAVESHARE_EPAPER_GDEW075T7
4651
default 200 if SHIELD_WAVESHARE_EPAPER_GDEH0154A07
4752
default 300 if SHIELD_WAVESHARE_EPAPER_GDEW042T2
53+
default 176 if SHIELD_WAVESHARE_EPAPER_GDEW027W3
4854

4955
config LVGL_VDB_SIZE
5056
default 16 if SHIELD_WAVESHARE_EPAPER_GDEW075T7
@@ -53,6 +59,7 @@ config LVGL_VDB_SIZE
5359
config LVGL_DPI
5460
default 188 if SHIELD_WAVESHARE_EPAPER_GDEH0154A07
5561
default 120 if SHIELD_WAVESHARE_EPAPER_GDEW042T2
62+
default 117 if SHIELD_WAVESHARE_EPAPER_GDEW027W3
5663
default 130
5764

5865
choice LVGL_COLOR_DEPTH

boards/shields/waveshare_epaper/Kconfig.shield

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,6 @@ config SHIELD_WAVESHARE_EPAPER_GDEH0154A07
1818

1919
config SHIELD_WAVESHARE_EPAPER_GDEW042T2
2020
def_bool $(shields_list_contains,waveshare_epaper_gdew042t2)
21+
22+
config SHIELD_WAVESHARE_EPAPER_GDEW027W3
23+
def_bool $(shields_list_contains,waveshare_epaper_gdew027w3)

boards/shields/waveshare_epaper/doc/index.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,9 @@ Current supported displays
6565
| Good Display | WFT0420CZ15 | UC8176 / | waveshare_epaper_gdew042t2 |
6666
| GDEW042T2 | | gd7965 | |
6767
+--------------+-----------------+--------------+------------------------------+
68+
| Good Display | WFI0190CZ22 | EK79652 / | waveshare_epaper_gdew027w3 |
69+
| GDEW027W3 | | gd7965 | |
70+
+--------------+-----------------+--------------+------------------------------+
6871

6972

7073
Requirements
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/*
2+
* Copyright (c) 2021, Linumiz
3+
*
4+
*/
5+
6+
#include "waveshare_epaper_common.dtsi"
7+
8+
&arduino_spi {
9+
ek79652@0 {
10+
compatible = "gooddisplay,ek79652","gooddisplay,gdew027w3";
11+
label = "EK79652";
12+
spi-max-frequency = <4000000>;
13+
reg = <0>;
14+
width = <264>;
15+
height = <176>;
16+
dc-gpios = <&arduino_header 15 GPIO_ACTIVE_LOW>; /* D9 */
17+
reset-gpios = <&arduino_header 14 GPIO_ACTIVE_LOW>; /* D8 */
18+
busy-gpios = <&arduino_header 13 GPIO_ACTIVE_LOW>; /* D7 */
19+
pwr = [03 00 2b 2b 09];
20+
softstart = [07 07 17];
21+
pwropt = [60 A5 89 A5 90 00 93 2A];
22+
cdi = <0x97>;
23+
tcon = <0x22>;
24+
};
25+
};

drivers/display/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ zephyr_sources_ifdef(CONFIG_ST7789V display_st7789v.c)
1111
zephyr_sources_ifdef(CONFIG_ST7735R display_st7735r.c)
1212
zephyr_sources_ifdef(CONFIG_GD7965 gd7965.c)
1313
zephyr_sources_ifdef(CONFIG_LS0XX ls0xx.c)
14+
zephyr_sources_ifdef(CONFIG_EK79652 ek79652.c)
1415

1516
if (CONFIG_ILI9XXX)
1617
zephyr_sources(display_ili9xxx.c)

drivers/display/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ source "drivers/display/Kconfig.st7789v"
2626
source "drivers/display/Kconfig.gd7965"
2727
source "drivers/display/Kconfig.dummy"
2828
source "drivers/display/Kconfig.ls0xx"
29+
source "drivers/display/Kconfig.ek79652"
2930

3031
config FRAMEBUF_DISPLAY
3132
# Hidden, selected by client drivers.

drivers/display/Kconfig.ek79652

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# GD7965 display controller configuration options
2+
3+
# Copyright (c) 2020 Phytec Messtechnik GmbH
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
config EK79652
7+
bool "EK79652 compatible display controller driver"
8+
depends on SPI
9+
depends on HEAP_MEM_POOL_SIZE != 0
10+
help
11+
Enable driver for EK79652 compatible controller.

0 commit comments

Comments
 (0)