PDK API Guide for J721E
pcm3168A.h File Reference

Introduction

The macro definitions and function prototypes for configuring PCM3168 codec.

Go to the source code of this file.

Macros

#define BOARD_PCM3168_MODECTRL_REG_ADDR   (0x40U)
 
#define BOARD_PCM3168_DAC_PWR_MST_FMT_REG_ADDR   (0x41U)
 
#define BOARD_PCM3168_DAC_OP_FLT_REG_ADDR   (0x42U)
 
#define BOARD_PCM3168_DAC_INV_REG_ADDR   (0x43U)
 
#define BOARD_PCM3168_DAC_MUTE_REG_ADDR   (0x44U)
 
#define BOARD_PCM3168_DAC_ZERO_REG_ADDR   (0x45U)
 
#define BOARD_PCM3168_DAC_ATT_DEMP_ZF_REG_ADDR   (0x46U)
 
#define BOARD_PCM3168_DAC_VOL_MASTER_REG_ADDR   (0x47U)
 
#define BOARD_PCM3168_DAC_VOL_CHAN_START_REG_ADDR   (0x48U)
 
#define BOARD_PCM3168_ADC_SMODE_REG_ADDR   (0x50U)
 
#define BOARD_PCM3168_ADC_MST_FMT_REG_ADDR   (0x51U)
 
#define BOARD_PCM3168_ADC_PWR_HPFB_REG_ADDR   (0x52U)
 
#define BOARD_PCM3168_ADC_SEAD_REG_ADDR   (0x53U)
 
#define BOARD_PCM3168_ADC_INV_REG_ADDR   (0x54U)
 
#define BOARD_PCM3168_ADC_MUTE_REG_ADDR   (0x55U)
 
#define BOARD_PCM3168_ADC_OV_REG_ADDR   (0x56U)
 
#define BOARD_PCM3168_ADC_ATT_OVF_REG_ADDR   (0x57U)
 
#define BOARD_PCM3168_ADC_VOL_MASTER_REG_ADDR   (0x58U)
 
#define BOARD_PCM3168_ADC_VOL_CHAN_START_REG_ADDR   (0x59U)
 
#define BOARD_I2C_NUM_OF_BYTES_1   (0x1U)
 
#define BOARD_PCM3168_MRST_SHIFT_CNT   (0x07U)
 
#define BOARD_PCM3168_SRST_SHIFT_CNT   (0x06U)
 
#define BOARD_PCM3168_SRDA_SHIFT_CNT   (0x0U)
 
#define BOARD_PCM3168_MRST_BIT_MASK   (0x01 << BOARD_PCM3168_MRST_SHIFT_CNT)
 
#define BOARD_PCM3168_SRST_BIT_MASK   (0x01 << BOARD_PCM3168_SRST_SHIFT_CNT)
 
#define BOARD_PCM3168_SRDA_BIT_MASK   (0x03 << BOARD_PCM3168_SRDA_SHIFT_CNT)
 
#define BOARD_PCM3168_PSMDA_SHIFT_CNT   (0x07U)
 
#define BOARD_PCM3168_MSDA_SHIFT_CNT   (0x04U)
 
#define BOARD_PCM3168_FMTDA_SHIFT_CNT   (0x0U)
 
#define BOARD_PCM3168_PSMDA_BIT_MASK   (0x01 << BOARD_PCM3168_PSMDA_SHIFT_CNT)
 
#define BOARD_PCM3168_MSDA_BIT_MASK   (0x07 << BOARD_PCM3168_MSDA_SHIFT_CNT)
 
#define BOARD_PCM3168_FMTDA_BIT_MASK   (0x0F << BOARD_PCM3168_FMTDA_SHIFT_CNT)
 
#define BOARD_PCM3168_OPED_SHIFT_CNT   (0x04U)
 
#define BOARD_PCM3168_OPED_BIT_MASK   (0x0F << BOARD_PCM3168_PSMDA_SHIFT_CNT)
 
#define BOARD_PCM3168_SRAD_SHIFT_CNT   (0x0U)
 
#define BOARD_PCM3168_SRAD_BIT_MASK   (0x03 << BOARD_PCM3168_SRAD_SHIFT_CNT)
 
