I know there are other (long!) threads about PDM mics and I've studied them all carefully. Unfortunately I'm still having an issue with our on-board mic. The difference is that if I hook up an external PDM mic (https://www.adafruit.com/product/3492) everything works great. The mic is a INMP621ACEZ-R7 on a custom board. I've managed to forward the CLK and DAT lines from the on-board mic to exposed GPIOs using PPI but when I dump the output and use the handy py script from this thread, although there appears to be valid-looking signals, I get noise on the right channel and absolute silence on the left channel. I've tried all manner of PDM settings but currently I'm using:
config_pdm.clock_freq = NRF_PDM_FREQ_1280K;
config_pdm.ratio = NRF_PDM_RATIO_80X;
config_pdm.edge = NRF_PDM_EDGE_LEFTRISING;
config_pdm.gain_l = NRF_PDM_GAIN_MAXIMUM;
config_pdm.gain_r = NRF_PDM_GAIN_MAXIMUM;
The Adafruit mic works fine with these settings.
Any help is greatly appreciated. Been at this for a week now. Happy to provide Saleae traces, etc. if helpful.