2 Replies Latest reply on Mar 20, 2017 3:56 PM by dmansmith

    Mapping Audio to I2C


      I have an Edison with a DFRobot board that has i2C on the board.  I have connected an Adafruit Stereo 2.8W Class D Audio Amplifier - I2C Control AGC - TPA2016.  I can see the device on i2cdetect -l 6 address range 0x03-0x77.  I would like to map audio playback to this device rather than using either BT or USB.  I am on Yocto 3.10.17-poky-edison+

      I would hope that I could edit a config file to tell the system that playback should go through i2c.  Any help would be appreciated.




        • 1. Re: Mapping Audio to I2C

          I would suggest you first start with the Intel Edison Audio Setup Guide - download.intel.com/support/edison/sb/edisonaudio_332434001.pdf .


          Check out this Adafruit forum post for reference but you'll also need a DAC (Digital-to-Analog Converter) codec chip in-between Edison and that Amplifier board. I2C isn't used for audio applications, but I2S is. Whichever codec you end up connecting up, you'll need to make modifications in the kernel to get things up and functional (see ASoC driver section in guide). When the system recognizes your codec, you'll be able to configure Alsa or Pulseaudio to use that codec as your 'sound card'. From what Adafruit offers, they have a 'combo' breakout that has both DAC+Amplifier over I2S with the MAX98357 chip (link). You should be able to find some Linux drivers available to get a head start.


          You can reference Sergey's work on various posts on this site and also on his blog with the WM8731 codec - it's the most documented work I've seen thus far:

          Intel Edison - Simple I2S Audio Setup - Malinov Family Web Presence

          Audio Block for Intel Edison - Malinov Family Web Presence


          Others have gotten other codec chips working, feel free to search the forum and ask others directly for help once you have a codec you'd like to try and use.

          1 of 1 people found this helpful
          • 2. Re: Mapping Audio to I2C

            I will build it this week.  Thanks for all the detail.