FOSDEM / video-hardware

FOSDEM video hardware
17 stars 4 forks source link

verify i2s #1

Closed markvdb closed 3 years ago

markvdb commented 5 years ago

For verifying i2s, you need 2 lime2s and 2 uext modules with cables, and some standard terminal wire.

libv commented 3 years ago

This is needed for finalizing the design for the first ADV7611 board.

libv commented 3 years ago

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.

libv commented 3 years ago

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(-)

libv commented 3 years ago

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"