Read in 2 Channels of I2S streams, mix them according to input bits (mute, I2S input 1 or 2 or both) and send them out again. For adding the LSB of the data is truncated. This should support standard I2S transmitter/receiver.
https://www.sparkfun.com/datasheets/BreakoutBoards/I2SBUS.pdf
You need to connect the word select signal (WS), continous serial clock (SCK) and serial data for channel 1 and 2 (SD_CH1 SD_CH2). Configure channel_sel (b00 is mute, b01 channel 1, b10 channel 2 and b11 is adding ch1 and ch2), reset, then let and I2S master drive the signals according to the standard and receive data on the output SD_OUT. Some other IC needs to act as clock master and provide the clocks and signals.
I2S Controller/Transmitter/Receiver
| # | Input | Output |
|---|---|---|
| 0 | sck | wsd |
| 1 | reset | wsp |
| 2 | ws | sd_out |
| 3 | sd_ch1 | |
| 4 | sd_ch2 | |
| 5 | channel_sel | |
| 6 | ||
| 7 |