#define BOARD_PCM3168_MSAD_SHIFT_CNT   (0x04U)
 
#define BOARD_PCM3168_FMTAD_SHIFT_CNT   (0x0U)
 
#define BOARD_PCM3168_MSAD_BIT_MASK   (0x07 << BOARD_PCM3168_MSAD_SHIFT_CNT)
 
#define BOARD_PCM3168_FMTAD_BIT_MASK   (0x07 << BOARD_PCM3168_FMTAD_SHIFT_CNT)
 
#define BOARD_PCM3168_PSVAD_SHIFT_CNT   (0x04U)
 
#define BOARD_PCM3168_PSVAD_BIT_MASK   (0x07 << BOARD_PCM3168_PSVAD_SHIFT_CNT)
 
#define BOARD_PCM3168_CHANNEL_0   (0x0U)
 
#define BOARD_PCM3168_CHANNEL_1   (0x1U)
 
#define BOARD_PCM3168_CHANNEL_2   (0x2U)
 
#define BOARD_PCM3168_CHANNEL_3   (0x3U)
 
#define BOARD_PCM3168_CHANNEL_4   (0x4U)
 
#define BOARD_PCM3168_CHANNEL_5   (0x5U)
 
#define BOARD_PCM3168_CHANNEL_6   (0x6U)
 
#define BOARD_PCM3168_CHANNEL_7   (0x7U)
 
#define BOARD_PCM3168_CHANNEL_8   (0x8U)
 
#define BOARD_PCM3168_CFG_DAC   (0U)
 Defines the codec config path. More...
 
#define BOARD_PCM3168_CFG_ADC   (1U)
 
#define BOARD_PCM3168_CFG_ALL   (2U)
 
#define BOARD_PCM3168_MODE_PWROFF   (0)
 Defines the codec mode control options. More...
 
#define BOARD_PCM3168_MODE_NORMAL   (1U)
 
#define BOARD_PCM3168_SAMPLE_AUTO   (0)
 Defines the codec Sampling mode options. More...
 
#define BOARD_PCM3168_SINGLE_RATE   (1U)
 
#define BOARD_PCM3168_DUAL_RATE   (2U)
 
#define BOARD_PCM3168_QUAD_RATE   (3U)
 
#define BOARD_PCM3168_POWERSAVE_ENABLE   (0)
 Defines the DAC power save mode options. More...
 
#define BOARD_PCM3168_POWERSAVE_DISABLE   (1U)
 
#define BOARD_PCM3168_NORMAL_MODE   (0U)
 Defines the ADC power save mode options. More...
 
#define BOARD_PCM3168_POWERSAVE_MODE   (1U)
 
#define BOARD_PCM3168_SLAVE_MODE   (0)
 Defines the codec master slave configuration. More...
 
#define BOARD_PCM3168_MASTER_MODE_768FS   (1U)
 
#define BOARD_PCM3168_MASTER_MODE_512FS   (2U)
 
#define BOARD_PCM3168_MASTER   MODE_384FS (3U)
 
#define BOARD_PCM3168_MASTER_MODE_256FS   (4U)
 
#define BOARD_PCM3168_MASTER_MODE_192FS   (5U)
 
#define BOARD_PCM3168_MASTER_MODE_128FS   (6U)
 
#define BOARD_PCM3168_24B_I2S_FMT   (0)
 Defines the codec data format. More...
 
#define BOARD_PCM3168_24B_LJ_FMT   (1U)
 
#define BOARD_PCM3168_24B_RJ_FMT   (2U)
 
#define BOARD_PCM3168_16B_RJ_FMT   (3U)
 
#define BOARD_PCM3168_24B_I2S_DSP_FMT   (4U)
 
#define BOARD_PCM3168_24B_LJ_DSP_FMT   (5U)
 
#define BOARD_PCM3168_24B_I2S_TDM_FMT   (6U)
 
#define BOARD_PCM3168_24B_LJ_TDM_FMT   (7U)
 
#define BOARD_PCM3168_24B_HS_I2S_TDM_FMT   (8U)
 
