On the I2S implementation, I guess we need a bit of Andrea’s wisdom. The first tough job is to find the right hardware platform. This starts with three criteria to be fulfilled:
– We want a chip which gives I2S in a SoC naturally out in the right I2S mode
– we need a Pin-Out for this particual I2S mode on the board
– we need software support, so that e.g. Debian/ALsa recoginzes this particular combination as a soundcard which we can utilize.
The Rockchip Rk3399 looks like a promising chip. From its datasheet:
“There are three I2S/PCM controllers embedded in the design, I2S0, I2S1 and I2S2.
Different features between I2S/PCM controllers are as follows.
Support eight internal 32 -bit wide and 32 -location deep FIFOs, four for transmitting and four for receiving audio data for I2S0
Support two internal 32 bit wide and 32-location deep FIFOs, one for transmitting and one for receiving audio data for I2S1
Support four internal 32-bit wide and 32-location deep FIFOs, four for transmitting audio data for I2S2
Support 10 channels audio data transmitting and receiving in total in I2S mode for I2S0, 2 channels audio data transmitting and 2 channels audio data receiving for I2S1, 8 channels audio data transmitting for I2S2
Support up to 192kHz sample rate for I2S0 and I2S1, 768kHz sample rate for I2S2”
The eight channel 768khz is running at 1.8V…not sure if this what we want ?
Now, once Andrea gives us guidance what the right PCM-Controller is we want to use from the Rk3399 (if we want only PCM stereo)…
…we have to have a look which board actually will present which I2S signal on their GPIO. I found any combination so far. From No I2S at all to “hidden” in some generic GPIO-Names to I2S0, 1 or 2 so an arbitrary choise which I2S controller of the three goes to GPIO Pins out. If a board maker decides to give us I2S at all in their GPIO, they choose often only one, many times the eight channel 1.8V version…
So, which one can Andreas Fifo stand ?
ON the suftware side I nee to experiment with I2S. To my surprise the NanopiNeo 3 and its internal DAC/I2S is supported natively by Armbian/Debian/Alsa, I can see the Alsa Soundcard as I2S…need to solder a connector now to Andreas Fifo and see if it works out of the box.