How to use i2s interface for Hi-Res audio?

The description says that the Khadas Vim has i2s interface, but in the GPIO Pinout does not has it. Where is i2s located? How to configure in Android? Are there software limitations of 16bit/ 48kHz or can it give out sound 24bit/192kHz?

I see that “PIN29-33: iomux for I2S”, but Where is MCLK, LRCK, SCLK, DATA ?

Hello Davemf,

about connections, I’m identify I2S on these GPIO pins

upd: due to the different numbering of my connector, it’s like that

29 GPIOH_7 - > I2S_BCK
30 GPIOH_6 -> I2S_MCLK
31 GPIOH_9 -> I2S_DOUT
32 GPIOH_8 -> I2S_LRCK
33 GPIOAO_6 -> I2S_DIN

Can somebody double check that, please?

about Android, I cannot tell you, I’m guess this questions was already given somewhere here


Khadas has “rate_max = 48000” for i2s (and all sound output too) on source.
How to use i2s interface (USB sound and SPDIF too) with 24bit / 96kHz or more for Hi-Res audio?

You can use an external codec.But I though the sound not very well as a hifi player because the android SRC

If I use an external codec, then I lost all system sounds and the voice of the navigator.

We need Hi-res audio with the voice of the navigator.

What’s the meaning of this?

1 Like

We use neutron or usb music player, this players have very hight sound quality if use direct control usb DAC to bypass the standard Android driver. But all system sounds and the voice of the navigator does not play if use “direct control”.
When using i2s or onboard spdif, you’ll have to use the standard Android driver. But the standard driver has 16 bits /48 kHz only.

Or do you have another way?

can someone help me. I have a vim 2g/8g with libreelec in mmc, but there is no chance to get the i2s signal. The connection is BCK <> GPIOH_7 (pin 29), DATA <> GPIOAO_9 (pin 31),LRCK <> GPIOH_8 (pin 32), gnd is pin 28. With the vim2 it works, but here no chance.
What can i do ? Thanks

Where’s the rom libreelec from? You can goto following post and ask for @balbes150, I think he can give you some advice. Thanks :grinning: