This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PCM1864: PDM mic interface register settings

Part Number: PCM1864

Hi,

I try to get the IM69D130 MEMS PDM microphone working. It is connected to GPIO1 (Data) and GPIO2 (CLK).#

These registers I set using I2C:

// set GPIO1 for DMIC1 input, reg 16 page 0
update_(PCM186X_GPIO1_0_CTRL, GENMASK_SHORT(6, 4), 1);

// GPIO 2 as DMIC clock out, reg 17 page 0
update_(PCM186X_GPIO3_2_CTRL, GENMASK_SHORT(2, 0), 1);

// set GPIO1 for DMIC1 input, reg 26 page 0
update_(PCM186X_DPGA_MIC_CTRL, GENMASK_SHORT(7, 6), 1);

// FILTER for digital microphone on input pair 2, reg 26 page 0
update_(PCM186X_DPGA_MIC_CTRL, BIT(1), 1);

// PGA decouple for DMIC, reg 25 page 0
write_(PCM186X_DPGA_GAIN_CTRL, 0b11000000);

But there is just nothing on the I2S line for this channel pair. Even when I use the MIxer to put the data on other mixes (MIX1 to MIX4) every time there is only zero data.
There is a 3 MHz clk on clock pin for the MEMS (GPIO2, generated by the PCM1864) and the MEMS creates a PDM stream on GPIO1. So why is there just zeros in the I2S data?

BTW the input 1/2 are set to use the ADC channels 1/2 and it works. All other things as well (PGA, Mixer, etc).

Do you have any tip for me?