Digital Microphone InvenSense: audio I2S and driver for Beaglebone ?

Hello,

I want to add an array of Invensense Digital microphones via I2S interface and saw a kernel driver code ics43432.c [1] as codec which could work.
The microphone array needs settings and Masterclock, only sends Digital data at Bitclock rate and bitclock an Wordsync signal needed to drive a I2S data input.
I did not find any description activating these chips on the beaglebone, I have the beaglebone green.

So may questions:

  • Does anybody know if this has been done and what steps are needed therefore ?

  • If not, I guess I have to write at least an devicetree overlay. Is there something other to do ?

the documentation in kernel notes only two lines to add::

`
ics43432: ics43432 {
compatible = “invensense,ics43432”;
};

`



|

  • |

where should i put this ?

  • Is there a standard way writing a new overlay for the mcasp and codec and later add an new codec kernel source for an array ?

  • Is it wise for example to start from ctag-face-2-4 dts as a template like am335x-boneblack-ctag-face.dts (not an overlay) or any other overlay only using I2S input.
    Any recommendation ?

Any hints are appreciated.

Thanks !

[1] linux/sound/soc/codecs/ics43432.c at 4.4 · beagleboard/linux · GitHub

[2] linux/Documentation/devicetree/bindings/sound/ics43432.txt at 4.4 · beagleboard/linux · GitHub