1 /*
2  * Copyright 2024 NXP
3  * All rights reserved.
4  *
5  * SPDX-License-Identifier: BSD-3-Clause
6  */
7 
8 #include "fsl_dbi.h"
9 
10 /*******************************************************************************
11  * Definitions
12  ******************************************************************************/
13 
14 /*******************************************************************************
15  * Prototypes
16  ******************************************************************************/
17 
18 /*******************************************************************************
19  * Variables
20  ******************************************************************************/
21 
22 /*******************************************************************************
23  * Code
24  ******************************************************************************/
25 #if !MCUX_DBI_LEGACY
DBI_IFACE_SelectArea(dbi_iface_t * dbiIface,uint16_t startX,uint16_t startY,uint16_t endX,uint16_t endY)26 status_t DBI_IFACE_SelectArea(dbi_iface_t *dbiIface, uint16_t startX, uint16_t startY, uint16_t endX, uint16_t endY)
27 {
28     uint8_t data[4];
29     status_t status;
30 
31     /*Column addresses*/
32     data[0] = (uint8_t)(startX >> 8U) & 0xFFU;
33     data[1] = (uint8_t)startX & 0xFFU;
34     data[2] = (uint8_t)(endX >> 8U) & 0xFFU;
35     data[3] = (uint8_t)endX & 0xFFU;
36 
37     status = DBI_IFACE_WriteCmdData(dbiIface, (uint8_t)kMIPI_DBI_SetColumnAddress, data, 4U);
38 
39     if (status != kStatus_Success)
40     {
41         return status;
42     }
43 
44     /*Page addresses*/
45     data[0] = (uint8_t)(startY >> 8U) & 0xFFU;
46     data[1] = (uint8_t)startY & 0xFFU;
47     data[2] = (uint8_t)(endY >> 8U) & 0xFFU;
48     data[3] = (uint8_t)endY & 0xFFU;
49 
50     status = DBI_IFACE_WriteCmdData(dbiIface, (uint8_t)kMIPI_DBI_SetPageAddress, data, 4U);
51 
52     return status;
53 }
54 
DBI_IFACE_SetMemoryDoneCallback(dbi_iface_t * dbiIface,dbi_mem_done_callback_t callback,void * userData)55 void DBI_IFACE_SetMemoryDoneCallback(dbi_iface_t *dbiIface, dbi_mem_done_callback_t callback, void *userData)
56 {
57     dbiIface->memDoneCallback      = callback;
58     dbiIface->memDoneCallbackParam = userData;
59 }
60 #endif /* !MCUX_DBI_LEGACY */
61