PDK API Guide for J721E
ds90ub960.h
Go to the documentation of this file.
1 /******************************************************************************
2  * Copyright (c) 2019 Texas Instruments Incorporated - http://www.ti.com
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  *
8  * Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  *
11  * Redistributions in binary form must reproduce the above copyright
12  * notice, this list of conditions and the following disclaimer in the
13  * documentation and/or other materials provided with the
14  * distribution.
15  *
16  * Neither the name of Texas Instruments Incorporated nor the names of
17  * its contributors may be used to endorse or promote products derived
18  * from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  *
32  *****************************************************************************/
33 
53 /* @} */
54 
55 #ifndef _DS90UB960_H_
56 #define _DS90UB960_H_
57 
59 
60 #ifdef __cplusplus
61 extern "C" {
62 #endif
63 
77 #define BOARD_FPD_UB953_PORT_0_SER_ALIAS_ADDR (0x74U)
78 
79 #define BOARD_PORT_0_SENSOR_ALIAS_ADDR (0x40U)
80 
81 #define BOARD_FPD_UB953_PORT_1_SER_ALIAS_ADDR (0x76U)
82 
83 #define BOARD_PORT_1_SENSOR_ALIAS_ADDR (0x42U)
84 
85 #define BOARD_FPD_UB953_PORT_2_SER_ALIAS_ADDR (0x78U)
86 
87 #define BOARD_PORT_2_SENSOR_ALIAS_ADDR (0x44U)
88 
89 #define BOARD_FPD_UB953_PORT_3_SER_ALIAS_ADDR (0x7AU)
90 
91 #define BOARD_PORT_3_SENSOR_ALIAS_ADDR (0x46U)
92 
101 #define BOARD_FPD_UB960_PG_RGB888_1280_720_30_FPS ((uint32_t) 0x0U)
102 
103 #define BOARD_FPD_UB960_PG_RGB888_1920_1080_30_FPS ((uint32_t) 0x1U)
104 
105 #define BOARD_FPD_UB960_UB953_PG_RGB888_1920_1080_30_FPS ((uint32_t) 0x2U)
106 
107 #define BOARD_FPD_UB960_PG_MAX ((uint32_t) 0x3U)
108 /* @} */
109 
118 #define BOARD_CSI_INST_0 ((uint32_t) 0x0U)
119 
120 #define BOARD_CSI_INST_1 ((uint32_t) 0x1U)
121 
122 #define BOARD_CSI_INST_2 ((uint32_t) 0x2U)
123 /* @} */
124 
125 /* @} */
126 
149 Board_STATUS Board_fpdUb960WriteReg(void *handle,
150  uint32_t slaveAddr,
151  uint8_t regAddr,
152  uint8_t regData);
153 
164 Board_STATUS Board_fpdUb960ReadReg(void *handle,
165  uint32_t slaveAddr,
166  uint8_t regAddr,
167  uint8_t *regData);
181 void Board_fpdU960GetI2CAddr(uint8_t *chNum,
182  uint8_t *i2cAddr,
183  uint32_t csiInst);
184 
197 Board_STATUS Board_fpdUb960CfgPG(void *handle,
198  Board_FpdModuleObj *fpdModParams,
199  uint32_t pgType);
200 
211 Board_STATUS Board_fpdUb960DesInit(void *handle,
212  Board_FpdModuleObj *fpdModParams);
213 
224 Board_STATUS Board_fpdUb960DesInitFusionBoardTIDA1130(void *handle,
225  Board_FpdModuleObj *fpdModParams);
226 
238 Board_STATUS Board_fpdUb960Cfg(void *handle,
239  Board_FpdModuleObj *fpdModParams,
240  Board_I2cRegProgObj *ub960Cfg);
241 #ifdef __cplusplus
242 }
243 #endif /* __cplusplus */
244 
245 #endif /* _DS90UB960_H_ */
246 
247 /* @} */
FPD remote device object structure.
Definition: common.h:165
Board_STATUS Board_fpdUb960CfgPG(void *handle, Board_FpdModuleObj *fpdModParams, uint32_t pgType)
FPD ub960 pattern generation configurations.
Board_STATUS Board_fpdUb960DesInitFusionBoardTIDA1130(void *handle, Board_FpdModuleObj *fpdModParams)
Initializes the FPD UB960 module for OV2775 sensor module.
Board_STATUS Board_fpdUb960Cfg(void *handle, Board_FpdModuleObj *fpdModParams, Board_I2cRegProgObj *ub960Cfg)
FPD ub960 configurations.
Board_STATUS Board_fpdUb960WriteReg(void *handle, uint32_t slaveAddr, uint8_t regAddr, uint8_t regData)
UB960 register write function.
FPD module object structure.
Definition: common.h:152
Board_STATUS Board_fpdUb960ReadReg(void *handle, uint32_t slaveAddr, uint8_t regAddr, uint8_t *regData)
UB960 register read fuunction.
The macro definitions and function prototypes which are common across different board devices.
Board_STATUS Board_fpdUb960DesInit(void *handle, Board_FpdModuleObj *fpdModParams)
Initializes the FPD UB960 module.
void Board_fpdU960GetI2CAddr(uint8_t *chNum, uint8_t *i2cAddr, uint32_t csiInst)
Get ub960 i2c address.