hal_gdc_mipi.h
Go to the documentation of this file.
1 /**
2 ****************************************************************************************
3 *
4 * @file hal_gdc_mipi.h
5 * @author BLE Driver Team
6 * @brief Header file containing functions prototypes of Graphics library.
7 *
8 ****************************************************************************************
9 * @attention
10 #####Copyright (c) 2019 GOODIX
11 All rights reserved.
12
13 Redistribution and use in source and binary forms, with or without
14 modification, are permitted provided that the following conditions are met:
15 * Redistributions of source code must retain the above copyright
16 notice, this list of conditions and the following disclaimer.
17 * Redistributions in binary form must reproduce the above copyright
18 notice, this list of conditions and the following disclaimer in the
19 documentation and/or other materials provided with the distribution.
20 * Neither the name of GOODIX nor the names of its contributors may be used
21 to endorse or promote products derived from this software without
22 specific prior written permission.
23
24 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE
28 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34 POSSIBILITY OF SUCH DAMAGE.
35 ****************************************************************************************
36 */
37
38 /** @addtogroup GRAPHICS_SDK Graphics
39 * @{
40 */
41
42 /** @addtogroup HAL_DC HAL DC
43 * @{
44 */
45
46 /** @defgroup HAL_GDC_MIPI GDC MIPI
47 * @brief DC-related MIPI function definition.
48 * @{
49 */
50
51 #ifndef HAL_GDC_MIPI_H__
52 #define HAL_GDC_MIPI_H__
53
54 #include "hal_gfx_sys_defs.h"
55
56 #pragma diag_suppress 61
57
58 /**
59 * @addtogroup HAL_GDC_MIPI_MACRO Defines
60 * @{
61 */
62 /** @defgroup HAL_GDC_MIPI_CFG The DC configuration
63 * @{
64 */
65 #define MIPICFG_DBI_EN (1U<<31U) /**< Enables MIPI DBI/SPI interface */
66 #define MIPICFG_FRC_CSX_0 (1U<<30U) /**< Enables CSX force value */
67 #define MIPICFG_FRC_CSX_1 ((1U<<30U)|(1U<<29U)) /**< Force CSX to 1 */
68 #define MIPICFG_SPI_CSX_V (1U<<29U) /**< CSX active high/low */
69 #define MIPICFG_DIS_TE (1U<<28U) /**< Disables Input Tearing Signal */
70 #define MIPICFG_SPIDC_DQSPI (1U<<27U) /**< Enables the usage of SPI_DC wire as SPI_SD1 */
71 #define MIPICFG_RSTN_DBI_SPI (1U<<26U) /**< DBI/SPI interfaces clear */
72 #define MIPICFG_RESX (1U<<25U) /**< Controls MIPI DBI Type-B RESX output signal */
73 #define MIPICFG_DMA (1U<<24U) /**< (unused) Enables pixel data from DMA */
74 #define MIPICFG_SPI3 (1U<<23U) /**< Enables SPI 3-wire interface */
75 #define MIPICFG_SPI4 (1U<<22U) /**< Enables SPI 4-wire interface */
76 #define MIPICFG_GPI ((1U<<23U)|(1U<<22U)) /**< Enables Generic Packet Interface */
77 #define MIPICFG_EN_STALL (1U<<21U) /**< Enables back-pressure from dbi_stall_i signal */
78 #define MIPICFG_SPI_CPHA (1U<<20U) /**< Sets SPI Clock Phase */
79 #define MIPICFG_SPI_CPOL (1U<<19U) /**< Sets SPI Clock Polarity */
80 #define MIPICFG_SPI_JDI (1U<<18U) /**< -- reserved -- */
81 #define MIPICFG_EN_DVALID (1U<<18U) /**< Enables read using external data valid signal */
82 #define MIPICFG_SPI_HOLD (1U<<17U) /**< Binds scanline address with pixel data */
83 #define MIPICFG_INV_ADDR (1U<<16U) /**< Inverts scanline address */
84 #define MIPICFG_SCAN_ADDR (1U<<15U) /**< Scan address used as header of each line */
85 #define MIPICFG_PIXCLK_OUT_EN (1U<<14U) /**< Redirects pixel generation clock to the output */
86 #define MIPICFG_EXT_CTRL (1U<<13U) /**< Enables external control signals */
87 #define MIPICFG_BLANKING_EN (1U<<12U) /**< Enables horizontal blanking */
88 #define MIPICFG_DSPI_SPIX (1U<<11U) /**< Enables DSPI sub-pixel transaction */
89 #define MIPICFG_QSPI (1U<<10U) /**< Enables QSPI */
90 #define MIPICFG_QSPI_DDR ((1U<<10U)|(1U<<9U)) /**< Enables QSPI DDR */
91 #define MIPICFG_DSPI (1U<< 9U) /**< Enables DSPI */
92 #define MIPICFG_SPI (0U<< 9U) /**< Enables SPI */
93 #define MIPICFG_NULL (0x00U) /**< MIPI CFG NULL */
94 /** @} */
95
96 /** @defgroup HAL_GDC_MIPI_OUTPUT_MODE The DC output mode defines
97 * @{
98 */
99 #define MIPI_DCS_RGB111 (1U) /**< Color mode RGB111 */
100 #define MIPI_DCS_RGB332 (2U) /**< Color mode RGB332 */
101 #define MIPI_DCS_RGB444 (3U) /**< Color mode RGB444 */
102 #define MIPI_DCS_RGB565 (5U) /**< Color mode RGB565 */
103 #define MIPI_DCS_RGB666 (6U) /**< Color mode RGB666 */
104 #define MIPI_DCS_RGB888 (7U) /**< Color mode RGB888 */
105
106 #define MIPICFG_PF_SPI (3U<<6U) /**< Interface mode SPI */
107 #define MIPICFG_PF_DSPI (4U<<6U) /**< Interface mode DSPI */
108 #define MIPICFG_PF_QSPI (5U<<6U) /**< Interface mode QSPI */
109 #define MIPICFG_PF_DBI8 (0U<<6U) /**< Interface mode DBI8 */
110 #define MIPICFG_PF_DBI9 (1U<<6U) /**< Interface mode DBI9 */
111 #define MIPICFG_PF_DBI16 (2U<<6U) /**< Interface mode DBI16 */
112 #define MIPICFG_PF_GPI (6U<<6U) /**< Interface mode GPI */
113
114 #define MIPICFG_PF_OPT0 (0U<<3U) /**< Option DBI_CFG:option 0 */
115 #define MIPICFG_PF_OPT1 (1U<<3U) /**< Option DBI_CFG:option 1 */
116 #define MIPICFG_PF_OPT2 (2U<<3U) /**< Option DBI_CFG:option 2 */
117 #define MIPICFG_PF_OPT3 (3U<<3U) /**< Option DBI_CFG:option 3 */
118 #define MIPICFG_PF_OPT4 (4U<<3U) /**< Option DBI_CFG:option 4 */
119
120 #define MIPICFG_1RGB111_OPT0 (MIPICFG_PF_SPI|MIPICFG_PF_OPT0|MIPI_DCS_RGB111) /**< 0xc1 */
121 #define MIPICFG_1RGB111_OPT1 (MIPICFG_PF_SPI|MIPICFG_PF_OPT1|MIPI_DCS_RGB111) /**< 0xc9 */
122 #define MIPICFG_1RGB111_OPT2 (MIPICFG_PF_SPI|MIPICFG_PF_OPT2|MIPI_DCS_RGB111) /**< 0xd1 */
123 #define MIPICFG_1RGB111_OPT3 (MIPICFG_PF_SPI|MIPICFG_PF_OPT3|MIPI_DCS_RGB111) /**< 0xd9 */
124 #define MIPICFG_1RGB111_OPT4 (MIPICFG_PF_SPI|MIPICFG_PF_OPT4|MIPI_DCS_RGB111) /**< 0xe1 */
125 #define MIPICFG_1RGB332_OPT0 (MIPICFG_PF_SPI|MIPICFG_PF_OPT0|MIPI_DCS_RGB332) /**< 0xc2 */
126 #define MIPICFG_1RGB444_OPT0 (MIPICFG_PF_SPI|MIPICFG_PF_OPT0|MIPI_DCS_RGB444) /**< 0xc3 */
127 #define MIPICFG_1RGB565_OPT0 (MIPICFG_PF_SPI|MIPICFG_PF_OPT0|MIPI_DCS_RGB565) /**< 0xc5 */
128 #define MIPICFG_1RGB666_OPT0 (MIPICFG_PF_SPI|MIPICFG_PF_OPT0|MIPI_DCS_RGB666) /**< 0xc6 */
129 #define MIPICFG_1RGB888_OPT0 (MIPICFG_PF_SPI|MIPICFG_PF_OPT0|MIPI_DCS_RGB888) /**< 0xc7 */
130 #define MIPICFG_2RGB332_OPT0 (MIPICFG_PF_DSPI|MIPICFG_PF_OPT0|MIPI_DCS_RGB332) /**< 0x102 */
131 #define MIPICFG_2RGB444_OPT0 (MIPICFG_PF_DSPI|MIPICFG_PF_OPT0|MIPI_DCS_RGB444) /**< 0x103 */
132 #define MIPICFG_2RGB444_OPT1 (MIPICFG_PF_DSPI|MIPICFG_PF_OPT1|MIPI_DCS_RGB444) /**< 0x10b */
133 #define MIPICFG_2RGB565_OPT0 (MIPICFG_PF_DSPI|MIPICFG_PF_OPT0|MIPI_DCS_RGB565) /**< 0x105 */
134 #define MIPICFG_2RGB666_OPT0 (MIPICFG_PF_DSPI|MIPICFG_PF_OPT0|MIPI_DCS_RGB666) /**< 0x106 */
135 #define MIPICFG_2RGB666_OPT1 (MIPICFG_PF_DSPI|MIPICFG_PF_OPT1|MIPI_DCS_RGB666) /**< 0x10e */
136 #define MIPICFG_2RGB888_OPT0 (MIPICFG_PF_DSPI|MIPICFG_PF_OPT0|MIPI_DCS_RGB888) /**< 0x107 */
137 #define MIPICFG_2RGB888_OPT1 (MIPICFG_PF_DSPI|MIPICFG_PF_OPT1|MIPI_DCS_RGB888) /**< 0x10f */
138 #define MIPICFG_4RGB111_OPT0 (MIPICFG_PF_QSPI|MIPICFG_PF_OPT0|MIPI_DCS_RGB111) /**< 0x141 */
139 #define MIPICFG_4RGB332_OPT0 (MIPICFG_PF_QSPI|MIPICFG_PF_OPT0|MIPI_DCS_RGB332) /**< 0x142 */
140 #define MIPICFG_4RGB444_OPT0 (MIPICFG_PF_QSPI|MIPICFG_PF_OPT0|MIPI_DCS_RGB444) /**< 0x143 */
141 #define MIPICFG_4RGB565_OPT0 (MIPICFG_PF_QSPI|MIPICFG_PF_OPT0|MIPI_DCS_RGB565) /**< 0x145 */
142 #define MIPICFG_4RGB666_OPT0 (MIPICFG_PF_QSPI|MIPICFG_PF_OPT0|MIPI_DCS_RGB666) /**< 0x146 */
143 #define MIPICFG_4RGB888_OPT0 (MIPICFG_PF_QSPI|MIPICFG_PF_OPT0|MIPI_DCS_RGB888) /**< 0x147 */
144
145 #define MIPICFG_8RGB332_OPT0 (MIPICFG_PF_DBI8|MIPICFG_PF_OPT0|MIPI_DCS_RGB332) /**< 0x2 */
146 #define MIPICFG_8RGB444_OPT0 (MIPICFG_PF_DBI8|MIPICFG_PF_OPT0|MIPI_DCS_RGB444) /**< 0x3 */
147 #define MIPICFG_8RGB565_OPT0 (MIPICFG_PF_DBI8|MIPICFG_PF_OPT0|MIPI_DCS_RGB565) /**< 0x5 */
148 #define MIPICFG_8RGB666_OPT0 (MIPICFG_PF_DBI8|MIPICFG_PF_OPT0|MIPI_DCS_RGB666) /**< 0x6 */
149 #define MIPICFG_8RGB888_OPT0 (MIPICFG_PF_DBI8|MIPICFG_PF_OPT0|MIPI_DCS_RGB888) /**< 0x7 */
150 #define MIPICFG_16RGB332_OPT0 (MIPICFG_PF_DBI16|MIPICFG_PF_OPT0|MIPI_DCS_RGB332) /**< 0x82 */
151 #define MIPICFG_16RGB444_OPT0 (MIPICFG_PF_DBI16|MIPICFG_PF_OPT0|MIPI_DCS_RGB444) /**< 0x83 */
152 #define MIPICFG_16RGB565_OPT0 (MIPICFG_PF_DBI16|MIPICFG_PF_OPT0|MIPI_DCS_RGB565) /**< 0x85 */
153 #define MIPICFG_16RGB666_OPT0 (MIPICFG_PF_DBI16|MIPICFG_PF_OPT0|MIPI_DCS_RGB666) /**< 0x86 */
154 #define MIPICFG_16RGB666_OPT1 (MIPICFG_PF_DBI16|MIPICFG_PF_OPT1|MIPI_DCS_RGB666) /**< 0x8e */
155 #define MIPICFG_16RGB888_OPT0 (MIPICFG_PF_DBI16|MIPICFG_PF_OPT0|MIPI_DCS_RGB888) /**< 0x87 */
156 #define MIPICFG_16RGB888_OPT1 (MIPICFG_PF_DBI16|MIPICFG_PF_OPT1|MIPI_DCS_RGB888) /**< 0x8f */
157 #define MIPICFG_9RGB666_OPT0 (MIPICFG_PF_DBI9|MIPICFG_PF_OPT0|MIPI_DCS_RGB666) /**< 0x46 */
158 #define MIPICFG_32RGB332_OPT0 (MIPICFG_PF_GPI |MIPICFG_PF_OPT0|MIPI_DCS_RGB332) /**< 0x182 */
159 #define MIPICFG_32RGB444_OPT0 (MIPICFG_PF_GPI |MIPICFG_PF_OPT0|MIPI_DCS_RGB444) /**< 0x183 */
160 #define MIPICFG_32RGB565_OPT0 (MIPICFG_PF_GPI |MIPICFG_PF_OPT0|MIPI_DCS_RGB565) /**< 0x185 */
161 #define MIPICFG_32RGB666_OPT0 (MIPICFG_PF_GPI |MIPICFG_PF_OPT0|MIPI_DCS_RGB666) /**< 0x186 */
162 #define MIPICFG_32RGB666_OPT1 (MIPICFG_PF_GPI |MIPICFG_PF_OPT1|MIPI_DCS_RGB666) /**< 0x18e */
163 #define MIPICFG_32RGB888_OPT0 (MIPICFG_PF_GPI |MIPICFG_PF_OPT0|MIPI_DCS_RGB888) /**< 0x187 */
164 /** @} */
165
166 /** @defgroup HAL_GDC_MIPI_SET_MODE The DC set mode
167 * @{
168 */
169 #define hal_gdc_MIPI_set_mode hal_gdc_MIPI_set_pixel_format /**< for backward compatibility */
170 /** @} */
171
172 /** @} */
173
174 /** @addtogroup HAL_GDC_MIPI_ENUM Enumerations
175 * @{
176 */
177 /**
178 * @brief MIPI Command List definition
179 */
180 typedef enum {
181 MIPI_enter_idle_mode = 0x39, /**< Enter idle mode. */
182 MIPI_enter_invert_mode = 0x21, /**< Enter invert mode. */
183 MIPI_enter_normal_mode = 0x13, /**< Enter normal mode. */
184 MIPI_enter_partial_mode = 0x12, /**< Enter partial mode. */
185 MIPI_enter_sleep_mode = 0x10, /**< Enter sleep mode. */
186 MIPI_exit_idle_mode = 0x38, /**< Exit idle mode. */
187 MIPI_exit_invert_mode = 0x20, /**< Exit invert mode. */
188 MIPI_exit_sleep_mode = 0x11, /**< Exit sleep mode. */
189 MIPI_get_3D_control = 0x3f, /**< Get 3D control. */
190 MIPI_get_address_mode = 0x0b, /**< Get address mode. */
191 MIPI_get_blue_channel = 0x08, /**< Get blue channel. */
192 MIPI_get_diagnostic_result = 0x0f, /**< Get diagnostic result. */
193 MIPI_get_display_mode = 0x0d, /**< Get display mode. */
194 MIPI_get_green_channel = 0x07, /**< Get green channel. */
195 MIPI_get_pixel_format = 0x0c, /**< Get pixel format. */
196 MIPI_get_power_mode = 0x0a, /**< Get power mode. */
197 MIPI_get_red_channel = 0x06, /**< Get red channel. */
198 MIPI_get_scanline = 0x45, /**< Get scanline. */
199 MIPI_get_signal_mode = 0x0e, /**< Get signal mode. */
200 MIPI_nop = 0x00, /**< MIPI nop. */
201 MIPI_read_DDB_continue = 0xa8, /**< Read DDB continue. */
202 MIPI_read_DDB_start = 0xa1, /**< Read DDB start. */
203 MIPI_read_memory_continue = 0x3e, /**< Read memory continue. */
204 MIPI_read_memory_start = 0x2e, /**< Read memory start. */
205 MIPI_set_3D_control = 0x3d, /**< Set 3D control. */
206 MIPI_set_address_mode = 0x36, /**< Set address mode. */
207 MIPI_set_column_address = 0x2a, /**< Set column address. */
208 MIPI_set_display_off = 0x28, /**< Set display off. */
209 MIPI_set_display_on = 0x29, /**< Set display on. */
210 MIPI_set_gamma_curve = 0x26, /**< Set gamma curve. */
211 MIPI_set_page_address = 0x2b, /**< Set page address. */
212 MIPI_set_partial_columns = 0x31, /**< Set partial columns. */
213 MIPI_set_partial_rows = 0x30, /**< Set partial rows. */
214 MIPI_set_pixel_format = 0x3a, /**< Set pixel format. */
215 MIPI_set_scroll_area = 0x33, /**< Set scroll area. */
216 MIPI_set_scroll_start = 0x37, /**< Set scroll start. */
217 MIPI_set_tear_off = 0x34, /**< Set tear off. */
218 MIPI_set_tear_on = 0x35, /**< Set tear on. */
219 MIPI_set_tear_scanline = 0x44, /**< Set tear scanline. */
220 MIPI_set_vsync_timing = 0x40, /**< Set vsync timing. */
221 MIPI_soft_reset = 0x01, /**< Soft reset. */
222 MIPI_write_LUT = 0x2d, /**< Write LUT. */
223 MIPI_write_memory_continue = 0x3c, /**< Write memory continue. */
224 MIPI_write_memory_start = 0x2c, /**< Write memory start. */
225 MIPI_snapshot = 0xff, /**< snapshot. */
226 MIPI_DBIB_STORE_BASE_ADDR = (1 <<31), /**< DBIB store base addr. */
227 MIPI_DBIB_CMD = (1U<<30), /**< DBIB CMD. */
228 MIPI_CMD08 = (0U<<28), /**< Set cmd width to 8bit */
229 MIPI_CMD16 = (1U<<28), /**< Set cmd width to 16bit */
230 MIPI_CMD24 = (1U<<29), /**< Set cmd width to 24bit */
231 MIPI_MASK_QSPI = (1U<<27), /**< Qspi is forced to single line */
232 } hal_gdc_mipi_cmd_t;
233
234 /** @} */
235
236 /** @addtogroup HAL_GDC_MIPI_FUNCTION Functions
237 * @{
238 */
239 /**
240 *****************************************************************************************
241 * @brief Send command or data to MIPI Interface.
242 *
243 * @param[in] cmd: command or data to be sent
244 *****************************************************************************************
245 */
246 void hal_gdc_MIPI_out(int cmd);
247
248 /**
249 *****************************************************************************************
250 * @brief Configure hal_gdc's serial interace.
251 *
252 * @param[in] cfg: configuration mode
253 *****************************************************************************************
254 */
255 void hal_gdc_MIPI_CFG_out(int cfg);
256
257 /**
258 *****************************************************************************************
259 * @brief Read data from MIPI interface.
260 *
261 * @return data form MIPI interface
262 *****************************************************************************************
263 */
264 int hal_gdc_MIPI_in(void);
265
266 /**
267 *****************************************************************************************
268 * @brief Read MIPI DBI Type-B parameters.
269 *
270 * @param[in] cmd: MIPI DCS command
271 * @param[in] n_params: Number of parameters to read (max: 3)
272 *
273 * @return The read parameters
274 *****************************************************************************************
275 */
276 unsigned hal_gdc_MIPI_read(int cmd, int n_params);
277
278 /**
279 *****************************************************************************************
280 * @brief Send DCS command to display over the physical interface.
281 *
282 * @param[in] cmd: MIPI DCS command
283 *****************************************************************************************
284 */
285 void hal_gdc_MIPI_cmd(int cmd);
286
287 /**
288 *****************************************************************************************
289 * @brief Similar to hal_gdc_MIPI_cmd, with command parameters.
290 *
291 * @param[in] cmd: MIPI DCS command
292 * @param[in] n_params: Number of cmd parameters
293 *****************************************************************************************
294 */
295 void hal_gdc_MIPI_cmd_params(int cmd, int n_params,...);
296
297 /**
298 *****************************************************************************************
299 * @brief Does Partial Update in MIPI.
300 *
301 * @param[in] start_x: start x coordinate
302 * @param[in] start_y: start y coordinate
303 * @param[in] end_x: end x coordinate
304 * @param[in] end_y: end y coordinate
305 *
306 * @return Always 1, user can ignore the result
307 *****************************************************************************************
308 */
309 int hal_gdc_MIPI_updateregion(int start_x, int start_y,int end_x, int end_y);
310
311 /**
312 *****************************************************************************************
313 * @brief Convenience function. Sends exit_sleep and display_on commands.
314 *****************************************************************************************
315 */
316 void hal_gdc_MIPI_enable(void);
317
318 /**
319 *****************************************************************************************
320 * @brief Convenience function. Sends display_off and enter_sleep_mode commands.
321 *****************************************************************************************
322 */
323 void hal_gdc_MIPI_disable(void);
324
325 /**
326 *****************************************************************************************
327 * @brief Set the display pixel format. Sends set_pixel_format command to the display.
328 *
329 * @param[in] pixel_format: pixel format
330 *****************************************************************************************
331 */
332 void hal_gdc_MIPI_set_pixel_format(int pixel_format);
333
334 /**
335 *****************************************************************************************
336 * @brief Set the frame position. Sends set_column_address and set_page_address commands.
337 *
338 * @param[in] minx: frames' minimum x
339 * @param[in] miny: frames' minimum y
340 * @param[in] maxx: frame's maximum x
341 * @param[in] maxy: frame's maximum y
342 *****************************************************************************************
343 */
344 void hal_gdc_MIPI_set_position(int minx, int miny, int maxx, int maxy);
345
346 /**
347 *****************************************************************************************
348 * @brief Set the display partial area and enter Partial Display Mode.
349 *
350 * @param[in] minx: partial areas' minimum x
351 * @param[in] miny: partial areas' minimum y
352 * @param[in] maxx: partial areas' maximum x
353 * @param[in] maxy: partial areas' maximum y
354 *****************************************************************************************
355 */
356 void hal_gdc_MIPI_set_partial_mode(int minx, int miny, int maxx, int maxy);
357
358 /**
359 *****************************************************************************************
360 * @brief Convenience function. Send a write_memory_start command in order to start transfering the frame to the display.
361 *****************************************************************************************
362 */
363 void hal_gdc_MIPI_start_frame_transfer(void);
364
365 /** @} */
366
367 #endif // HAL_GDC_MIPI_H__
368 /** @} */
369 /** @} */
370 /** @} */
371
MIPI_CMD16
@ MIPI_CMD16
Set cmd width to 16bit.
Definition: hal_gdc_mipi.h:229
hal_gdc_MIPI_read
unsigned hal_gdc_MIPI_read(int cmd, int n_params)
Read MIPI DBI Type-B parameters.
MIPI_write_LUT
@ MIPI_write_LUT
Write LUT.
Definition: hal_gdc_mipi.h:222
hal_gdc_MIPI_in
int hal_gdc_MIPI_in(void)
Read data from MIPI interface.
MIPI_MASK_QSPI
@ MIPI_MASK_QSPI
Qspi is forced to single line.
Definition: hal_gdc_mipi.h:231
MIPI_set_display_on
@ MIPI_set_display_on
Set display on.
Definition: hal_gdc_mipi.h:209
MIPI_enter_partial_mode
@ MIPI_enter_partial_mode
Enter partial mode.
Definition: hal_gdc_mipi.h:184
MIPI_set_display_off
@ MIPI_set_display_off
Set display off.
Definition: hal_gdc_mipi.h:208
MIPI_exit_idle_mode
@ MIPI_exit_idle_mode
Exit idle mode.
Definition: hal_gdc_mipi.h:186
MIPI_set_scroll_start
@ MIPI_set_scroll_start
Set scroll start.
Definition: hal_gdc_mipi.h:216
MIPI_DBIB_STORE_BASE_ADDR
@ MIPI_DBIB_STORE_BASE_ADDR
DBIB store base addr.
Definition: hal_gdc_mipi.h:226
MIPI_read_memory_start
@ MIPI_read_memory_start
Read memory start.
Definition: hal_gdc_mipi.h:204
hal_gdc_MIPI_cmd
void hal_gdc_MIPI_cmd(int cmd)
Send DCS command to display over the physical interface.
MIPI_set_tear_on
@ MIPI_set_tear_on
Set tear on.
Definition: hal_gdc_mipi.h:218
MIPI_set_scroll_area
@ MIPI_set_scroll_area
Set scroll area.
Definition: hal_gdc_mipi.h:215
hal_gdc_MIPI_start_frame_transfer
void hal_gdc_MIPI_start_frame_transfer(void)
Convenience function.
MIPI_get_green_channel
@ MIPI_get_green_channel
Get green channel.
Definition: hal_gdc_mipi.h:194
MIPI_DBIB_CMD
@ MIPI_DBIB_CMD
DBIB CMD.
Definition: hal_gdc_mipi.h:227
MIPI_get_blue_channel
@ MIPI_get_blue_channel
Get blue channel.
Definition: hal_gdc_mipi.h:191
hal_gfx_sys_defs.h
hal_gdc_MIPI_set_pixel_format
void hal_gdc_MIPI_set_pixel_format(int pixel_format)
Set the display pixel format.
MIPI_read_DDB_start
@ MIPI_read_DDB_start
Read DDB start.
Definition: hal_gdc_mipi.h:202
MIPI_CMD08
@ MIPI_CMD08
Set cmd width to 8bit.
Definition: hal_gdc_mipi.h:228
MIPI_CMD24
@ MIPI_CMD24
Set cmd width to 24bit.
Definition: hal_gdc_mipi.h:230
MIPI_set_partial_rows
@ MIPI_set_partial_rows
Set partial rows.
Definition: hal_gdc_mipi.h:213
MIPI_set_tear_off
@ MIPI_set_tear_off
Set tear off.
Definition: hal_gdc_mipi.h:217
MIPI_get_signal_mode
@ MIPI_get_signal_mode
Get signal mode.
Definition: hal_gdc_mipi.h:199
MIPI_set_tear_scanline
@ MIPI_set_tear_scanline
Set tear scanline.
Definition: hal_gdc_mipi.h:219
hal_gdc_MIPI_set_partial_mode
void hal_gdc_MIPI_set_partial_mode(int minx, int miny, int maxx, int maxy)
Set the display partial area and enter Partial Display Mode.
MIPI_read_memory_continue
@ MIPI_read_memory_continue
Read memory continue.
Definition: hal_gdc_mipi.h:203
MIPI_set_partial_columns
@ MIPI_set_partial_columns
Set partial columns.
Definition: hal_gdc_mipi.h:212
MIPI_write_memory_continue
@ MIPI_write_memory_continue
Write memory continue.
Definition: hal_gdc_mipi.h:223
MIPI_get_display_mode
@ MIPI_get_display_mode
Get display mode.
Definition: hal_gdc_mipi.h:193
MIPI_get_address_mode
@ MIPI_get_address_mode
Get address mode.
Definition: hal_gdc_mipi.h:190
hal_gdc_MIPI_set_position
void hal_gdc_MIPI_set_position(int minx, int miny, int maxx, int maxy)
Set the frame position.
MIPI_enter_invert_mode
@ MIPI_enter_invert_mode
Enter invert mode.
Definition: hal_gdc_mipi.h:182
MIPI_enter_idle_mode
@ MIPI_enter_idle_mode
Enter idle mode.
Definition: hal_gdc_mipi.h:181
MIPI_enter_sleep_mode
@ MIPI_enter_sleep_mode
Enter sleep mode.
Definition: hal_gdc_mipi.h:185
hal_gdc_MIPI_updateregion
int hal_gdc_MIPI_updateregion(int start_x, int start_y, int end_x, int end_y)
Does Partial Update in MIPI.
MIPI_get_scanline
@ MIPI_get_scanline
Get scanline.
Definition: hal_gdc_mipi.h:198
MIPI_set_page_address
@ MIPI_set_page_address
Set page address.
Definition: hal_gdc_mipi.h:211
MIPI_get_diagnostic_result
@ MIPI_get_diagnostic_result
Get diagnostic result.
Definition: hal_gdc_mipi.h:192
MIPI_set_3D_control
@ MIPI_set_3D_control
Set 3D control.
Definition: hal_gdc_mipi.h:205
MIPI_get_red_channel
@ MIPI_get_red_channel
Get red channel.
Definition: hal_gdc_mipi.h:197
MIPI_get_3D_control
@ MIPI_get_3D_control
Get 3D control.
Definition: hal_gdc_mipi.h:189
MIPI_snapshot
@ MIPI_snapshot
snapshot.
Definition: hal_gdc_mipi.h:225
MIPI_set_pixel_format
@ MIPI_set_pixel_format
Set pixel format.
Definition: hal_gdc_mipi.h:214
hal_gdc_MIPI_disable
void hal_gdc_MIPI_disable(void)
Convenience function.
hal_gdc_MIPI_out
void hal_gdc_MIPI_out(int cmd)
Send command or data to MIPI Interface.
MIPI_set_gamma_curve
@ MIPI_set_gamma_curve
Set gamma curve.
Definition: hal_gdc_mipi.h:210
hal_gdc_MIPI_CFG_out
void hal_gdc_MIPI_CFG_out(int cfg)
Configure hal_gdc's serial interace.
hal_gdc_MIPI_cmd_params
void hal_gdc_MIPI_cmd_params(int cmd, int n_params,...)
Similar to hal_gdc_MIPI_cmd, with command parameters.
MIPI_read_DDB_continue
@ MIPI_read_DDB_continue
Read DDB continue.
Definition: hal_gdc_mipi.h:201
MIPI_nop
@ MIPI_nop
MIPI nop.
Definition: hal_gdc_mipi.h:200
MIPI_write_memory_start
@ MIPI_write_memory_start
Write memory start.
Definition: hal_gdc_mipi.h:224
MIPI_soft_reset
@ MIPI_soft_reset
Soft reset.
Definition: hal_gdc_mipi.h:221
MIPI_exit_invert_mode
@ MIPI_exit_invert_mode
Exit invert mode.
Definition: hal_gdc_mipi.h:187
MIPI_exit_sleep_mode
@ MIPI_exit_sleep_mode
Exit sleep mode.
Definition: hal_gdc_mipi.h:188
hal_gdc_mipi_cmd_t
hal_gdc_mipi_cmd_t
MIPI Command List definition.
Definition: hal_gdc_mipi.h:180
MIPI_enter_normal_mode
@ MIPI_enter_normal_mode
Enter normal mode.
Definition: hal_gdc_mipi.h:183
MIPI_set_vsync_timing
@ MIPI_set_vsync_timing
Set vsync timing.
Definition: hal_gdc_mipi.h:220
MIPI_set_address_mode
@ MIPI_set_address_mode
Set address mode.
Definition: hal_gdc_mipi.h:206
hal_gdc_MIPI_enable
void hal_gdc_MIPI_enable(void)
Convenience function.
MIPI_set_column_address
@ MIPI_set_column_address
Set column address.
Definition: hal_gdc_mipi.h:207
MIPI_get_pixel_format
@ MIPI_get_pixel_format
Get pixel format.
Definition: hal_gdc_mipi.h:195
MIPI_get_power_mode
@ MIPI_get_power_mode
Get power mode.
Definition: hal_gdc_mipi.h:196