I have a custom PCB with a TLV320ADC5140, hooked up to an ESP-WROOM-32UE module.
Having followed the I2C initialisation example from the datasheet (the 8-channel PDM microphone one), the device seems to be up and running. I've since customised the initialisation code to only set up the first 4 channels rather than 8 and I've changed the ASI_FORMAT to output in I2S format.
However, when I query the DEV_STS0 register (0x76), the received byte indicates that all of the channels are powered down. I also see no activity on the PDMCLK signals and nor do I see any data coming from the microphones. I'm confused because the channels are definitely enabled because I write 0xF0 to the IN_CH_EN register which enables channels 1-4.
Is there anything which would not be indicated in the datasheet example which I'm missing?
The device is taken out of shutdown once the 3.3V rail has stabilised and then a short delay of 10ms occurs before initialistion. Just for clarity.
Thanks!
Schematic for the TLV320ADC5140: