Closed markvdb closed 3 years ago
This is needed for finalizing the design for the first ADV7611 board.
Works.
Pin-out:
GPIO3-10: PB06: I2S_BCLK: bit-clock. GPIO3-12: PB07: I2S_LRCLK: word clock GPIO3-14: PB08: I2S_D0 (the SATA_PWR_EN is only used when a jumper is set.) GPIO3-22: PB12: I2S_DI: Connect to here.
I2S_D0 and I2S_DI were cross wired.
Capture was very noisy and somehow running at 1.4x speed with many shifts and many single sample extremes. This is either due to noise of the 45cm cabling used, or there is something fishy with our DMA/FIFO settings.
But the basic functionality was verified, these are the pins necessary.
Commits implementing master/slave i2s audio, with working aplay/arecord, are at: https://github.com/libv/fosdem-video-linux/commits/master
arch/arm/boot/dts/sun7i-a20-olinuxino-lime2-fosdem.dts | 37 +++++++++ arch/arm/configs/sunxi_fosdem_defconfig | 1 sound/soc/soc-utils.c | 12 +++ sound/soc/sunxi/sun4i-i2s.c | 63 +++++++++-------- 4 files changed, 83 insertions(+), 30 deletions(-)
We need to tie the I2S part of the ADV7611 up in the following manner: pin 48: "AP" -> GPIO3-22: "PB12/I2S_DI" pin 49: "SCLK/INT2" -> GPIO3-10: "PB06/I2S_BCLK" pin 50: "LRCLK" -> GPIO3-12: "PB07/I2S_LRCLK"
For verifying i2s, you need 2 lime2s and 2 uext modules with cables, and some standard terminal wire.