MCUXpresso SDK API Reference Manual  Rev 2.15.000
NXP Semiconductors
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
CODEC I2C Driver

Overview

The codec common driver provides a codec control abstraction interface.

Data Structures

struct  _codec_i2c_config
 CODEC I2C configurations structure. More...
 

Macros

#define CODEC_I2C_MASTER_HANDLER_SIZE   HAL_I2C_MASTER_HANDLE_SIZE
 codec i2c handler
 

Typedefs

typedef enum _codec_reg_addr codec_reg_addr_t
 CODEC device register address type. More...
 
typedef enum _codec_reg_width codec_reg_width_t
 CODEC device register width. More...
 
typedef struct _codec_i2c_config codec_i2c_config_t
 CODEC I2C configurations structure.
 

Enumerations

enum  _codec_reg_addr {
  kCODEC_RegAddr8Bit = 1U,
  kCODEC_RegAddr16Bit = 2U
}
 CODEC device register address type. More...
 
enum  _codec_reg_width {
  kCODEC_RegWidth8Bit = 1U,
  kCODEC_RegWidth16Bit = 2U,
  kCODEC_RegWidth32Bit = 4U
}
 CODEC device register width. More...
 

Functions

status_t CODEC_I2C_Init (void *handle, uint32_t i2cInstance, uint32_t i2cBaudrate, uint32_t i2cSourceClockHz)
 Codec i2c bus initilization. More...
 
status_t CODEC_I2C_Deinit (void *handle)
 Codec i2c de-initilization. More...
 
status_t CODEC_I2C_Send (void *handle, uint8_t deviceAddress, uint32_t subAddress, uint8_t subaddressSize, uint8_t *txBuff, uint8_t txBuffSize)
 codec i2c send function. More...
 
status_t CODEC_I2C_Receive (void *handle, uint8_t deviceAddress, uint32_t subAddress, uint8_t subaddressSize, uint8_t *rxBuff, uint8_t rxBuffSize)
 codec i2c receive function. More...
 

Data Structure Documentation

struct _codec_i2c_config

Data Fields

uint32_t codecI2CInstance
 i2c bus instance
 
uint32_t codecI2CSourceClock
 i2c bus source clock frequency
 

Typedef Documentation

Enumeration Type Documentation

Enumerator
kCODEC_RegAddr8Bit 

8-bit register address.

kCODEC_RegAddr16Bit 

16-bit register address.

Enumerator
kCODEC_RegWidth8Bit 

8-bit register width.

kCODEC_RegWidth16Bit 

16-bit register width.

kCODEC_RegWidth32Bit 

32-bit register width.

Function Documentation

status_t CODEC_I2C_Init ( void *  handle,
uint32_t  i2cInstance,
uint32_t  i2cBaudrate,
uint32_t  i2cSourceClockHz 
)
Parameters
handlei2c master handle.
i2cInstanceinstance number of the i2c bus, such as 0 is corresponding to I2C0.
i2cBaudratei2c baudrate.
i2cSourceClockHzi2c source clock frequency.
Returns
kStatus_HAL_I2cSuccess is success, else initial failed.
status_t CODEC_I2C_Deinit ( void *  handle)
Parameters
handlei2c master handle.
Returns
kStatus_HAL_I2cSuccess is success, else deinitial failed.
status_t CODEC_I2C_Send ( void *  handle,
uint8_t  deviceAddress,
uint32_t  subAddress,
uint8_t  subaddressSize,
uint8_t *  txBuff,
uint8_t  txBuffSize 
)
Parameters
handlei2c master handle.
deviceAddresscodec device address.
subAddressregister address.
subaddressSizeregister address width.
txBufftx buffer pointer.
txBuffSizetx buffer size.
Returns
kStatus_HAL_I2cSuccess is success, else send failed.
status_t CODEC_I2C_Receive ( void *  handle,
uint8_t  deviceAddress,
uint32_t  subAddress,
uint8_t  subaddressSize,
uint8_t *  rxBuff,
uint8_t  rxBuffSize 
)
Parameters
handlei2c master handle.
deviceAddresscodec device address.
subAddressregister address.
subaddressSizeregister address width.
rxBuffrx buffer pointer.
rxBuffSizerx buffer size.
Returns
kStatus_HAL_I2cSuccess is success, else receive failed.