9 Replies Latest reply on Jul 25, 2016 7:01 PM by bennnn

    Edison I2S interface connection



      I want to use edison I2S as master mode.

      I use UDA1380.

      How should it be connected edison and UDA1380?

      Especially,I don't know where to connect mclk.

        • 1. Re: Edison I2S interface connection

          Hello Y.Takata,


          If you look at the Edison Module Hardware Guide, in page 25, you'll find that the I2S interface is available on the pins 50, 52, 54 and 56.


          PinSignal NameAlternate FunctionDescription
          50GP42I2S_2_RXDGPIO, I2S2 receive data (input)
          52 GP40 I2S_2_CLKGPIO, I2S2 clock (output)
          54GP41I2S_2_FSGPIO, I2S2 frame sync (output)
          56GP43I2S_2_TXDGPIO, I2S2 transmit data (output)


          If you are using the Arduino Expansion Board, the Intel® Edison Boards and Compute Modules — Intel® Edison Kit for Arduino* Hardware Guide on page 10 says that the I2S_2_CLK in available on pin 13. On the same table you'll find the configuration needed to enable I2S on the Arduio Expansion Board.


          Please do note that the Edison Module Hardware Guide specifies on page 25 that all of the I2S modes have not been verified and are subject to change.



          • 2. Re: Edison I2S interface connection

            Hi Peter.


            Thank you very much for your answer.

            I found Edison Module Hardware Guide and Edison Kit for Arduino* Hardware Guide.

            So can I question additionally?


            I was thinking,

            UDA1380's BCKI to Edison's I2S_2_CLK,

            UDA1380's WSI to Edison's I2S_2_FS,

            UDA1380's DATAI to Edison's I2S_2_TXD,

            and I didn't know where to connect UDA1380's SYSCLK.


            If UDA1380's SYSCLK connect to I2S_2_CLK,

            Where should UDA1380's BCKI be connected?

            Best Regards,

            • 3. Re: Edison I2S interface connection

              I took a quick look at the datasheet of the UDA1380, I'm not a 100% sure but I believe those three pins are the ones you should connect, I believe SYSCLK is an input to syncronize the chip with your system, I believe the UDA1380 has an internal clock if SYSCLK is not connected, but as I mentioned I'm not certain, i suggest you to take a close look at the UDA1380 datasheet.



              • 4. Re: Edison I2S interface connection

                The Edison's I2S interface is not yet supported by the Linux kernel and ALSA. You should have a look at the other threads on the subject before investing too much time in this.


                Audio via I2S on edison


                Future support is planned though. I am personally waiting for more answer on this subject from Intel since last November.





                • 5. Re: Edison I2S interface connection

                  Thank you for your answer.

                  ll be read UDA1380 datasheet once again.

                  And different way will be considered.



                  • 6. Re: Edison I2S interface connection



                    Is there basic Edison support for I2S IO to alsa in the standard edison Yocto linux kernel / image yet ?

                    Its July 2016 and the edison has been out for a while !


                    If the SOC has I2S IO then it should be supported by now? If not, no problem , i will move on !


                    I would like to give edison one more go in my project rather than use ARM M4 or M7 cortex since I think

                    I would benifit from using x86 architecture in the audio processing.


                    I wuld like to stream multichannel I2S in and out of linux to record and play back multichannel audio in 24bit up to 196khz with ARECORD APLAY to I2S hardware.


                    I would like to have 4 , 2 channel I2S channels or possibly use TDM or DSP 8 channel if its possible to stream from and to the DSP ic in my project.


                    I also need to use I2C and SPI bus at the same time. I have the arduino breakout board and would like to have 3.3v IO logic I2S for testing. If not is on the arduino breakout on the mini breakout

                    and I can add some logic level translators to 1.8v but would rather not just for testing.


                    So far i've hit a brick wall with everything edison from simple PWM motor control , Arduino library compatabilty & attempting to build a simple working bluetooth control example in the IOT IDE examples.


                    I think is my last try at using the board before it hits ebay


                    anyone out there have any luck using I2S and edison or is it all smoke and mirrors ?



                    • 7. Re: Edison I2S interface connection

                      Hi bennn,


                      A while back an update that added support for I2S on Edison was made public. There's an official Audio Setup Guide for Edison where you can see all of Edison's I2S capabilities. You can find that document in Audio Setup Guide for the Intel® Edison Platform . I suggest you to check it out.



                      • 8. Re: Edison I2S interface connection

                        Have you checked this article?

                        Intel Edison and Open Music Labs' Audio Codec Shield - Malinov Family Web Presence


                        Also check his other tutorials.

                        1 of 1 people found this helpful
                        • 9. Re: Edison I2S interface connection

                          Hi, thanks for both posts , Audio Setup Guide for the Intel® Edison Platform is what I was looking for



                          , I had no idea you had to,export GPIO's for I2S and I2C !! Thanks Farit


                          # Export GPIOs that control I2S signals

                          echo 263 > /sys/class/gpio/export

                          echo 240 > /sys/class/gpio/export

                          echo 262 > /sys/class/gpio/export

                          echo 241 > /sys/class/gpio/export

                          echo 242 > /sys/class/gpio/export

                          echo 243 > /sys/class/gpio/export

                          echo 258 > /sys/class/gpio/export

                          echo 259 > /sys/class/gpio/export

                          echo 260 > /sys/class/gpio/export

                          echo 261 > /sys/class/gpio/export

                          echo 226 > /sys/class/gpio/export

                          echo 227 > /sys/class/gpio/export

                          echo 228 > /sys/class/gpio/export

                          echo 229 > /sys/class/gpio/export



                          # Export GPIOs that control I2C signals

                          echo 28 > /sys/class/gpio/export

                          echo 27 > /sys/class/gpio/export

                          echo 204 > /sys/class/gpio/export

                          echo 205 > /sys/class/gpio/export

                          echo 236 > /sys/class/gpio/export

                          echo 237 > /sys/class/gpio/export

                          echo 14 > /sys/class/gpio/export

                          echo 165 > /sys/class/gpio/export

                          echo 212 > /sys/class/gpio/export

                          echo 213 > /sys/class/gpio/export