I’m still pursuing this and appear to be having some success with the SDK V2. Did some patching and building on it this evening and the the external I2S device is now showing up in ‘aplay -l’ so I’m hopeful that it’s going to work. I’ve decided to be serious about tracking my changes so I forked SDK V2 and created a branch for this effort: GitHub - emeb/duo-buildroot-sdk-v2 at ext_i2s
[edit] - Tried it out on the bench and although ‘aplay -D hw:0 <file.wav>’ runs w/o errors and has the proper run duration, I’m not seeing any activity on the hardware pins. I have run the ‘ethpoke’ program to switch the pinmuxes but it’s possible that there’s something different about the setup in the new SDK. Not giving up yet, but it’ll take some more effort.
[edit again] - Got I2S output working. Had to update ‘ethpoke’ to include setting the GPIO pinmux regs for I2S (prior it was just changing from ethernet to GPIO). Now next step is to see if I can get I2S input working too. Updated version is available in my git fork of duo-examples: duo-examples/ethpoke at main · emeb/duo-examples · GitHub