Mipi.h
Go to the documentation of this file.
1 /****
2  * Mipi.h
3  *
4  * This file is part of the Sming-Graphics Library
5  *
6  * This library is free software: you can redistribute it and/or modify it under the terms of the
7  * GNU General Public License as published by the Free Software Foundation, version 3 or later.
8  *
9  * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
10  * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11  * See the GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License along with this library.
14  * If not, see <https://www.gnu.org/licenses/>.
15  *
16  ****/
17 
18 #pragma once
19 
20 namespace Graphics
21 {
22 namespace Mipi
23 {
24 /* Defines for Mobile Industry Processor Interface (MIPI) */
25 
26 /* MIPI Display Serial Interface (DSI) commands. See: https://en.wikipedia.org/wiki/Display_Serial_Interface */
28  DSI_V_SYNC_START = 0x01,
29  DSI_V_SYNC_END = 0x11,
30  DSI_H_SYNC_START = 0x21,
31  DSI_H_SYNC_END = 0x31,
32 
33  DSI_COMPRESSION_MODE = 0x07,
35 
36  DSI_COLOR_MODE_OFF = 0x02,
40 
44 
48 
49  DSI_DCS_SHORT_WRITE = 0x05,
51 
52  DSI_DCS_READ = 0x06,
53  DSI_EXECUTE_QUEUE = 0x16,
54 
56 
58  DSI_BLANKING_PACKET = 0x19,
60  DSI_DCS_LONG_WRITE = 0x39,
61 
64 
68 
72 
77 };
78 
79 /* MIPI DSI Peripheral-to-Processor transaction types */
89 };
90 
91 /* MIPI Display Command Set (DCS).
92  *
93  * The Display Command Set (DCS) is a set of common commands for controlling the display device,
94  * and their format is specified by the DSI standard. It defines registers that can be addressed and what their operation is.
95  * It includes basic commands such as sleep, enable, and invert display.
96  *
97  * See: https://en.wikipedia.org/wiki/Display_Serial_Interface
98  * See: https://www.mipi.org/specifications/display-command-set
99  */
101  DCS_NOP = 0x00,
106  DCS_GET_RED_CHANNEL = 0x06,
109  DCS_GET_DISPLAY_STATUS = 0x09,
122  DCS_EXIT_INVERT_MODE = 0x20,
123  DCS_ENTER_INVERT_MODE = 0x21,
124  DCS_SET_GAMMA_CURVE = 0x26,
125  DCS_SET_DISPLAY_OFF = 0x28,
126  DCS_SET_DISPLAY_ON = 0x29,
127  DCS_SET_COLUMN_ADDRESS = 0x2A,
128  DCS_SET_PAGE_ADDRESS = 0x2B,
129  DCS_WRITE_MEMORY_START = 0x2C,
132  DCS_SET_PARTIAL_ROWS = 0x30, /* MIPI DCS 1.02 - DCS_SET_PARTIAL_AREA before that */
149  DCS_SET_DISPLAY_BRIGHTNESS = 0x51, /* MIPI DCS 1.3 */
150  DCS_GET_DISPLAY_BRIGHTNESS = 0x52, /* MIPI DCS 1.3 */
151  DCS_WRITE_CONTROL_DISPLAY = 0x53, /* MIPI DCS 1.3 */
152  DCS_GET_CONTROL_DISPLAY = 0x54, /* MIPI DCS 1.3 */
153  DCS_WRITE_POWER_SAVE = 0x55, /* MIPI DCS 1.3 */
154  DCS_GET_POWER_SAVE = 0x56, /* MIPI DCS 1.3 */
155  DCS_SET_CABC_MIN_BRIGHTNESS = 0x5E, /* MIPI DCS 1.3 */
156  DCS_GET_CABC_MIN_BRIGHTNESS = 0x5F, /* MIPI DCS 1.3 */
161 };
162 
163 /* MIPI DCS Address Mode bits (also known as MADCTL) */
168  DCS_ADDRESS_MODE_REFRESH_BT = 0x10, // Does not affect image
171  DCS_ADDRESS_MODE_LATCH_RL = 0x04, // Does not affect image
174 };
175 
176 /* MIPI DCS pixel formats */
184 };
185 
186 } // namespace Mipi
187 } // namespace Graphics
@ DCS_SOFT_RESET
Definition: Mipi.h:132
@ DCS_WRITE_MEMORY_START
Definition: Mipi.h:159
@ DCS_WRITE_CONTROL_DISPLAY
Definition: Mipi.h:181
@ DCS_ENTER_IDLE_MODE
Definition: Mipi.h:170
@ DCS_SET_COLUMN_ADDRESS
Definition: Mipi.h:157
@ DCS_SET_PAGE_ADDRESS
Definition: Mipi.h:158
@ DCS_GET_SIGNAL_MODE
Definition: Mipi.h:144
@ DSI_DCS_SHORT_WRITE_PARAM
Definition: Mipi.h:95
@ DCS_PIXEL_FMT_16BIT
Definition: Mipi.h:210
@ DSI_BLANKING_PACKET
Definition: Mipi.h:103
@ DCS_SET_3D_CONTROL
Definition: Mipi.h:173
@ DCS_SET_PIXEL_FORMAT
Definition: Mipi.h:171
@ DCS_GET_PIXEL_FORMAT
Definition: Mipi.h:142
@ DSI_NULL_PACKET
Definition: Mipi.h:102
@ DCS_SET_DISPLAY_ON
Definition: Mipi.h:156
@ DSI_COLOR_MODE_OFF
Definition: Mipi.h:81
@ DSI_RX_DCS_SHORT_READ_RESPONSE_1BYTE
Definition: Mipi.h:117
@ DCS_GET_IMAGE_CHECKSUM_CT
Definition: Mipi.h:151
@ DCS_READ_PPS_CONTINUE
Definition: Mipi.h:190
@ DSI_RX_DCS_SHORT_READ_RESPONSE_2BYTE
Definition: Mipi.h:118
@ DCS_SET_DISPLAY_BRIGHTNESS
Definition: Mipi.h:179
@ DCS_GET_DISPLAY_STATUS
Definition: Mipi.h:139
@ DCS_SET_TEAR_SCANLINE
Definition: Mipi.h:177
@ DSI_COMPRESSED_PIXEL_STREAM
Definition: Mipi.h:108
@ DCS_GET_CONTROL_DISPLAY
Definition: Mipi.h:182
@ DCS_ADDRESS_MODE_RGB
Definition: Mipi.h:200
@ DCS_SET_ADDRESS_MODE
Definition: Mipi.h:167
@ DSI_TURN_ON_PERIPHERAL
Definition: Mipi.h:84
@ DCS_SET_TEAR_ON
Definition: Mipi.h:166
@ DCS_SET_CABC_MIN_BRIGHTNESS
Definition: Mipi.h:185
@ DCS_READ_DDB_CONTINUE
Definition: Mipi.h:189
SerialTransactionType
Definition: Mipi.h:110
@ DCS_GET_ERROR_COUNT_ON_DSI
Definition: Mipi.h:135
@ DSI_V_SYNC_START
Definition: Mipi.h:73
@ DCS_READ_MEMORY_CONTINUE
Definition: Mipi.h:174
@ DCS_GET_POWER_SAVE
Definition: Mipi.h:184
@ DCS_GET_DISPLAY_ID
Definition: Mipi.h:134
@ DSI_DCS_LONG_WRITE
Definition: Mipi.h:105
@ DSI_PACKED_PIXEL_STREAM_36
Definition: Mipi.h:115
@ DSI_V_SYNC_END
Definition: Mipi.h:74
@ DSI_PIXEL_STREAM_3BYTE_18
Definition: Mipi.h:120
@ DCS_WRITE_LUT
Definition: Mipi.h:160
@ DSI_H_SYNC_END
Definition: Mipi.h:76
@ DSI_GENERIC_SHORT_WRITE_1_PARAM
Definition: Mipi.h:87
@ DCS_GET_COMPRESSION_MODE
Definition: Mipi.h:133
@ DCS_SET_VSYNC_TIMING
Definition: Mipi.h:176
@ DSI_COLOR_MODE_ON
Definition: Mipi.h:82
@ DCS_WRITE_POWER_SAVE
Definition: Mipi.h:183
@ DSI_GENERIC_LONG_WRITE
Definition: Mipi.h:104
@ DCS_PIXEL_FMT_12BIT
Definition: Mipi.h:211
SerialInterfaceCommand
Definition: Mipi.h:57
@ DSI_DCS_READ
Definition: Mipi.h:97
@ DCS_SET_GAMMA_CURVE
Definition: Mipi.h:154
@ DCS_EXIT_INVERT_MODE
Definition: Mipi.h:152
@ DCS_ADDRESS_MODE_MIRROR_Y
Definition: Mipi.h:195
DcsAddressMode
Definition: Mipi.h:194
@ DCS_PIXEL_FMT_18BIT
Definition: Mipi.h:209
@ DCS_GET_DISPLAY_MODE
Definition: Mipi.h:143
@ DSI_RX_GENERIC_SHORT_READ_RESPONSE_1BYTE
Definition: Mipi.h:113
Definition: Virtual.h:30
@ DCS_READ_DDB_START
Definition: Mipi.h:187
@ DCS_SET_SCROLL_START
Definition: Mipi.h:168
@ DCS_EXIT_IDLE_MODE
Definition: Mipi.h:169
@ DSI_PACKED_PIXEL_STREAM_18
Definition: Mipi.h:119
@ DCS_WRITE_MEMORY_CONTINUE
Definition: Mipi.h:172
@ DCS_GET_ADDRESS_MODE
Definition: Mipi.h:141
@ DSI_DCS_SHORT_WRITE
Definition: Mipi.h:94
@ DCS_GET_DISPLAY_BRIGHTNESS
Definition: Mipi.h:180
@ DSI_PACKED_PIXEL_STREAM_24
Definition: Mipi.h:121
@ DCS_GET_3D_CONTROL
Definition: Mipi.h:175
@ DCS_SET_SCROLL_AREA
Definition: Mipi.h:164
@ DCS_GET_IMAGE_CHECKSUM_RGB
Definition: Mipi.h:150
@ DCS_ADDRESS_MODE_MIRROR_X
Definition: Mipi.h:196
@ DCS_ENTER_NORMAL_MODE
Definition: Mipi.h:149
@ DSI_COMPRESSION_MODE
Definition: Mipi.h:78
@ DCS_GET_BLUE_CHANNEL
Definition: Mipi.h:138
@ DSI_RX_DCS_LONG_READ_RESPONSE
Definition: Mipi.h:116
@ DSI_RX_ACKNOWLEDGE_AND_ERROR_REPORT
Definition: Mipi.h:111
@ DCS_SET_DISPLAY_OFF
Definition: Mipi.h:155
@ DCS_PIXEL_FMT_24BIT
Definition: Mipi.h:208
@ DCS_ADDRESS_MODE_BGR
Definition: Mipi.h:199
@ DCS_GET_SCANLINE
Definition: Mipi.h:178
@ DSI_EXECUTE_QUEUE
Definition: Mipi.h:98
@ DSI_PICTURE_PARAMETER_SET
Definition: Mipi.h:107
@ DCS_EXIT_SLEEP_MODE
Definition: Mipi.h:147
@ DSI_PACKED_PIXEL_STREAM_YCBCR16
Definition: Mipi.h:112
DisplayCommandSet
Definition: Mipi.h:130
@ DCS_ENTER_PARTIAL_MODE
Definition: Mipi.h:148
@ DCS_ENTER_INVERT_MODE
Definition: Mipi.h:153
@ DCS_ADDRESS_MODE_REFRESH_BT
Definition: Mipi.h:198
@ DSI_PACKED_PIXEL_STREAM_30
Definition: Mipi.h:114
@ DCS_ADDRESS_MODE_FLIP_X
Definition: Mipi.h:202
@ DCS_GET_GREEN_CHANNEL
Definition: Mipi.h:137
@ DSI_GENERIC_READ_REQUEST_2_PARAM
Definition: Mipi.h:92
@ DCS_SET_PARTIAL_COLUMNS
Definition: Mipi.h:163
@ DSI_END_OF_TRANSMISSION
Definition: Mipi.h:79
@ DSI_SET_MAXIMUM_RETURN_PACKET_SIZE
Definition: Mipi.h:100
@ DSI_LOOSELY_PACKED_PIXEL_STREAM_YCBCR20
Definition: Mipi.h:110
@ DSI_GENERIC_READ_REQUEST_0_PARAM
Definition: Mipi.h:90
@ DCS_GET_CABC_MIN_BRIGHTNESS
Definition: Mipi.h:186
@ DSI_RX_GENERIC_SHORT_READ_RESPONSE_2BYTE
Definition: Mipi.h:114
@ DCS_NOP
Definition: Mipi.h:131
@ DCS_SET_PARTIAL_ROWS
Definition: Mipi.h:162
@ DCS_ENTER_SLEEP_MODE
Definition: Mipi.h:146
@ DCS_PIXEL_FMT_8BIT
Definition: Mipi.h:212
@ DSI_PACKED_PIXEL_STREAM_YCBCR12
Definition: Mipi.h:116
@ DCS_ADDRESS_MODE_FLIP_Y
Definition: Mipi.h:203
@ DCS_ADDRESS_MODE_SWAP_XY
Definition: Mipi.h:197
@ DSI_GENERIC_SHORT_WRITE_2_PARAM
Definition: Mipi.h:88
@ DSI_SHUTDOWN_PERIPHERAL
Definition: Mipi.h:83
@ DSI_RX_GENERIC_LONG_READ_RESPONSE
Definition: Mipi.h:115
@ DSI_GENERIC_READ_REQUEST_1_PARAM
Definition: Mipi.h:91
DcsPixelFormat
Definition: Mipi.h:207
@ DSI_RX_END_OF_TRANSMISSION
Definition: Mipi.h:112
@ DSI_GENERIC_SHORT_WRITE_0_PARAM
Definition: Mipi.h:86
@ DCS_GET_RED_CHANNEL
Definition: Mipi.h:136
@ DCS_PIXEL_FMT_3BIT
Definition: Mipi.h:213
@ DCS_READ_MEMORY_START
Definition: Mipi.h:161
@ DSI_PACKED_PIXEL_STREAM_YCBCR24
Definition: Mipi.h:111
@ DCS_ADDRESS_MODE_LATCH_RL
Definition: Mipi.h:201
@ DSI_PACKED_PIXEL_STREAM_16
Definition: Mipi.h:118
@ DCS_GET_POWER_MODE
Definition: Mipi.h:140
@ DCS_READ_PPS_START
Definition: Mipi.h:188
@ DSI_H_SYNC_START
Definition: Mipi.h:75
@ DCS_GET_DIAGNOSTIC_RESULT
Definition: Mipi.h:145
@ DCS_SET_TEAR_OFF
Definition: Mipi.h:165