64 #include <ti/drv/i2c/soc/I2C_soc.h> 84 #define BOARD_PCM3168_MODECTRL_REG_ADDR (0x40U) 87 #define BOARD_PCM3168_DAC_PWR_MST_FMT_REG_ADDR (0x41U) 90 #define BOARD_PCM3168_DAC_OP_FLT_REG_ADDR (0x42U) 93 #define BOARD_PCM3168_DAC_INV_REG_ADDR (0x43U) 96 #define BOARD_PCM3168_DAC_MUTE_REG_ADDR (0x44U) 99 #define BOARD_PCM3168_DAC_ZERO_REG_ADDR (0x45U) 102 #define BOARD_PCM3168_DAC_ATT_DEMP_ZF_REG_ADDR (0x46U) 105 #define BOARD_PCM3168_DAC_VOL_MASTER_REG_ADDR (0x47U) 108 #define BOARD_PCM3168_DAC_VOL_CHAN_START_REG_ADDR (0x48U) 111 #define BOARD_PCM3168_ADC_SMODE_REG_ADDR (0x50U) 114 #define BOARD_PCM3168_ADC_MST_FMT_REG_ADDR (0x51U) 117 #define BOARD_PCM3168_ADC_PWR_HPFB_REG_ADDR (0x52U) 120 #define BOARD_PCM3168_ADC_SEAD_REG_ADDR (0x53U) 123 #define BOARD_PCM3168_ADC_INV_REG_ADDR (0x54U) 126 #define BOARD_PCM3168_ADC_MUTE_REG_ADDR (0x55U) 129 #define BOARD_PCM3168_ADC_OV_REG_ADDR (0x56U) 132 #define BOARD_PCM3168_ADC_ATT_OVF_REG_ADDR (0x57U) 135 #define BOARD_PCM3168_ADC_VOL_MASTER_REG_ADDR (0x58U) 138 #define BOARD_PCM3168_ADC_VOL_CHAN_START_REG_ADDR (0x59U) 141 #define BOARD_I2C_NUM_OF_BYTES_1 (0x1U) 144 #define BOARD_PCM3168_MRST_SHIFT_CNT (0x07U) 145 #define BOARD_PCM3168_SRST_SHIFT_CNT (0x06U) 146 #define BOARD_PCM3168_SRDA_SHIFT_CNT (0x0U) 148 #define BOARD_PCM3168_MRST_BIT_MASK (0x01 << BOARD_PCM3168_MRST_SHIFT_CNT) 149 #define BOARD_PCM3168_SRST_BIT_MASK (0x01 << BOARD_PCM3168_SRST_SHIFT_CNT) 150 #define BOARD_PCM3168_SRDA_BIT_MASK (0x03 << BOARD_PCM3168_SRDA_SHIFT_CNT) 153 #define BOARD_PCM3168_PSMDA_SHIFT_CNT (0x07U) 154 #define BOARD_PCM3168_MSDA_SHIFT_CNT (0x04U) 155 #define BOARD_PCM3168_FMTDA_SHIFT_CNT (0x0U) 157 #define BOARD_PCM3168_PSMDA_BIT_MASK (0x01 << BOARD_PCM3168_PSMDA_SHIFT_CNT) 158 #define BOARD_PCM3168_MSDA_BIT_MASK (0x07 << BOARD_PCM3168_MSDA_SHIFT_CNT) 159 #define BOARD_PCM3168_FMTDA_BIT_MASK (0x0F << BOARD_PCM3168_FMTDA_SHIFT_CNT) 162 #define BOARD_PCM3168_OPED_SHIFT_CNT (0x04U) 163 #define BOARD_PCM3168_OPED_BIT_MASK (0x0F << BOARD_PCM3168_PSMDA_SHIFT_CNT) 166 #define BOARD_PCM3168_SRAD_SHIFT_CNT (0x0U) 168 #define BOARD_PCM3168_SRAD_BIT_MASK (0x03 << BOARD_PCM3168_SRAD_SHIFT_CNT) 171 #define BOARD_PCM3168_MSAD_SHIFT_CNT (0x04U) 172 #define BOARD_PCM3168_FMTAD_SHIFT_CNT (0x0U) 174 #define BOARD_PCM3168_MSAD_BIT_MASK (0x07 << BOARD_PCM3168_MSAD_SHIFT_CNT) 175 #define BOARD_PCM3168_FMTAD_BIT_MASK (0x07 << BOARD_PCM3168_FMTAD_SHIFT_CNT) 178 #define BOARD_PCM3168_PSVAD_SHIFT_CNT (0x04U) 180 #define BOARD_PCM3168_PSVAD_BIT_MASK (0x07 << BOARD_PCM3168_PSVAD_SHIFT_CNT) 183 #define BOARD_PCM3168_CHANNEL_0 (0x0U) 185 #define BOARD_PCM3168_CHANNEL_1 (0x1U) 187 #define BOARD_PCM3168_CHANNEL_2 (0x2U) 189 #define BOARD_PCM3168_CHANNEL_3 (0x3U) 191 #define BOARD_PCM3168_CHANNEL_4 (0x4U) 193 #define BOARD_PCM3168_CHANNEL_5 (0x5U) 195 #define BOARD_PCM3168_CHANNEL_6 (0x6U) 197 #define BOARD_PCM3168_CHANNEL_7 (0x7U) 199 #define BOARD_PCM3168_CHANNEL_8 (0x8U) 205 #define BOARD_PCM3168_CFG_DAC (0U) 207 #define BOARD_PCM3168_CFG_ADC (1U) 209 #define BOARD_PCM3168_CFG_ALL (2U) 215 #define BOARD_PCM3168_MODE_PWROFF (0) 217 #define BOARD_PCM3168_MODE_NORMAL (1U) 223 #define BOARD_PCM3168_SAMPLE_AUTO (0) 225 #define BOARD_PCM3168_SINGLE_RATE (1U) 227 #define BOARD_PCM3168_DUAL_RATE (2U) 229 #define BOARD_PCM3168_QUAD_RATE (3U) 235 #define BOARD_PCM3168_POWERSAVE_ENABLE (0) 237 #define BOARD_PCM3168_POWERSAVE_DISABLE (1U) 243 #define BOARD_PCM3168_NORMAL_MODE (0U) 245 #define BOARD_PCM3168_POWERSAVE_MODE (1U) 251 #define BOARD_PCM3168_SLAVE_MODE (0) 253 #define BOARD_PCM3168_MASTER_MODE_768FS (1U) 255 #define BOARD_PCM3168_MASTER_MODE_512FS (2U) 257 #define BOARD_PCM3168_MASTER MODE_384FS (3U) 259 #define BOARD_PCM3168_MASTER_MODE_256FS (4U) 261 #define BOARD_PCM3168_MASTER_MODE_192FS (5U) 263 #define BOARD_PCM3168_MASTER_MODE_128FS (6U) 269 #define BOARD_PCM3168_24B_I2S_FMT (0) 271 #define BOARD_PCM3168_24B_LJ_FMT (1U) 273 #define BOARD_PCM3168_24B_RJ_FMT (2U) 275 #define BOARD_PCM3168_16B_RJ_FMT (3U) 277 #define BOARD_PCM3168_24B_I2S_DSP_FMT (4U) 279 #define BOARD_PCM3168_24B_LJ_DSP_FMT (5U) 281 #define BOARD_PCM3168_24B_I2S_TDM_FMT (6U) 283 #define BOARD_PCM3168_24B_LJ_TDM_FMT (7U) 285 #define BOARD_PCM3168_24B_HS_I2S_TDM_FMT (8U) 287 #define BOARD_PCM3168_24B_HS_LJ_TDM_FMT (9U) 293 #define BOARD_PCM3168_DAC_NORMAL_OPERATION (0) 295 #define BOARD_PCM3168_DAC_OPERATION_DISABLE (1U) 301 #define BOARD_PCM3168_MUTE_DISABLE (0) 303 #define BOARD_PCM3168_MUTE_ENABLE (1U) 422 uint8_t samplingMode,
443 uint8_t pwrSaveMode);
462 uint8_t pwrSaveMode);
This header file contains function prototypes which interface interactively with the user through the...
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 syste...
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-...
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.
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 ...
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 ra...
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 ...
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 outpu...
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.
Board_STATUS Board_pcm3168DACOperationalCtrl(void *handle, uint8_t slaveAddr, uint8_t opMode)
This function is used to control the DAC operation mode.
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 lef...
The macro definitions and function prototypes which are common across different board devices.
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.
The Board Library is a thin utility layer on top of CSL and other board utilities....
Board_STATUS Board_pcm3168Config(void *handle, uint8_t slaveAddr)
This function is used to configure the PCM3168A codec.
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.