1.. _ls0xx_generic_shield:
2
3Sharp memory display generic shield
4###################################
5
6Overview
7********
8
9This is a generic shield for Sharp memory pixel LCD. It supports
10displays of LS0XX type. These displays have an SPI interface and
11few other pins. Note that the SCS is active high for this display.
12
13The DISP pin controls whether to display memory
14contents or show all white pixels, this can be connected
15directly to VDD, to always display memory contents or connected
16to a gpio. If devicetree contains ``disp-en-gpios`` then it will be set to
17high during driver initialization. Display blanking apis can be used
18to control it.
19
20Sharp memory displays require toggling the VCOM signal periodically
21to prevent a DC bias ocurring in the panel as mentioned in the `appnote`_
22and `datasheet`_. The DC bias can damage the LCD and reduce the life.
23This signal must be supplied from either serial input (sw) or an external
24signal on the EXTCOMIN pin.
25
26Currently the driver only supports VCOM toggling using the EXTCOMIN pin
27(EXTMODE pin is connected to VDD).
28When ``extcomin-gpios`` is defined, driver starts a thread which will
29toggle EXTCOMIN at ``extcomin-frequency`` frequency. Higher frequency
30gives better contrast while lower frequency saves power.
31
32To use a different method of toggling for example pwm, user may not
33define ``extcomin-gpios`` and implement their preferred method in
34application code.
35
36Pins Assignment of the Generic Sharp memory Display Shield
37==========================================================
38
39+---------------+---------------------------------------------------------+
40| Pin           | Function                                                |
41+===============+=========================================================+
42| SCS           | Serial Slave Select                                     |
43+---------------+---------------------------------------------------------+
44| SI            | Serial Data Input                                       |
45+---------------+---------------------------------------------------------+
46| SCLK          | Serial Clock Input                                      |
47+---------------+---------------------------------------------------------+
48| EXTCOMIN      | VCOM Inversion Polarity Input (VCOM can be controlled   |
49|               | through SW)                                             |
50+---------------+---------------------------------------------------------+
51| DISP          | Display ON/OFF switching signal (Can be connected       |
52|               | directly to VDD)                                        |
53+---------------+---------------------------------------------------------+
54| EXTMODE       | COM Inversion Selection                                 |
55+---------------+---------------------------------------------------------+
56
57
58Current supported displays
59==========================
60
61Following displays are supported but shield only exists
62for LS013B7DH03. Other shields can be added by using the LS013B7DH03 as
63a reference and changing the width, height, etc configurations.
64
65LS012B7DD01
66LS012B7DD06
67LS013B7DH03
68LS013B7DH05
69LS013B7DH06
70LS027B7DH01A
71LS032B7DD02
72LS044Q7DH01
73
74+----------------------+------------------------------+
75| Display              | Shield Designation           |
76|                      |                              |
77+======================+==============================+
78| LS013B7DH03          | ls013b7dh03                  |
79+----------------------+------------------------------+
80
81Requirements
82************
83
84This shield can only be used with a board that provides a configuration
85for Arduino connectors and defines node aliases for SPI and GPIO interfaces
86(see :ref:`shields` for more details).
87
88Programming
89***********
90
91Set ``-DSHIELD=ls013b7dh03`` when you invoke ``west build``. For example:
92
93.. zephyr-app-commands::
94   :zephyr-app: samples/subsys/display/lvgl
95   :board: nrf52840dk_nrf52840
96   :shield: ls013b7dh03
97   :goals: build
98
99References
100**********
101
102.. target-notes::
103
104.. _appnote:
105   https://www.sharpsma.com/documents/1468207/1485747/Memory+LCD+Theory%2C+Programming%2C+and+Interfaces
106
107.. _datasheet:
108   https://www.mouser.com/datasheet/2/365/LS013B7DH03%20SPEC_SMA-224806.pdf
109