Please excuse my lack of understanding about AC97. There is a codec driver /sound/soc/codec/ac97.c. However, only one DAI is defined and supports both playback/capture with 2 as max channels. I don't see how static CODEC DAI definition is going to satisfy my requirements. I am still bounded to DAI link structure definition which takes only one CODEC DAI. In this case with ac97.c, I am still limited to work with pre-defined CODEC DAI in ac97.c Is there an example for grouping ac97 channels?
In theory AC97 can convey multiple slots (12 if I am not mistaken). It's somewhat similar to SLIMbus, but with a fixed slot allocation, no bit clock scalability and it's not truly bidirectional. The limitation to stereo reflects codec limitations, not the standard.