.. _ls0xx_generic_shield:

Sharp memory display generic shield
###################################

Overview
********

This is a generic shield for Sharp memory pixel LCD. It supports
displays of LS0XX type. These displays have an SPI interface and
few other pins. Note that the SCS is active high for this display.

The DISP pin controls whether to display memory
contents or show all white pixels, this can be connected
directly to VDD, to always display memory contents or connected
to a gpio. If devicetree contains ``disp-en-gpios`` then it will be set to
high during driver initialization. Display blanking apis can be used
to control it.

Sharp memory displays require toggling the VCOM signal periodically
to prevent a DC bias ocurring in the panel as mentioned in the `appnote`_
and `datasheet`_. The DC bias can damage the LCD and reduce the life.
This signal must be supplied from either serial input (sw) or an external
signal on the EXTCOMIN pin.

Currently the driver only supports VCOM toggling using the EXTCOMIN pin
(EXTMODE pin is connected to VDD).
When ``extcomin-gpios`` is defined, driver starts a thread which will
toggle EXTCOMIN at ``extcomin-frequency`` frequency. Higher frequency
gives better contrast while lower frequency saves power.

To use a different method of toggling for example pwm, user may not
define ``extcomin-gpios`` and implement their preferred method in
application code.

Pins Assignment of the Generic Sharp memory Display Shield
==========================================================

+---------------+---------------------------------------------------------+
| Pin           | Function                                                |
+===============+=========================================================+
| SCS           | Serial Slave Select                                     |
+---------------+---------------------------------------------------------+
| SI            | Serial Data Input                                       |
+---------------+---------------------------------------------------------+
| SCLK          | Serial Clock Input                                      |
+---------------+---------------------------------------------------------+
| EXTCOMIN      | VCOM Inversion Polarity Input (VCOM can be controlled   |
|               | through SW)                                             |
+---------------+---------------------------------------------------------+
| DISP          | Display ON/OFF switching signal (Can be connected       |
|               | directly to VDD)                                        |
+---------------+---------------------------------------------------------+
| EXTMODE       | COM Inversion Selection                                 |
+---------------+---------------------------------------------------------+


Current supported displays
==========================

Following displays are supported but shield only exists
for LS013B7DH03. Other shields can be added by using the LS013B7DH03 as
a reference and changing the width, height, etc configurations.

LS012B7DD01
LS012B7DD06
LS013B7DH03
LS013B7DH05
LS013B7DH06
LS027B7DH01A
LS032B7DD02
LS044Q7DH01

+----------------------+------------------------------+
| Display              | Shield Designation           |
|                      |                              |
+======================+==============================+
| LS013B7DH03          | ls013b7dh03                  |
+----------------------+------------------------------+

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
***********

Set ``-DSHIELD=ls013b7dh03`` when you invoke ``west build``. For example:

.. zephyr-app-commands::
   :zephyr-app: samples/gui/lvgl
   :board: nrf52840dk_nrf52840
   :shield: ls013b7dh03
   :goals: build

References
**********

.. target-notes::

.. _appnote:
   https://www.sharpsma.com/documents/1468207/1485747/Memory+LCD+Theory%2C+Programming%2C+and+Interfaces

.. _datasheet:
   https://www.mouser.com/datasheet/2/365/LS013B7DH03%20SPEC_SMA-224806.pdf
