1 /*
2  * Copyright 2024 NXP
3  * All rights reserved.
4  *
5  * SPDX-License-Identifier: BSD-3-Clause
6  */
7 
8 #ifndef _RPI_H_
9 #define _RPI_H_
10 
11 #include "fsl_display.h"
12 #include "fsl_mipi_dsi_cmd.h"
13 
14 /*******************************************************************************
15  * Definitions
16  ******************************************************************************/
17 #define RPI_ADDR 0x45U
18 
19 /*!
20  * @brief RaspberryPi 7" Display resource.
21  */
22 typedef struct _rpi_resource
23 {
24     mipi_dsi_device_t *dsiDevice;                              /*!< MIPI DSI device. */
25     status_t (*readStatus)(uint8_t regAddr, uint8_t *value);   /*!< Function to read and return register status. */
26     status_t (*writeRegister)(uint8_t regAddr, uint8_t value); /*!< Function to write register value. */
27 } rpi_resource_t;
28 
29 extern const display_operations_t rpi_ops;
30 
31 /*******************************************************************************
32  * API
33  ******************************************************************************/
34 
35 #if defined(__cplusplus)
36 extern "C" {
37 #endif
38 
39 status_t RPI_Init(display_handle_t *handle, const display_config_t *config);
40 
41 status_t RPI_Deinit(display_handle_t *handle);
42 
43 status_t RPI_Start(display_handle_t *handle);
44 
45 status_t RPI_Stop(display_handle_t *handle);
46 
47 #if defined(__cplusplus)
48 }
49 #endif
50 
51 #endif /* _RPI_H_ */
52