LCOV - code coverage report
Current view: top level - zephyr/dt-bindings/mipi_dbi - mipi_dbi.h Coverage Total Hit
Test: new.info Lines: 64.3 % 14 9
Test Date: 2025-03-11 06:50:38

            Line data    Source code
       1            0 : /*
       2              :  * Copyright 2024 NXP
       3              :  *
       4              :  * SPDX-License-Identifier: Apache-2.0
       5              :  */
       6              : 
       7              : #ifndef ZEPHYR_INCLUDE_DT_BINDINGS_MIPI_DBI_MIPI_DBI_H_
       8              : #define ZEPHYR_INCLUDE_DT_BINDINGS_MIPI_DBI_MIPI_DBI_H_
       9              : 
      10              : /**
      11              :  * @brief MIPI-DBI driver APIs
      12              :  * @defgroup mipi_dbi_interface MIPI-DBI driver APIs
      13              :  * @ingroup io_interfaces
      14              :  * @{
      15              :  */
      16              : 
      17              : /**
      18              :  * SPI 3 wire (Type C1). Uses 9 write clocks to send a byte of data.
      19              :  * The bit sent on the 9th clock indicates whether the byte is a
      20              :  * command or data byte
      21              :  *
      22              :  *
      23              :  *           .-. .-. .-. .-. .-. .-. .-. .-. .-. .-. .-. .-. .-. .-. .-. .-
      24              :  *     SCK  -' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-'
      25              :  *
      26              :  *          -.---.---.---.---.---.---.---.---.---.---.---.---.---.---.---.-
      27              :  *     DOUT  |D/C| D7| D6| D5| D4| D3| D2| D1| D0|D/C| D7| D6| D5| D4|...|
      28              :  *          -'---'---'---'---'---'---'---'---'---'---'---'---'---'---'---'-
      29              :  *           | Word 1                            | Word n
      30              :  *
      31              :  *          -.                                                           .-
      32              :  *     CS    '-----------------------------------------------------------'
      33              :  */
      34            1 : #define MIPI_DBI_MODE_SPI_3WIRE 0x1
      35              : /**
      36              :  * SPI 4 wire (Type C3). Uses 8 write clocks to send a byte of data.
      37              :  * an additional C/D pin will be use to indicate whether the byte is a
      38              :  * command or data byte
      39              :  *
      40              :  *           .-. .-. .-. .-. .-. .-. .-. .-. .-. .-. .-. .-. .-. .-. .-. .-.
      41              :  *     SCK  -' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '---
      42              :  *
      43              :  *          -.---.---.---.---.---.---.---.---.---.---.---.---.---.---.---.---.-
      44              :  *     DOUT  | D7| D6| D5| D4| D3| D2| D1| D0| D7| D6| D5| D4| D3| D2| D1| D0|
      45              :  *          -'---'---'---'---'---'---'---'---'---'---'---'---'---'---'---'---'-
      46              :  *           | Word 1                        | Word n
      47              :  *
      48              :  *          -.                                                               .-
      49              :  *     CS    '---------------------------------------------------------------'
      50              :  *
      51              :  *          -.-------------------------------.-------------------------------.-
      52              :  *     CD    |             D/C               |             D/C               |
      53              :  *          -'-------------------------------'-------------------------------'-
      54              :  */
      55            1 : #define MIPI_DBI_MODE_SPI_4WIRE 0x2
      56              : /**
      57              :  * Parallel Bus protocol for MIPI DBI Type A based on Motorola 6800 bus.
      58              :  *
      59              :  *              -.   .--------.   .------------------------
      60              :  *     CS        '---'        '---'
      61              :  *
      62              :  *              -------------------------------------------
      63              :  *     RESX
      64              :  *
      65              :  *                        .--------------------------------
      66              :  *     D/CX     ----------'
      67              :  *
      68              :  *
      69              :  *     R/WX     -------------------------------------------
      70              :  *
      71              :  *              -------------------------------------------
      72              :  *     E
      73              :  *
      74              :  *               .--------.   .--------------------------.
      75              :  *     D[15:0]/ -| COMMAND|---|  DATA                    |
      76              :  *     D[8:0]/   '--------'   '--------------------------'
      77              :  *     D[7:0]
      78              :  *
      79              :  * Please refer to the MIPI DBI specification for a detailed cycle diagram.
      80              :  */
      81            1 : #define MIPI_DBI_MODE_6800_BUS_16_BIT 0x3
      82            0 : #define MIPI_DBI_MODE_6800_BUS_9_BIT 0x4
      83            0 : #define MIPI_DBI_MODE_6800_BUS_8_BIT 0x5
      84              : /**
      85              :  * Parallel Bus protocol for MIPI DBI Type B based on Intel 8080 bus.
      86              :  *
      87              :  *              -.                                       .-
      88              :  *     CS        '---------------------------------------'
      89              :  *
      90              :  *              -------------------------------------------
      91              :  *     RESX
      92              :  *
      93              :  *              --.           .----------------------------
      94              :  *     D/CX       '-----------'
      95              :  *
      96              :  *              ---.   .--------.   .----------------------
      97              :  *     WRX         '---'        '---'
      98              :  *
      99              :  *              -------------------------------------------
     100              :  *     RDX
     101              :  *
     102              :  *                 .--------.   .--------------------------.
     103              :  *     D[15:0]/ ---| COMMAND|---|  DATA                    |
     104              :  *     D[8:0]/     '--------'   '--------------------------'
     105              :  *     D[7:0]
     106              :  *
     107              :  * Please refer to the MIPI DBI specification for a detailed cycle diagram.
     108              :  */
     109            1 : #define MIPI_DBI_MODE_8080_BUS_16_BIT 0x6
     110            0 : #define MIPI_DBI_MODE_8080_BUS_9_BIT 0x7
     111            0 : #define MIPI_DBI_MODE_8080_BUS_8_BIT 0x8
     112              : 
     113              : /** MIPI DBI tearing enable synchronization is disabled. */
     114            1 : #define MIPI_DBI_TE_NO_EDGE 0x0
     115              : 
     116              : /**
     117              :  * MIPI DBI tearing enable synchronization on rising edge of TE signal.
     118              :  * The controller will only send display write data on a rising edge of TE.
     119              :  * This should be used when the controller can send a frame worth of data
     120              :  * data to the display panel faster than the display panel can read a frame
     121              :  * from its RAM
     122              :  *
     123              :  *                   .------.                        .------.
     124              :  *     TE       -----'      '------------------------'      '-------------
     125              :  *              -----.        .----------------------.
     126              :  *     CS            '--------'                      '--------------------
     127              :  */
     128            1 : #define MIPI_DBI_TE_RISING_EDGE 0x1
     129              : 
     130              : /**
     131              :  * MIPI DBI tearing enable synchronization on falling edge of TE signal.
     132              :  * The controller will only send display write data on a falling edge of TE.
     133              :  * This should be used when the controller sends a frame worth of data
     134              :  * data to the display panel slower than the display panel can read a frame
     135              :  * from its RAM. TE synchronization in this mode will only work if the
     136              :  * controller can complete the write before the display panel completes 2
     137              :  * read cycles, otherwise the read pointer will "catch up" with the write
     138              :  * pointer.
     139              :  *
     140              :  *                   .------.                        .------.
     141              :  *     TE       -----'      '------------------------'      '-------------
     142              :  *              ------------.                                       .-----
     143              :  *     CS                   '---------------------------------------'
     144              :  */
     145            1 : #define MIPI_DBI_TE_FALLING_EDGE 0x2
     146              : 
     147              : /**
     148              :  * SPI transfer of DBI commands as 8-bit blocks, the default behaviour in
     149              :  * SPI 4 wire (Type C3) mode. The clocking diagram corresponds exactly to
     150              :  * the illustration of Type C3.
     151              :  */
     152            1 : #define MIPI_DBI_SPI_XFR_8BIT 8
     153              : /**
     154              :  * SPI transfer of DBI commands as 16-bit blocks, a rare and seldom behaviour
     155              :  * in SPI 4 wire (Type C3) mode. The corresponding clocking diagram is slightly
     156              :  * different to the illustration of Type C3.
     157              :  *
     158              :  *           .-. .-. .-. .-. .-. .-. .-. .-. .-. .-. .-. .-. .-. .-. .-. .-.
     159              :  *     SCK  -' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '---
     160              :  *
     161              :  *          -.---.---.---.---.---.---.---.---.---.---.---.---.---.---.---.---.-
     162              :  *     DOUT  |D15|D14|D13|D12|D11|D10| D9| D8| D7| D6| D5| D4| D3| D2| D1| D0|
     163              :  *          -'---'---'---'---'---'---'---'---'---'---'---'---'---'---'---'---'-
     164              :  *           | Word 1             (stuffing) :                        (byte) |
     165              :  *
     166              :  *          -.                                                               .-
     167              :  *     CS    '---------------------------------------------------------------'
     168              :  *
     169              :  *          -.---------------------------------------------------------------.-
     170              :  *     CD    |                              D/C                              |
     171              :  *          -'---------------------------------------------------------------'-
     172              :  */
     173            1 : #define MIPI_DBI_SPI_XFR_16BIT 16
     174              : 
     175              : /**
     176              :  * @}
     177              :  */
     178              : 
     179              : 
     180              : #endif /* ZEPHYR_INCLUDE_DT_BINDINGS_MIPI_DBI_MIPI_DBI_H_ */
        

Generated by: LCOV version 2.0-1