PDK API Guide for J721E
ds90ub926.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 _DS90UB926_H_
56 #define _DS90UB926_H_
57 
59 
60 #ifdef __cplusplus
61 extern "C" {
62 #endif
63 
77 #define BOARD_FPD_UB926_I2C_INSTANCE (0x03U)
78 
80 #define BOARD_FPD_UB926_I2C_SLV_ADDR (0x2CU)
81 
82 
84 #define BOARD_FPD_UB926_I2C_DEVICE_ID_REG_ADDR (0x00U)
85 
86 #define BOARD_FPD_UB926_RESET_REG_ADDR (0x01U)
87 
88 #define BOARD_FPD_UB926_CONFIGURATION1_REG_ADDR (0x03U)
89 
91 #define BOARD_FPD_UB926_DES_FREEZE_DEVID_REG_ADDR (0x01)
92 
93 #define BOARD_FPD_UB926_I2C_CONTROL1_REG_ADDR (0x05U)
94 
96 #define BOARD_FPD_UB926_REMOTE_DEVICE_ID_REG_ADDR (0x07U)
97 
99 #define BOARD_FPD_UB926_SLAVE_ID0_REG_ADDR (0x08U)
100 
102 #define BOARD_FPD_UB926_SLAVE_ALIAS0_REG_ADDR (0x10U)
103 
105 #define BOARD_FPD_UB926_GENERAL_STATUS_REG_ADDR (0x1CU)
106 
107 #define BOARD_FPD_UB926_DATA_PATH_CONTROL_REG_ADDR (0X22U)
108 
109 #define BOARD_FPD_UB926_SCL_HIGH_TIME_REG_ADDR (0x26U)
110 
111 #define BOARD_FPD_UB926_SCL_LOW_TIME_REG_ADDR (0x27U)
112 
114 #define BOARD_FPD_UB926_RMT_SER_SLAVE_DEVICE_ID_REG_ADDR (0x18U)
115 
116 #define BOARD_FPD_UB926_RMT_SER_ALIAS_SLAVE_DEVICE_ID_REG_ADDR (0x2AU)
117 
119 #define BOARD_FPD_UB926_DIGITAL_RESET1_SHIFT_CNT (1U)
120 
121 #define BOARD_FPD_UB926_BC_ENABLE_SHIFT_CNT (2U)
122 
123 #define BOARD_FPD_UB926_REMOTE_AUTO_PWR_DWN_SHIFT_CNT (7U)
124 
126 #define BOARD_FPD_UB926_ID_SETTING_SHIFT_CNT (0U)
127 
128 #define BOARD_FPD_UB926_DEVICE_ID_SHIFT_CNT (1U)
129 
131 #define BOARD_FPD_UB926_I2C_PASS_THROUGH_SHIFT_CNT (3U)
132 
133 #define BOARD_FPD_UB926_I2C_PASS_THROUGH_ALL_SHIFT_CNT (7U)
134 
136 #define BOARD_FPD_UB926_OVERRIDE_FC_CONFIG_SHIFT_CNT (7U)
137 
138 #define BOARD_FPD_UB926_PASS_RGB_SHIFT_CNT (6U)
139 
140 #define BOARD_FPD_UB926_RGB_18BIT_MODE_SHIFT_CNT (2U)
141 
142 #define BOARD_FPD_UB926_I2S_CHANNEL_B_OVERRIDE_SHIFT_CNT (3U)
143 
144 #define BOARD_FPD_UB926_I2S_GEN_SHIFT_CNT (4U)
145 
146 #define BOARD_FPD_UB926_I2S_TRANSPOER_SEL_SHIFT_CNT (1U)
147 
148 #define BOARD_FPD_UB926_I2S_CHANNEL_B_ENABLE_SHIFT_CNT (0U)
149 
150 #define BOARD_FPD_UB926_I2S_PLL_LOCK_STATUS_SHIFT_CNT (3U)
151 
152 /* Bit mask's used for different deserializer register configurations */
154 #define BOARD_FPD_UB926_DIGITAL_RESET1_BIT_MASK (uint8_t)(0x01 << BOARD_FPD_UB926_DIGITAL_RESET1_SHIFT_CNT)
155 
156 #define BOARD_FPD_UB926_REMOTE_AUTO_PWR_DWN_BIT_MASK (uint8_t)(0x01 << BOARD_FPD_UB926_REMOTE_AUTO_PWR_DWN_SHIFT_CNT)
157 
158 #define BOARD_FPD_UB926_BC_ENABLE_BIT_MASK (uint8_t)(0x01 << BOARD_FPD_UB926_BC_ENABLE_SHIFT_CNT)
159 
161 #define BOARD_FPD_UB926_ID_SETTING_BIT_MASK (uint8_t)(0x01 << BOARD_FPD_UB926_ID_SETTING_SHIFT_CNT)
162 
163 #define BOARD_FPD_UB926_DEVICE_ID_BIT_MASK (uint8_t)(0x07F << BOARD_FPD_UB926_DEVICE_ID_SHIFT_CNT)
164 
166 #define BOARD_FPD_UB926_I2C_PASS_THROUGH_BIT_MASK (uint8_t)(0x01 << BOARD_FPD_UB926_I2C_PASS_THROUGH_SHIFT_CNT)
167 
169 #define BOARD_FPD_UB926_I2C_PASS_THROUGH_ALL_BIT_MASK (uint8_t)(0x01 << BOARD_FPD_UB926_I2C_PASS_THROUGH_ALL_SHIFT_CNT)
170 
172 #define BOARD_FPD_UB926_OVERRIDE_FC_CONFIG_BIT_MASK (uint8_t)(0x01 << BOARD_FPD_UB926_OVERRIDE_FC_CONFIG_SHIFT_CNT)
173 
174 #define BOARD_FPD_UB926_PASS_RGB_BIT_MASK (uint8_t)(0x01 << BOARD_FPD_UB926_PASS_RGB_SHIFT_CNT)
175 
176 #define BOARD_FPD_UB926_I2S_GEN_BIT_MASK (uint8_t)(0x01 << BOARD_FPD_UB926_I2S_GEN_SHIFT_CNT)
177 
178 #define BOARD_FPD_UB926_RGB_18BIT_MODE_BIT_MASK (uint8_t)(0x01 << BOARD_FPD_UB926_RGB_18BIT_MODE_SHIFT_CNT)
179 
180 #define BOARD_FPD_UB926_I2S_TRANSPOER_SEL_BIT_MASK (uint8_t)(0x01 << BOARD_FPD_UB926_I2S_TRANSPOER_SEL_SHIFT_CNT)
181 
182 #define BOARD_FPD_UB926_I2S_CHANNEL_B_ENABLE_BIT_MASK (uint8_t)(0x01 << BOARD_FPD_UB926_I2S_CHANNEL_B_ENABLE_SHIFT_CNT)
183 
184 #define BOARD_FPD_UB926_I2S_CHANNEL_B_OVERRIDE_BIT_MASK (uint8_t)(0x01 << BOARD_FPD_UB926_I2S_CHANNEL_B_OVERRIDE_SHIFT_CNT)
185 
186 #define BOARD_FPD_UB926_I2S_PLL_LOCK_STATUS_BIT_MASK (uint8_t)(0x01 << BOARD_FPD_UB926_I2S_PLL_LOCK_STATUS_SHIFT_CNT)
187 
188 /* @} */
189 
215 Board_STATUS Board_fpdUb926SetI2SChBEnableModeCtrl(void *handle,
216  Board_FpdModuleObj *fpdModParams,
217  uint8_t cfgMode);
218 
232 Board_STATUS Board_fpdUb926SetI2SChBOverrideModeCtrl(void *handle,
233  Board_FpdModuleObj *fpdModParams,
234  uint8_t cfgMode);
235 
249 Board_STATUS Board_fpdUb926SetI2STransportSelModeCtrl(void *handle,
250  Board_FpdModuleObj *fpdModParams,
251  uint8_t cfgMode);
252 
265 Board_STATUS Board_fpdUb926SetI2SGenModeCtrl(void *handle,
266  Board_FpdModuleObj *fpdModParams,
267  uint8_t cfgMode);
268 
281 Board_STATUS Board_fpdUb926SetPassRGBModeCtrl(void *handle,
282  Board_FpdModuleObj *fpdModParams,
283  uint8_t cfgMode);
284 
298 Board_STATUS Board_fpdUb926SetOverrideFCConfigModeCtrl(void *handle,
299  Board_FpdModuleObj *fpdModParams,
300  uint8_t cfgMode);
301 
315 Board_STATUS Board_fpdUb926SetRGB18bitModeCtrl(void *handle,
316  Board_FpdModuleObj *fpdModParams,
317  uint8_t cfgMode);
318 
332 Board_STATUS Board_fpdUb926GetPLLLockStatus(void *handle,
333  Board_FpdModuleObj *fpdModParams,
334  bool *pllLockStatus);
335 
336 
349 Board_STATUS Board_fpdUb926RmtSerSlvDevAliasIdCfg(void *handle,
350  Board_FpdModuleObj *fpdModParams,
351  Board_FpdRmtDevObj *fpdRmtParams);
352 
366 Board_STATUS Board_fpdUb926SetI2CPassThrAllModeCtrl(void *handle,
367  Board_FpdModuleObj *fpdModParams,
368  uint8_t cfgMode);
369 
383 Board_STATUS Board_fpdUb926SetI2CPassThrModeCtrl(void *handle,
384  Board_FpdModuleObj *fpdModParams,
385  uint8_t cfgMode);
386 
402 Board_STATUS Board_fpdUb926SetI2CBusFreq(void *handle,
403  Board_FpdModuleObj *fpdModParams,
404  uint8_t cfgBitRate);
405 
418 Board_STATUS Board_fpdUb926SetBackChModeCtrl(void *handle,
419  Board_FpdModuleObj *fpdModParams,
420  uint8_t cfgMode);
421 
434 Board_STATUS Board_fpdUb926SetDigitalRst1ModeCtrl(void *handle,
435  Board_FpdModuleObj *fpdModParams,
436  uint8_t cfgMode);
437 
450 Board_STATUS Board_fpdUb926SetRmtAutoPwrDwnModeCtrl(void *handle,
451  Board_FpdModuleObj *fpdModParams,
452  uint8_t cfgMode);
453 
466 void Board_fpdUb926GetI2CAddr(uint8_t *domain,
467  uint8_t *chNum,
468  uint8_t *i2cAddr);
469 
470 
471 #ifdef __cplusplus
472 }
473 #endif /* __cplusplus */
474 
475 #endif /* _DS90UB926_H_ */
476 
477 /* @} */
Board_STATUS Board_fpdUb926SetBackChModeCtrl(void *handle, Board_FpdModuleObj *fpdModParams, uint8_t cfgMode)
Deserializer back channel mode control.
Board_STATUS Board_fpdUb926SetI2STransportSelModeCtrl(void *handle, Board_FpdModuleObj *fpdModParams, uint8_t cfgMode)
I2S Transport select mode control.
Board_STATUS Board_fpdUb926SetOverrideFCConfigModeCtrl(void *handle, Board_FpdModuleObj *fpdModParams, uint8_t cfgMode)
Override forward channel configuation mode control.
Board_STATUS Board_fpdUb926SetI2SGenModeCtrl(void *handle, Board_FpdModuleObj *fpdModParams, uint8_t cfgMode)
I2S generation mode control.
Board_STATUS Board_fpdUb926SetI2SChBEnableModeCtrl(void *handle, Board_FpdModuleObj *fpdModParams, uint8_t cfgMode)
I2S channel-B enable mode control.
Board_STATUS Board_fpdUb926SetI2SChBOverrideModeCtrl(void *handle, Board_FpdModuleObj *fpdModParams, uint8_t cfgMode)
I2S channel-B override mode control.
FPD module object structure.
Definition: common.h:152
void Board_fpdUb926GetI2CAddr(uint8_t *domain, uint8_t *chNum, uint8_t *i2cAddr)
Get ub926 i2c address.
Board_STATUS Board_fpdUb926SetI2CPassThrModeCtrl(void *handle, Board_FpdModuleObj *fpdModParams, uint8_t cfgMode)
I2C pass through mode control.
Board_STATUS Board_fpdUb926SetI2CBusFreq(void *handle, Board_FpdModuleObj *fpdModParams, uint8_t cfgBitRate)
I2C bus frequency set.
Board_STATUS Board_fpdUb926GetPLLLockStatus(void *handle, Board_FpdModuleObj *fpdModParams, bool *pllLockStatus)
Get PLL lock status.
domgrp_t domain
Definition: tisci_pm_core.h:130
Board_STATUS Board_fpdUb926RmtSerSlvDevAliasIdCfg(void *handle, Board_FpdModuleObj *fpdModParams, Board_FpdRmtDevObj *fpdRmtParams)
Remote serializer slave device id config.
The macro definitions and function prototypes which are common across different board devices.
FPD remote device object structure.
Definition: common.h:141
Board_STATUS Board_fpdUb926SetRGB18bitModeCtrl(void *handle, Board_FpdModuleObj *fpdModParams, uint8_t cfgMode)
RGB 18-bit mode control.
Board_STATUS Board_fpdUb926SetI2CPassThrAllModeCtrl(void *handle, Board_FpdModuleObj *fpdModParams, uint8_t cfgMode)
I2C pass through all mode control.
Board_STATUS Board_fpdUb926SetRmtAutoPwrDwnModeCtrl(void *handle, Board_FpdModuleObj *fpdModParams, uint8_t cfgMode)
Remote auto-power down mode control.
Board_STATUS Board_fpdUb926SetPassRGBModeCtrl(void *handle, Board_FpdModuleObj *fpdModParams, uint8_t cfgMode)
Pass RGB mode control.
Board_STATUS Board_fpdUb926SetDigitalRst1ModeCtrl(void *handle, Board_FpdModuleObj *fpdModParams, uint8_t cfgMode)
Deserializer digital reset1 mode control.