#define BOARD_PCM3168_24B_HS_LJ_TDM_FMT   (9U)
 
#define BOARD_PCM3168_DAC_NORMAL_OPERATION   (0)
 Defines the DAC Operation mode. More...
 
#define BOARD_PCM3168_DAC_OPERATION_DISABLE   (1U)
 
#define BOARD_PCM3168_MUTE_DISABLE   (0)
 Defines the Codec soft mute control. More...
 
#define BOARD_PCM3168_MUTE_ENABLE   (1U)
 

Functions

Board_STATUS Board_pcm3168Config (void *handle, uint8_t slaveAddr)
 This function is used to configure the PCM3168A codec. More...
 
Board_STATUS Board_pcm3168RegRead (void *handle, uint8_t slaveAddr, uint8_t regAddr, uint8_t *regData)
 This function is used to read the Codec register value. More...
 
Board_STATUS Board_pcm3168RegWrite (void *handle, uint8_t slaveAddr, uint8_t regAddr, uint8_t *regData)
 This function is used to write the register data to the PCM Codec. More...
 
Board_STATUS Board_pcm3168ModeCtrl (void *handle, uint8_t slaveAddr, uint8_t modeCtrl)
 This function is used to set the mode control register reset to the default value 0 - Writes default value to mode control register 1 - Normal operation. More...
 
Board_STATUS Board_pcm3168Reset (void *handle, uint8_t slaveAddr, uint8_t modeCtrl)
 This function is used to control the system reset 0 - Restarts the system by resyncronizing the system clock and sampling clock 1 - Normal operation. More...
 
Board_STATUS Board_pcm3168SamplingModeSel (void *handle, uint8_t slaveAddr, uint8_t samplingMode, uint8_t cfgMode)
 This function is used to control the sampling mode of DAC/ADC 00 - Auto 01 - Single rate 10 - Dual rate 11 - Reserved for ADC 11 - Quad rate for DAC. More...
 
Board_STATUS Board_pcm3168DACPwrSaveModeSel (void *handle, uint8_t slaveAddr, uint8_t pwrSaveMode)
 This function is used to control the power save mode of DAC/ADC operation 0 - Power-save enable mode 1 - Power-save disable mode. More...
 
Board_STATUS Board_pcm3168ADCPwrSaveModeSel (void *handle, uint8_t slaveAddr, uint8_t pwrSaveMode)
 This function is used to control the power save mode of ADC operation 0 - normal operation 1 - power-save mode. More...
 
Board_STATUS Board_pcm3168MasterSlaveModeSel (void *handle, uint8_t slaveAddr, uint8_t mscfgMode, uint8_t cfgMode)
 This function is used to control the audio interface mode. More...
 
Board_STATUS Board_pcm3168AudioFmtSel (void *handle, uint8_t slaveAddr, uint8_t fmt, uint8_t cfgMode)
 This function is used to control the audio interface format. 000 - 24-bit I2S format 001 - 24-bit left-justified format 010 - 24-bit right-justified format 011 - 16-bit right-justified format 100 - 24-bit I2S mode DSP format 101 - 24-bit left-justified mode DSP format 110 - 24-bit I2S mode TDM format 111 - 24-bit left-justified mode TDM format Below modes support only for DAC configuration 1000 - 24-bit high-speed I2S mode TDM format 1001 - 24-bit high-speed left-justified mode TDM format. More...
 
Board_STATUS Board_pcm3168DACOperationalCtrl (void *handle, uint8_t slaveAddr, uint8_t opMode)
 This function is used to control the DAC operation mode. More...
 
Board_STATUS Board_pcm3168SoftMuteCtrl (void *handle, uint8_t slaveAddr, uint8_t chanNum, uint8_t muteCtrl, uint8_t cfgMode)
 This function is used to enable or disable the Soft Mute function for the corresponding DAC/ADC outputs 0 - Mute Disabled 1 - Mute Enabled. More...
 
Board_STATUS Board_pcm3168AttnLevelSet (void *handle, uint8_t slaveAddr, uint8_t chanNum, uint8_t attLevel, uint8_t cfgMode)
 This function is used to set the attenuation level for each channel independently. More...