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