<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Capture I2S stream on imx6 in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Capture-I2S-stream-on-imx6/m-p/309931#M40325</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have a device with I2S audio output that I want to capture using an i.mx6 board (Udoo).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;On this board I can connect directly to the AUD5 pins of the i.mx6 quad.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Eventually, I want to have an ALSA/whatever device that is readable from userspace for capturing this audio stream.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What do I have to do to achieve that? I've read quite a lot, yet I'm more confused than before I started.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How do I set up the kernel? The pins are already configured correctly, but I don't know about the initialization code.&lt;/P&gt;&lt;P&gt;Is there already a driver that registers a device for me to read or do I need to code one myself?&lt;/P&gt;&lt;P&gt;Do I need any sort of audio codec for this? If I understand correctly, I'm simply capturing a digital data stream, so this should not need to much overhead.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So where do I go next?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Jonas.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 03 Apr 2014 13:30:50 GMT</pubDate>
    <dc:creator>jonashippold</dc:creator>
    <dc:date>2014-04-03T13:30:50Z</dc:date>
    <item>
      <title>Capture I2S stream on imx6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Capture-I2S-stream-on-imx6/m-p/309931#M40325</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have a device with I2S audio output that I want to capture using an i.mx6 board (Udoo).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;On this board I can connect directly to the AUD5 pins of the i.mx6 quad.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Eventually, I want to have an ALSA/whatever device that is readable from userspace for capturing this audio stream.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What do I have to do to achieve that? I've read quite a lot, yet I'm more confused than before I started.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How do I set up the kernel? The pins are already configured correctly, but I don't know about the initialization code.&lt;/P&gt;&lt;P&gt;Is there already a driver that registers a device for me to read or do I need to code one myself?&lt;/P&gt;&lt;P&gt;Do I need any sort of audio codec for this? If I understand correctly, I'm simply capturing a digital data stream, so this should not need to much overhead.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So where do I go next?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Jonas.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Apr 2014 13:30:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Capture-I2S-stream-on-imx6/m-p/309931#M40325</guid>
      <dc:creator>jonashippold</dc:creator>
      <dc:date>2014-04-03T13:30:50Z</dc:date>
    </item>
    <item>
      <title>Re: Capture I2S stream on imx6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Capture-I2S-stream-on-imx6/m-p/309932#M40326</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm doing something similar, to capture I2S_IN audio stream into iMX6 by trying to write an ALSA driver for the device that is sending out the audio stream via its I2S_OUT. This driver is quite different from those typical Alsa drivers such as stgl5000 etc. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 13 Apr 2014 15:19:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Capture-I2S-stream-on-imx6/m-p/309932#M40326</guid>
      <dc:creator>XXiao1z</dc:creator>
      <dc:date>2014-04-13T15:19:40Z</dc:date>
    </item>
    <item>
      <title>Re: Capture I2S stream on imx6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Capture-I2S-stream-on-imx6/m-p/309933#M40327</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Have you already achieved any progress in that project? Could you provide that driver code?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 Apr 2014 10:38:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Capture-I2S-stream-on-imx6/m-p/309933#M40327</guid>
      <dc:creator>jonashippold</dc:creator>
      <dc:date>2014-04-15T10:38:59Z</dc:date>
    </item>
    <item>
      <title>Re: Capture I2S stream on imx6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Capture-I2S-stream-on-imx6/m-p/309934#M40328</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Jonas&lt;/P&gt;&lt;P&gt;Had your issue got resolved? If yes, we are going to close the discussion in 3 days. If you still need help, please feel free to reply with an update to this discussion.&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Yixing&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jun 2014 06:15:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Capture-I2S-stream-on-imx6/m-p/309934#M40328</guid>
      <dc:creator>YixingKong</dc:creator>
      <dc:date>2014-06-19T06:15:56Z</dc:date>
    </item>
    <item>
      <title>Re: Capture I2S stream on imx6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Capture-I2S-stream-on-imx6/m-p/309935#M40329</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Jonas&lt;/P&gt;&lt;P&gt;This discussion is closed since no activity. If you still need help, please feel free to reply with an update to this discussion, or create another discussion.&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Yixing&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Jun 2014 07:46:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Capture-I2S-stream-on-imx6/m-p/309935#M40329</guid>
      <dc:creator>YixingKong</dc:creator>
      <dc:date>2014-06-30T07:46:29Z</dc:date>
    </item>
    <item>
      <title>Re: Capture I2S stream on imx6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Capture-I2S-stream-on-imx6/m-p/309936#M40330</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am facing same issue, as stated in the above thread.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We have a bluetooth device connected to via I2S interface. Once the bluetooth interface is configured properly it will send PCM the data via I2S. we can see the bluetooth is sending the data using a oscilloscope&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now we want to record the data from IMX side, also do play back using arecord/aplay commands. Kindly let us know how we can do it. Which driver to use. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FYI: We are using Linux 3.10.17 running on IMX6 Solo., &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Feb 2015 12:19:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Capture-I2S-stream-on-imx6/m-p/309936#M40330</guid>
      <dc:creator>mohamedthalibha</dc:creator>
      <dc:date>2015-02-05T12:19:36Z</dc:date>
    </item>
    <item>
      <title>Re: Capture I2S stream on imx6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Capture-I2S-stream-on-imx6/m-p/309937#M40331</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;Mohamed&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You need to register platform driver for SSI configuration and you need to register dummy sound card.&lt;/P&gt;&lt;P&gt;Once your sound card registered correctly, you can use arecord/aplay command.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Saurabh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Feb 2015 04:18:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Capture-I2S-stream-on-imx6/m-p/309937#M40331</guid>
      <dc:creator>saurabh206</dc:creator>
      <dc:date>2015-02-06T04:18:42Z</dc:date>
    </item>
    <item>
      <title>Re: Capture I2S stream on imx6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Capture-I2S-stream-on-imx6/m-p/309938#M40332</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have created a platform driver referred from sgtl and other drivers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Below is the source, is it correct. but I a getting timeout when using aplay, but no audio record interface is present.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;linux/module.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;linux/of_platform.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;sound/soc.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;linux/of.h&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#include "imx-audmux.h"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;struct imx_bt_data {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; struct snd_soc_dai_link dai;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; struct snd_soc_card card;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; struct platform_device *pdev;&lt;/P&gt;&lt;P&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;static int imx_bt_audio_probe(struct platform_device *pdev)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; struct device_node *ssi_np, *np = pdev-&amp;gt;dev.of_node;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; struct imx_bt_data *data;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; struct platform_device *ssi_pdev;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int ret = 0, int_port, ext_port;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Get the int and ext port from the dtb&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ret = of_property_read_u32(np, "mux-int-port", &amp;amp;int_port);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (ret) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dev_err(&amp;amp;pdev-&amp;gt;dev, "mux-int-port missing or invalid\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ret;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ret = of_property_read_u32(np, "mux-ext-port", &amp;amp;ext_port);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (ret) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dev_err(&amp;amp;pdev-&amp;gt;dev, "mux-ext-port missing or invalid\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ret;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * The port numbering in the hardware manual starts at 1, while&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * the audmux API expects it starts at 0.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int_port--;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ext_port--;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*Configure the audmux*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ret = imx_audmux_v2_configure_port(int_port,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IMX_AUDMUX_V2_PTCR_SYN |&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IMX_AUDMUX_V2_PTCR_TFSEL(ext_port) |&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IMX_AUDMUX_V2_PTCR_TCSEL(ext_port) |&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IMX_AUDMUX_V2_PTCR_TFSDIR |&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IMX_AUDMUX_V2_PTCR_TCLKDIR,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IMX_AUDMUX_V2_PDCR_RXDSEL(ext_port));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (ret) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dev_err(&amp;amp;pdev-&amp;gt;dev, "audmux internal port setup failed\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ret;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ret = imx_audmux_v2_configure_port(ext_port,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IMX_AUDMUX_V2_PTCR_SYN,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IMX_AUDMUX_V2_PDCR_RXDSEL(int_port));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (ret) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dev_err(&amp;amp;pdev-&amp;gt;dev, "audmux external port setup failed\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ret;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Get the i2s controller from dtb&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ssi_np = of_parse_phandle(pdev-&amp;gt;dev.of_node, "ssi-controller", 0);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!ssi_np) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dev_err(&amp;amp;pdev-&amp;gt;dev, "phandle missing or invalid\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ret = -EINVAL;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; goto fail;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //find the i2s node and get its pdev struct&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ssi_pdev = of_find_device_by_node(ssi_np);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!ssi_pdev) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dev_err(&amp;amp;pdev-&amp;gt;dev, "failed to find SSI platform device\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ret = -EINVAL;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; goto fail;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; data = devm_kzalloc(&amp;amp;pdev-&amp;gt;dev, sizeof(*data), GFP_KERNEL);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!data) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dev_err(&amp;amp;pdev-&amp;gt;dev, "failed to allocate memory\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ret = -ENOMEM;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; goto fail;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; data-&amp;gt;dai.name = "ESOM BT HiFi";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; data-&amp;gt;dai.stream_name = "Bluetooth Headphone";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; data-&amp;gt;dai.codec_dai_name = "snd-soc-dummy-dai";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; data-&amp;gt;dai.codec_name = "snd-soc-dummy";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; data-&amp;gt;dai.cpu_of_node = ssi_np;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; data-&amp;gt;dai.platform_of_node = ssi_np;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; data-&amp;gt;dai.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SND_SOC_DAIFMT_CBM_CFM;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; data-&amp;gt;card.dev = &amp;amp;pdev-&amp;gt;dev;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; data-&amp;gt;card.num_links = 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; data-&amp;gt;card.dai_link = &amp;amp;data-&amp;gt;dai;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; data-&amp;gt;pdev = platform_device_register_simple("bluetooth", -1, NULL, 0);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (IS_ERR(data-&amp;gt;pdev)) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ret = PTR_ERR(data-&amp;gt;pdev);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dev_err(&amp;amp;pdev-&amp;gt;dev, "register failed: %d\n", ret);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; goto fail;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Fill in the card details&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ret = snd_soc_of_parse_card_name(&amp;amp;data-&amp;gt;card, "model");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (ret)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; goto fail;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; data-&amp;gt;card.num_links = 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; data-&amp;gt;card.owner = THIS_MODULE;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; data-&amp;gt;card.dai_link = &amp;amp;data-&amp;gt;dai;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; platform_set_drvdata(pdev, &amp;amp;data-&amp;gt;card);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; snd_soc_card_set_drvdata(&amp;amp;data-&amp;gt;card, data);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ret = snd_soc_register_card(&amp;amp;data-&amp;gt;card);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (ret) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dev_err(&amp;amp;pdev-&amp;gt;dev, "snd_soc_register_card failed: %d\n", ret);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; goto fail;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Done, set the driver data.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; platform_set_drvdata(pdev, data);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fail:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (ssi_np)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; of_node_put(ssi_np);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ret;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;static int imx_bt_audio_remove(struct platform_device *pdev)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; struct snd_soc_card *card = platform_get_drvdata(pdev);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; struct imx_bt_data *data = snd_soc_card_get_drvdata(card);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; snd_soc_unregister_card(card);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; platform_device_unregister(data-&amp;gt;pdev);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;static const struct of_device_id imx_bt_dt_ids[] = {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { .compatible = "fsl,imx-audio-bt", },&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { }&lt;/P&gt;&lt;P&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE_DEVICE_TABLE(of, imx_bt_dt_ids);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;static struct platform_driver imx_bt_driver = {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .driver = {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .name = "imx-audio-bt",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .owner = THIS_MODULE,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .pm = &amp;amp;snd_soc_pm_ops,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .of_match_table = imx_bt_dt_ids,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .probe = imx_bt_audio_probe,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .remove = imx_bt_audio_remove,&lt;/P&gt;&lt;P&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;module_platform_driver(imx_bt_driver);@&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Feb 2015 06:45:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Capture-I2S-stream-on-imx6/m-p/309938#M40332</guid>
      <dc:creator>mohamedthalibha</dc:creator>
      <dc:date>2015-02-09T06:45:14Z</dc:date>
    </item>
    <item>
      <title>Re: Capture I2S stream on imx6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Capture-I2S-stream-on-imx6/m-p/309939#M40333</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;# insmod imx-esom-bt.ko&amp;nbsp; &lt;/TD&gt;&lt;TD&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;imx-audio-esom-bt sound-bt.26:&amp;nbsp; snd-soc-dummy-dai &amp;lt;-&amp;gt; 202c000.ssi mapping ok&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# cat /proc/asound/cards &lt;/P&gt;&lt;P&gt; 0 [imx6qesomimx6sg]: imx6q-esomimx6- - imx6q-esomimx6-sgtl5000&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;imx6q-esomimx6-sgtl5000&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt; 1 [imxhdmisoc &lt;/TD&gt;&lt;TD&gt;]: imx-hdmi-soc - imx-hdmi-soc&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;imx-hdmi-soc&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt; 2 [imx6qesombt&lt;/TD&gt;&lt;TD&gt;]: imx6q-esom-bt - imx6q-esom-bt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;imx6q-esom-bt&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;# aplay -L &lt;/P&gt;&lt;P&gt;null&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;Discard all samples (playback) or generate zero samples (capture)&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;bluetooth&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;BT Headset&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;default:CARD=imx6qesomimx6sg&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;imx6q-esomimx6-sgtl5000, &lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;Default Audio Device&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;sysdefault:CARD=imx6qesomimx6sg&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;imx6q-esomimx6-sgtl5000, &lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;Default Audio Device&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;default:CARD=imxhdmisoc&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;imx-hdmi-soc, &lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;Default Audio Device&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;sysdefault:CARD=imxhdmisoc&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;imx-hdmi-soc, &lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;Default Audio Device&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;default:CARD=imx6qesombt&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;imx6q-esom-bt, &lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;Default Audio Device&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;sysdefault:CARD=imx6qesombt&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;imx6q-esom-bt, &lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;Default Audio Device&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;# aplay -Dhw:2,0 unmai.wav &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Playing WAVE 'unmai.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;aplay: pcm_write:1939: write error: Input/output error&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Device tree entires are below&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;+&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;sound-bt {&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;compatible = "fsl,imx-audio-esom-bt",&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;"imx-audio-esom-bt";&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;model = "imx6q-esom-bt";&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;ssi-controller = &amp;lt;&amp;amp;ssi2&amp;gt;; &lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;mux-int-port = &amp;lt;2&amp;gt;;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;mux-ext-port = &amp;lt;5&amp;gt;;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;+&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;};&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Added below to audmux pin control&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;MX6QDL_PAD_KEY_ROW1__AUD5_RXD&amp;nbsp; 0x130b0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;MX6QDL_PAD_KEY_COL0__AUD5_TXC&amp;nbsp; 0x130b0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;MX6QDL_PAD_KEY_ROW0__AUD5_TXD&amp;nbsp; 0x110b0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;MX6QDL_PAD_KEY_COL1__AUD5_TXFS 0x130b0&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Feb 2015 13:04:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Capture-I2S-stream-on-imx6/m-p/309939#M40333</guid>
      <dc:creator>mohamedthalibha</dc:creator>
      <dc:date>2015-02-09T13:04:41Z</dc:date>
    </item>
    <item>
      <title>Re: Capture I2S stream on imx6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Capture-I2S-stream-on-imx6/m-p/309940#M40334</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mohamed Thalib Haja,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is your issue got resolved ?? We are also trying to capture PCM data over i2s using dummy driver what you have used.&lt;SPAN class="j-post-author"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Jun 2015 13:23:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Capture-I2S-stream-on-imx6/m-p/309940#M40334</guid>
      <dc:creator>saisuryanarayan</dc:creator>
      <dc:date>2015-06-26T13:23:51Z</dc:date>
    </item>
    <item>
      <title>Re: Capture I2S stream on imx6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Capture-I2S-stream-on-imx6/m-p/309941#M40335</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;Saisurya&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can use "i.MX_6_BSP_Porting_Guide.pdf'&lt;/P&gt;&lt;P&gt;Chapter 8&lt;/P&gt;&lt;P&gt;Porting Audio Codecs to a Custom Board.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Saurabh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 27 Jun 2015 07:14:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Capture-I2S-stream-on-imx6/m-p/309941#M40335</guid>
      <dc:creator>saurabh206</dc:creator>
      <dc:date>2015-06-27T07:14:53Z</dc:date>
    </item>
    <item>
      <title>Re: Capture I2S stream on imx6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Capture-I2S-stream-on-imx6/m-p/309942#M40336</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Saurabh Patel,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thankx for the reply.I have gone through the document.In our case we are not using any codec IC we want to capture raw PCM samples from SSI .&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 27 Jun 2015 09:19:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Capture-I2S-stream-on-imx6/m-p/309942#M40336</guid>
      <dc:creator>saisuryanarayan</dc:creator>
      <dc:date>2015-06-27T09:19:56Z</dc:date>
    </item>
    <item>
      <title>Re: Capture I2S stream on imx6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Capture-I2S-stream-on-imx6/m-p/309943#M40337</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Saisurya -&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Did you have any success with this? I'm looking to send/receive PCM over SSI/AUDMUX without a codec IC.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Apr 2016 13:52:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Capture-I2S-stream-on-imx6/m-p/309943#M40337</guid>
      <dc:creator>wriba</dc:creator>
      <dc:date>2016-04-12T13:52:06Z</dc:date>
    </item>
    <item>
      <title>Re: Capture I2S stream on imx6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Capture-I2S-stream-on-imx6/m-p/309944#M40338</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;Saurabh Patel&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;I have the same problem. We have bluetooth module (chip csr8811). The chip is connected with SAI bus. &lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;In our case we are not using any codec IC we want to capture raw PCM samples from SAI.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;what the way foward?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;That we must write in devicetree?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;Must we creat a platform driver like &lt;A _jive_internal="true" data-userid="227706" data-username="mohamedthalibhaja" href="https://community.nxp.com/people/mohamedthalibhaja" style="font-size: 1.286rem; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #8ca9cd;"&gt;Mohamed Thalib Haja?&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;Thanks,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;François&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Jul 2016 15:41:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Capture-I2S-stream-on-imx6/m-p/309944#M40338</guid>
      <dc:creator>delauratfrançoi</dc:creator>
      <dc:date>2016-07-27T15:41:50Z</dc:date>
    </item>
  </channel>
</rss>

