alexparser Posted February 17, 2016 Posted February 17, 2016 Hi, I have Lime2 with installed last version Armbian. How make I2S interface in slave mode? Need build a new kernel or I2S driver? Any recomendations please... Kind regards
alexparser Posted February 18, 2016 Author Posted February 18, 2016 I found discussion about this here - http://www.cubieforums.com/index.php?topic=1081.0 How I understand, need to make patch souce code and rebuild linux kernel. But how to do correctly..? Help my please.
Igor Posted February 18, 2016 Posted February 18, 2016 That patch is already a part of Armbian kernel and reported working on Cubietruck and Banana PRO.
alexparser Posted February 18, 2016 Author Posted February 18, 2016 That patch is already a part of Armbian kernel and reported working on Cubietruck and Banana PRO. Thanks for info! That patch not presented in Lime2? Lime2 based on Allwinner A20 SOC like as Cubietruck and Banana PRO. May be you can help me porting this patch to Lime2?
Igor Posted February 18, 2016 Posted February 18, 2016 All A20 boards share the same kernel so this patch is present. Check your script.bin ... I2S is only disabled in board configuration. [i2s_para] i2s_used = 0 i2s_channel = 2 i2s_mclk = port:PB05<2><1><default><default> i2s_bclk = port:PB06<2><1><default><default> i2s_lrclk = port:PB07<2><1><default><default> i2s_dout0 = port:PB08<2><1><default><default> i2s_dout1 = i2s_dout2 = i2s_dout3 = i2s_din = port:PB12<2><1><default><default> /boot/bin/lime2.bin (file location) bin2fex lime2.bin lime2.fex Check / edit / enable in fex file: change i2s_used = 0 to i2s_used = 1 fex2bin lime2.fex lime2.bin For wiring check Olimex docs.
alexparser Posted February 18, 2016 Author Posted February 18, 2016 All A20 boards share the same kernel so this patch is present. Check your script.bin ... I2S is only disabled in board configuration. [i2s_para] i2s_used = 0 i2s_channel = 2 i2s_mclk = port:PB05<2><1><default><default> i2s_bclk = port:PB06<2><1><default><default> i2s_lrclk = port:PB07<2><1><default><default> i2s_dout0 = port:PB08<2><1><default><default> i2s_dout1 = i2s_dout2 = i2s_dout3 = i2s_din = port:PB12<2><1><default><default> /boot/bin/lime2.bin (file location) bin2fex lime2.bin lime2.fex Check / edit / enable in fex file: change i2s_used = 0 to i2s_used = 1 fex2bin lime2.fex lime2.bin For wiring check Olimex docs. I make correction a fex file. But after reboot I can't see the i2s device. root@lime2:~# aplay -l **** List of PLAYBACK Hardware Devices **** card 1: DAC [Brooklyn DAC], device 0: USB Audio [USB Audio] Subdevices: 1/1 Subdevice #0: subdevice #0
zador.blood.stained Posted February 19, 2016 Posted February 19, 2016 @alexparser Just to clarify: what Armbian image did you download? More specifically - with what kernel version? (You can check it with "uname -r" command on your device).
alexparser Posted February 19, 2016 Author Posted February 19, 2016 Yes, course root@lime2:~# uname -a Linux lime2 4.2.3-sunxi #2 SMP Sun Oct 11 14:12:18 CEST 2015 armv7l GNU/Linux
zador.blood.stained Posted February 19, 2016 Posted February 19, 2016 I2S works only in default/legacy (3.4.10x) kernel for now, so you need to install it (or use another Armbian image) to get it working (you still need script.fex tweaks to activate it). 1
alexparser Posted February 19, 2016 Author Posted February 19, 2016 I2S works only in default/legacy (3.4.10x) kernel for now, so you need to install it (or use another Armbian image) to get it working (you still need script.fex tweaks to activate it). Thanks! I'll be try..
Kevin Welsh Posted February 21, 2016 Posted February 21, 2016 Hi alexparser, any updates to share about I2S slave mode? I'm looking for hardware options for slave mode, too, and am willing/interested to collaborate.
alexparser Posted February 21, 2016 Author Posted February 21, 2016 Hi alexparser, any updates to share about I2S slave mode? I'm looking for hardware options for slave mode, too, and am willing/interested to collaborate. Hi, So, I got success, I2S work in master mode only on 3.4.106-lime I think, slave mode must work also. But I don't have a external clock for test.
Kevin Welsh Posted February 25, 2016 Posted February 25, 2016 Was there something specific about 3.4.106-lime? There are many other variables, but at the moment, I'm on 3.4.109-sunxi, and I see the I2S, speaker-test runs, but no audio on the I2S output.
Igor Posted February 25, 2016 Posted February 25, 2016 Now you need to check and double check if you wired properly. Without looking to the board schematics is hard to tell which PINs are the right ones. Check also that those pins are not overlapping with some other function. This might cause problems so you would need to disable that. In fex settings.
Kevin Welsh Posted February 25, 2016 Posted February 25, 2016 I wired it properly, according to their LIME2 user manual. But, evidently, the user manual shows different pinouts than another doc I found. Grr. Good news, I2S master mode is working w/ 3.4.109-sunxi Will report back on slave mode soon.
Kevin Welsh Posted February 26, 2016 Posted February 26, 2016 As promised, I'm reporting back. I2S slave mode is functional on LIME2: 3.4.109-sunxi (Wheezy). Jessie is the next to test. 1
Kevin Welsh Posted February 27, 2016 Posted February 27, 2016 I2S Master Mode in Jessie is working. However, there is noise in 192kHz tracks. I have issues (noise) playing 192/24 tracks using I2S in Master or Slave mode. Is this a known issue? Is there a fix? I'm not sure if this issue existed in the other versions or not.
Igor Posted February 27, 2016 Posted February 27, 2016 Check for more info here: http://www.cubieforums.com/index.php/topic,1081.0.html
stephengrenfell Posted November 13, 2016 Posted November 13, 2016 I2S Master Mode in Jessie is working. However, there is noise in 192kHz tracks. I have issues (noise) playing 192/24 tracks using I2S in Master or Slave mode. Is this a known issue? Is there a fix? I'm not sure if this issue existed in the other versions or not. Hi Kevin, I am trying to get I2S Slave mode working. I have I2S Master mode working, but I do not know how to select / enable Slave mode. Can you shed any light on that ?. Thanks.
Recommended Posts