| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 | 
							- /*
 
-  * @file hv_drv_I2c.h
 
-  * @brief Header file of misc module.
 
-  *
 
-  * @verbatim
 
-  * ==============================================================================
 
-  *                        ##### How to use #####
 
-  * ==============================================================================
 
-  * (+) Use ()
 
-  *
 
-  * @endverbatim
 
-  * @author HiView SoC Software Team
 
-  * @version 1.0.0
 
-  * @date 2023-05-08
 
-  */
 
- #ifndef _HV_DRV_I2C_H
 
- #define _HV_DRV_I2C_H
 
- /** @defgroup DRV_I2C DRV_I2C
 
-  *  drv i2c functions
 
-  *  @{
 
-  */
 
- /** Initialize i2c
 
-  *  @param pstInitParam pointer to i2c configuration parameters
 
-  *  @return i2c handler
 
-  */
 
- HvCalI2c*  Hv_Drv_I2C_Init(I2cInitParam *pstInitParam);
 
- /** Set i2c transfer speed
 
-  *  @param pstSelf i2c handler
 
-  *  @param enI2cSpeed i2c transfer speed
 
-  */
 
- void Hv_Drv_I2c_Setpeed(HvCalI2c *pstSelf, I2cSpeed enI2cSpeed );
 
- /** De-initialize i2c
 
-  *  @param pstSelf i2c handler
 
-  *  @return result
 
-  */
 
- Status Hv_Drv_I2C_Cleanup(HvCalI2c *pstSelf);
 
- USHORT16 Hv_Drv_I2C_GetRxDataCount(HvCalI2c *pstSelf);
 
- /** Transmits in master mode an amount of data in blocking mode.
 
-  *  @param pstSelf i2c handler
 
-  *  @param pstParam target device address
 
-  *  pointer to command data buffer
 
-  *  command length
 
-  *  pointer to data buffer to be transmited
 
-  *  amount of data to be sent
 
-  *  @param uiTimeout uiTimeout duration
 
-   * @retval Status
 
-  */
 
- Status Hv_Drv_I2C_MasterPollingTransmit(HvCalI2c *pstSelf, I2cFuncParam *pstParam, UINT32 uiTimeout);
 
- /** Transmit in master mode an amount of data in non-blocking mode with interrupt
 
-  *  @param pstSelf i2c handler
 
-  *  @param pstParam target device address
 
-  *  pointer to command data buffer
 
-  *  command length
 
-  *  pointer to data buffer to be transmited
 
-  *  amount of data to be sent
 
-   * @retval Status
 
-  */
 
- Status Hv_Drv_I2C_MasterIntTransmit(HvCalI2c  *pstSelf, I2cFuncParam *pstParam);
 
- /** Receives in master mode an amount of data in blocking mode.
 
-  *  @param pstSelf i2c handler
 
-  *  @param pstParam target device address
 
-  *  pointer to command data buffer
 
-  *  command length
 
-  *  pointer to data buffer to be receive
 
-  *  amount of data to be receive
 
-  *  @param uiTimeout uiTimeout duration
 
-  *  @retval Status
 
- */
 
- Status Hv_Drv_I2C_MasterPollingReceive(HvCalI2c *pstSelf, I2cFuncParam *pstParam, UINT32 uiTimeout);
 
- /** Receive in master mode an amount of data in non-blocking mode with interrupt
 
-  *  @param pstSelf i2c handler
 
-  *  @param pstParam target device address
 
-  *  pointer to command data buffer
 
-  *  command length
 
-  *  pointer to data buffer to be receive
 
-  *  amount of data to be receive
 
-  *  @retval Status
 
- */
 
- Status Hv_Drv_I2C_MasterIntReceive(HvCalI2c *pstSelf, I2cFuncParam *pstParam);
 
- /** Transmits in slave mode an amount of data in blocking mode.
 
-  *  @param pstSelf i2c handler
 
-  *  @param pucData pointer to data buffer
 
-  *  @param usSize amount of data to be sent
 
-  *  @param uiTimeout uiTimeout duration
 
-  *  @retval Status
 
-  */
 
- Status Hv_Drv_I2C_SlavePollingTransmit(HvCalI2c *pstSelf, UCHAR8 *pucData, USHORT16 usSize, UINT32 uiTimeout);
 
- /** Transmit in slave mode an amount of data in non-blocking mode with interrupt
 
-  *  @param pstSelf i2c handler
 
-  *  @param pucData pointer to data buffer
 
-  *  @param usSize amount of data to be sent
 
-  *  @retval Status
 
-  */
 
- Status Hv_Drv_I2C_SlaveIntTransmit(HvCalI2c *pstSelf, UCHAR8 *pucData, USHORT16 usSize);
 
- /** Receive in slave mode an amount of data in blocking mode
 
-  *  @param pstSelf i2c handler
 
-  *  @param pucData pointer to data buffer
 
-  *  @param usSize amount of data to be sent
 
-  *  @param uiTimeout uiTimeout duration
 
-  *  @retval Status
 
-  */
 
- Status Hv_Drv_I2C_SlavePollingReceive(HvCalI2c *pstSelf, UCHAR8 *pucData, USHORT16 usSize, UINT32 uiTimeout);
 
- /** Receive in slave mode an amount of data in non-blocking mode with interrupt
 
-  *  @param pstSelf i2c handler
 
-  *  @param pucData pointer to data buffer
 
-  *  @param usSize amount of data to be sent
 
-  *  @retval Status
 
-  */
 
- Status Hv_Drv_I2C_SlaveIntReceive(HvCalI2c *pstSelf, UCHAR8 *pucData);
 
- /** Receive in slave mode an amount of data in non-blocking mode with interrupt
 
-  *  @param pstSelf i2c handler
 
-  *  @retval is or not
 
-  */
 
- BOOL Hv_Drv_I2C_TransferIsComplete(HvCalI2c *pstSelf);
 
- /** @} */
 
- #endif
 
 
  |