I have a usecase where there is a requirement to have two codecs which are multiplexed on the same I2S channel. (In fact one of the 'codecs' is actually a digital microphone, but it generates an I2S stream just the same).
In the ALSA SoC framework I know there is support for having separate codecs on the right and left channels, and also for having different codecs for playback and capture. But is there any way in the framework that two codecs can be toggled between at runtime? Normally a machine driver would configure a single codec which essentially is statically allocated. Of course the whole driver could be removed and another one loaded, but the thing here is that it is only for capture that the codecs are multiplexed, for playback it's always the same codec, and I don't want to disrupt playback just because a change is required on the capture side.
/Ricard