shields: add WAVESHARE e-Paper shield
Add WAVESHARE e-Paper shield and support for GDEH0213B1 and GDEH029A1 displays. Signed-off-by: Johann Fischer <j.fischer@phytec.de>
This commit is contained in:
parent
f2af3b66ff
commit
d1d683beef
88
boards/shields/waveshare_epaper/doc/index.rst
Normal file
88
boards/shields/waveshare_epaper/doc/index.rst
Normal file
|
@ -0,0 +1,88 @@
|
|||
.. _waveshare_e_paper_raw_panel_shield:
|
||||
|
||||
WAVESHARE e-Paper Raw Panel Shield
|
||||
##################################
|
||||
|
||||
Overview
|
||||
********
|
||||
|
||||
The WAVESHARE e-Paper Raw Panel Shield is a universal driver shield.
|
||||
The shield can be used to drive various Electrophoretic (electronic ink)
|
||||
Display (EPD) with a SPI interface.
|
||||
This shield includes a 23LC1024 1Mb SPI Serial SRAM that is
|
||||
not currently supported by the Zephyr RTOS.
|
||||
|
||||
More information about the shield can be found
|
||||
at the `Universal e-Paper Raw Panel Driver Shield website`_.
|
||||
|
||||
Pins Assignment of the e-Paper Shield
|
||||
=====================================
|
||||
|
||||
+-----------------------+------------+----------------------------+
|
||||
| Shield Connector Pin | Function | |
|
||||
+=======================+============+============================+
|
||||
| D5 | RAM CSn | RAM Chip Select |
|
||||
+-----------------------+------------+----------------------------+
|
||||
| D6 | SD CSn | EPD SD Card Chip Select |
|
||||
+-----------------------+------------+----------------------------+
|
||||
| D7 | EPD BUSY | EPD Busy Output |
|
||||
+-----------------------+------------+----------------------------+
|
||||
| D8 | EPD RESETn | EPD Reset Input |
|
||||
+-----------------------+------------+----------------------------+
|
||||
| D9 | EPD DC | EPD Data/Command Input |
|
||||
+-----------------------+------------+----------------------------+
|
||||
| D10 | EPD CSn | EPD Chip Select Input |
|
||||
+-----------------------+------------+----------------------------+
|
||||
| D11 | SPI MOSI | Serial Data Input |
|
||||
+-----------------------+------------+----------------------------+
|
||||
| D12 | SPI MISO | Serial Data Out |
|
||||
+-----------------------+------------+----------------------------+
|
||||
| D13 | SPI SCK | Serial Clock Input |
|
||||
+-----------------------+------------+----------------------------+
|
||||
|
||||
Current supported displays
|
||||
==========================
|
||||
|
||||
+--------------+-----------------+--------------+------------------------------+
|
||||
| Display | Ribbon Cable | Controller / | Shield Designation |
|
||||
| | Label | Driver | |
|
||||
+==============+=================+==============+==============================+
|
||||
| Good Display | HINK-E0213 | SSD1673 / | waveshare_epaper_gdeh0213b1 |
|
||||
| GDEH0213B1 | | ssd16xx | |
|
||||
+--------------+-----------------+--------------+------------------------------+
|
||||
| Good Display | HINK-E0213A22 | IL3897 / | waveshare_epaper_gdeh0213b72 |
|
||||
| GDEH0213B72 | | ssd16xx | |
|
||||
+--------------+-----------------+--------------+------------------------------+
|
||||
| Good Display | E029A01 | IL3820 / | waveshare_epaper_gdeh029a1 |
|
||||
| GDEH029A1 | | ssd16xx | |
|
||||
+--------------+-----------------+--------------+------------------------------+
|
||||
|
||||
|
||||
Requirements
|
||||
************
|
||||
|
||||
This shield can only be used with a board that provides a configuration
|
||||
for Arduino connectors and defines node aliases for SPI and GPIO interfaces
|
||||
(see :ref:`shields` for more details).
|
||||
|
||||
Programming
|
||||
***********
|
||||
|
||||
Correct shield designation (see the table above) for your display must
|
||||
be entered when you invoke ``west build``.
|
||||
For example:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/gui/lvgl
|
||||
:board: nrf52840_pca10056
|
||||
:shield: waveshare_epaper_gdeh0213b1
|
||||
:goals: build
|
||||
|
||||
References
|
||||
**********
|
||||
|
||||
.. target-notes::
|
||||
|
||||
.. _Universal e-Paper Raw Panel Driver Shield website:
|
||||
https://www.waveshare.com/e-paper-shield.htm
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
#
|
||||
# Copyright (c) 2019, PHYTEC Messtechnik GmbH
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
CONFIG_SSD16XX=y
|
||||
CONFIG_GPIO=y
|
||||
CONFIG_SPI=y
|
||||
|
||||
CONFIG_LVGL_COLOR_DEPTH_1=y
|
||||
CONFIG_LVGL_BITS_PER_PIXEL=1
|
||||
CONFIG_LVGL_HOR_RES=250
|
||||
CONFIG_LVGL_VER_RES=120
|
||||
CONFIG_LVGL_DPI=130
|
||||
CONFIG_LVGL_VDB_SIZE=16
|
||||
|
||||
CONFIG_LVGL_DISPLAY_DEV_NAME="SSD16XX"
|
|
@ -0,0 +1,40 @@
|
|||
/*
|
||||
* Copyright (c) 2019, PHYTEC Messtechnik GmbH
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
&arduino_spi {
|
||||
status = "okay";
|
||||
cs-gpios = <&arduino_header 16 0>; /* D10 */
|
||||
|
||||
ssd16xxfb@0 {
|
||||
compatible = "solomon,ssd16xxfb", "gooddisplay,gdeh0213b1";
|
||||
label = "SSD16XX";
|
||||
spi-max-frequency = <4000000>;
|
||||
reg = <0>;
|
||||
width = <250>;
|
||||
height = <120>;
|
||||
pp-width-bits = <8>;
|
||||
pp-height-bits = <8>;
|
||||
dc-gpios = <&arduino_header 15 0>; /* D9 */
|
||||
reset-gpios = <&arduino_header 14 0>; /* D8 */
|
||||
busy-gpios = <&arduino_header 13 0>; /* D7 */
|
||||
gdv = [10 0a];
|
||||
sdv = [19];
|
||||
vcom = <0xa8>;
|
||||
border-waveform = <0x71>;
|
||||
lut-initial = [
|
||||
22 55 AA 55 AA 55 AA 11
|
||||
00 00 00 00 00 00 00 00
|
||||
1E 1E 1E 1E 1E 1E 1E 1E
|
||||
01 00 00 00 00
|
||||
];
|
||||
lut-default = [
|
||||
18 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00
|
||||
0F 01 00 00 00 00 00 00
|
||||
00 00 00 00 00
|
||||
];
|
||||
};
|
||||
};
|
|
@ -0,0 +1,19 @@
|
|||
#
|
||||
# Copyright (c) 2019, PHYTEC Messtechnik GmbH
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
CONFIG_SSD16XX=y
|
||||
|
||||
CONFIG_GPIO=y
|
||||
CONFIG_SPI=y
|
||||
|
||||
CONFIG_LVGL_COLOR_DEPTH_1=y
|
||||
CONFIG_LVGL_BITS_PER_PIXEL=1
|
||||
CONFIG_LVGL_HOR_RES=250
|
||||
CONFIG_LVGL_VER_RES=120
|
||||
CONFIG_LVGL_DPI=130
|
||||
CONFIG_LVGL_VDB_SIZE=16
|
||||
|
||||
CONFIG_LVGL_DISPLAY_DEV_NAME="SSD16XX"
|
|
@ -0,0 +1,57 @@
|
|||
/*
|
||||
* Copyright (c) 2019, PHYTEC Messtechnik GmbH
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
&arduino_spi {
|
||||
status = "okay";
|
||||
cs-gpios = <&arduino_header 16 0>; /* D10 */
|
||||
|
||||
ssd16xxfb@0 {
|
||||
compatible = "solomon,ssd16xxfb", "gooddisplay,gdeh0213b72";
|
||||
label = "SSD16XX";
|
||||
spi-max-frequency = <4000000>;
|
||||
reg = <0>;
|
||||
width = <250>;
|
||||
height = <120>;
|
||||
pp-width-bits = <8>;
|
||||
pp-height-bits = <16>;
|
||||
dc-gpios = <&arduino_header 15 0>; /* D9 */
|
||||
reset-gpios = <&arduino_header 14 0>; /* D8 */
|
||||
busy-gpios = <&arduino_header 13 0>; /* D7 */
|
||||
gdv = [15];
|
||||
sdv = [41 a8 32];
|
||||
vcom = <0x26>;
|
||||
border-waveform = <0x03>;
|
||||
lut-initial = [
|
||||
80 60 40 00 00 00 00
|
||||
10 60 20 00 00 00 00
|
||||
80 60 40 00 00 00 00
|
||||
10 60 20 00 00 00 00
|
||||
00 00 00 00 00 00 00
|
||||
03 03 00 00 02
|
||||
09 09 00 00 02
|
||||
03 03 00 00 02
|
||||
00 00 00 00 00
|
||||
00 00 00 00 00
|
||||
00 00 00 00 00
|
||||
00 00 00 00 00
|
||||
];
|
||||
|
||||
lut-default = [
|
||||
00 00 00 00 00 00 00
|
||||
80 00 00 00 00 00 00
|
||||
40 00 00 00 00 00 00
|
||||
80 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00
|
||||
0A 00 00 00 04
|
||||
00 00 00 00 00
|
||||
00 00 00 00 00
|
||||
00 00 00 00 00
|
||||
00 00 00 00 00
|
||||
00 00 00 00 00
|
||||
00 00 00 00 00
|
||||
];
|
||||
};
|
||||
};
|
|
@ -0,0 +1,19 @@
|
|||
#
|
||||
# Copyright (c) 2019, PHYTEC Messtechnik GmbH
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
CONFIG_SSD16XX=y
|
||||
|
||||
CONFIG_GPIO=y
|
||||
CONFIG_SPI=y
|
||||
|
||||
CONFIG_LVGL_COLOR_DEPTH_1=y
|
||||
CONFIG_LVGL_BITS_PER_PIXEL=1
|
||||
CONFIG_LVGL_HOR_RES=296
|
||||
CONFIG_LVGL_VER_RES=128
|
||||
CONFIG_LVGL_DPI=130
|
||||
CONFIG_LVGL_VDB_SIZE=16
|
||||
|
||||
CONFIG_LVGL_DISPLAY_DEV_NAME="SSD16XX"
|
|
@ -0,0 +1,41 @@
|
|||
/*
|
||||
* Copyright (c) 2019, PHYTEC Messtechnik GmbH
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
&arduino_spi {
|
||||
status = "okay";
|
||||
cs-gpios = <&arduino_header 16 0>; /* D10 */
|
||||
|
||||
ssd16xxfb@0 {
|
||||
compatible = "solomon,ssd16xxfb", "gooddisplay,gdeh029a1";
|
||||
label = "SSD16XX";
|
||||
spi-max-frequency = <4000000>;
|
||||
reg = <0>;
|
||||
width = <296>;
|
||||
height = <128>;
|
||||
pp-width-bits = <16>;
|
||||
pp-height-bits = <16>;
|
||||
dc-gpios = <&arduino_header 15 0>; /* D9 */
|
||||
reset-gpios = <&arduino_header 14 0>; /* D8 */
|
||||
busy-gpios = <&arduino_header 13 0>; /* D7 */
|
||||
gdv = [16];
|
||||
sdv = [0a];
|
||||
vcom = <0xa8>;
|
||||
border-waveform = <0x33>;
|
||||
softstart = [d7 d6 9d];
|
||||
lut-initial = [
|
||||
50 AA 55 AA 11 00 00 00
|
||||
00 00 00 00 00 00 00 00
|
||||
00 00 00 00 FF FF 1F 00
|
||||
00 00 00 00 00 00
|
||||
];
|
||||
lut-default = [
|
||||
10 18 18 08 18 18 08 00
|
||||
00 00 00 00 00 00 00 00
|
||||
00 00 00 00 13 14 44 12
|
||||
00 00 00 00 00 00
|
||||
];
|
||||
};
|
||||
};
|
Loading…
Reference in a new issue