/** * @brief Get the CS42L52 ID. * @param DeviceAddr: Device address on communication Bus. * @retval The CS42L52 ID */ uint32_t cs42l52_ReadID(uint16_t DeviceAddr) { /* Initialize the Control interface of the Audio Codec */ AUDIO_IO_Init(); return ((uint32_t)AUDIO_IO_Read(DeviceAddr, CS42L52_CHIPID_ADDR)); }
/** * @brief Get the WM8994 ID. * @param DeviceAddr: Device address on communication Bus. * @retval The WM8994 ID */ uint32_t wm8994_ReadID(uint16_t DeviceAddr) { /* Initialize the Control interface of the Audio Codec */ AUDIO_IO_Init(); return ((uint32_t)AUDIO_IO_Read(DeviceAddr, WM8994_CHIPID_ADDR)); }
/** * @brief Get the CS43L22 ID. * @param DeviceAddr: Device address on communication Bus. * @retval The CS43L22 ID */ uint32_t cs43l22_ReadID(uint16_t DeviceAddr) { uint8_t Value; /* Initialize the Control interface of the Audio Codec */ AUDIO_IO_Init(); Value = AUDIO_IO_Read(DeviceAddr, CS43L22_CHIPID_ADDR); Value = (Value & CS43L22_ID_MASK); return((uint32_t) Value); }
/** * @brief Writes/Read a single data. * @param Addr: I2C address * @param Reg: Reg address * @param Value: Data to be written * @retval None */ static uint8_t CODEC_IO_Write(uint8_t Addr, uint16_t Reg, uint16_t Value) { uint32_t result = 0; AUDIO_IO_Write(Addr, Reg, Value); #ifdef VERIFY_WRITTENDATA /* Verify that the data has been correctly written */ result = (AUDIO_IO_Read(Addr, Reg) == Value)? 0:1; #endif /* VERIFY_WRITTENDATA */ return result; }