<?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 Simple I2S setup in Linux kernel in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Simple-I2S-setup-in-Linux-kernel/m-p/258615#M25304</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'm new to the Linux Asoc stack and we have a custom nitrogen6x-like PCB with an i.MX6 hooked up to a DSP (ADAU1701) via I2S.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I boot with my nitrogen6-kernel, I see the following: &lt;SPAN style="font-family: courier new,courier;"&gt;&amp;lt;3&amp;gt;asoc: failed to instantiate card sgtl5000-audio: -19.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;SPAN style="font-size: 10pt; font-family: arial,helvetica,sans-serif;"&gt;Since our custom PCB doesn't have a SGTL5000, that's expected: &lt;/SPAN&gt;&lt;SPAN style="color: #000000; font-style: normal; font-size: 10pt; font-family: arial,helvetica,sans-serif; font-weight: normal;"&gt; /proc/asound/cards is empty.&lt;/SPAN&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt;What are the changes I need to make in order to skip the detection of SGTL5000 and force the use of the I2S outputs of the i.MX6 instead?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt; We would, as a first step, just like to have the ability to send an audio-signal over our I2S bus in order to verify our hardware.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt;I have looked at &lt;A href="https://community.nxp.com/thread/305007"&gt;I2S and DMA configuration imx6 sabre sdb&lt;/A&gt; and &lt;A href="https://community.nxp.com/message/302414"&gt;i2s or SPDIF support in linux kernel&lt;/A&gt; without much success.&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt;Thanks!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt;Kris&lt;/SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 05 Nov 2013 14:17:07 GMT</pubDate>
    <dc:creator>kristianlein-ma</dc:creator>
    <dc:date>2013-11-05T14:17:07Z</dc:date>
    <item>
      <title>Simple I2S setup in Linux kernel</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Simple-I2S-setup-in-Linux-kernel/m-p/258615#M25304</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'm new to the Linux Asoc stack and we have a custom nitrogen6x-like PCB with an i.MX6 hooked up to a DSP (ADAU1701) via I2S.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I boot with my nitrogen6-kernel, I see the following: &lt;SPAN style="font-family: courier new,courier;"&gt;&amp;lt;3&amp;gt;asoc: failed to instantiate card sgtl5000-audio: -19.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;SPAN style="font-size: 10pt; font-family: arial,helvetica,sans-serif;"&gt;Since our custom PCB doesn't have a SGTL5000, that's expected: &lt;/SPAN&gt;&lt;SPAN style="color: #000000; font-style: normal; font-size: 10pt; font-family: arial,helvetica,sans-serif; font-weight: normal;"&gt; /proc/asound/cards is empty.&lt;/SPAN&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt;What are the changes I need to make in order to skip the detection of SGTL5000 and force the use of the I2S outputs of the i.MX6 instead?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt; We would, as a first step, just like to have the ability to send an audio-signal over our I2S bus in order to verify our hardware.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt;I have looked at &lt;A href="https://community.nxp.com/thread/305007"&gt;I2S and DMA configuration imx6 sabre sdb&lt;/A&gt; and &lt;A href="https://community.nxp.com/message/302414"&gt;i2s or SPDIF support in linux kernel&lt;/A&gt; without much success.&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt;Thanks!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt;Kris&lt;/SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Nov 2013 14:17:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Simple-I2S-setup-in-Linux-kernel/m-p/258615#M25304</guid>
      <dc:creator>kristianlein-ma</dc:creator>
      <dc:date>2013-11-05T14:17:07Z</dc:date>
    </item>
    <item>
      <title>Re: Simple I2S setup in Linux kernel</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Simple-I2S-setup-in-Linux-kernel/m-p/258616#M25305</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Kristian,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Basically the steps mention by &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/weidong.sun"&gt;weidong.sun&lt;/A&gt; are correct and this are the necessary to get the I2S functionality enable, but you need to create and configure the new codec, that you can take a look at the SGTL500. driver to get an idea, or I recommend that you use the FSL SGTL5000 instead! :smileywink:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Please refer to the following steps:&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;(1)iomux to PADs(See Reference manual)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;AUD6_TXC---&amp;gt;DI0_PIN15&lt;/P&gt;&lt;P&gt;AUD6_TXFS----&amp;gt;DI0_PIN3&lt;/P&gt;&lt;P&gt;AUD6_TXD-----&amp;gt;DI0_PIN2&lt;/P&gt;&lt;P&gt;AUD6_RXD-----&amp;gt;DI0_PIN4&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;(2)add them to iomux structure&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Open file liunx/arch/arm/mach-mx6/board-mx6q_sabresd.h&lt;/P&gt;&lt;P&gt;static iomux_v3_cfg_t mx6q_sabresd_pads[] = {&lt;/P&gt;&lt;P&gt; /* AUDMUX por 6 */&lt;/P&gt;&lt;P&gt; MX6Q_PAD_DI0_PIN15__AUDMUX_AUD6_TXC,&lt;/P&gt;&lt;P&gt; MX6Q_PAD_DI0_PIN3__AUDMUX_AUD6_TXFS,&lt;/P&gt;&lt;P&gt; MX6Q_PAD_DI0_PIN2__AUDMUX_AUD6_TXD,&lt;/P&gt;&lt;P&gt; MX6Q_PAD_DI0_PIN4__AUDMUX_AUD6_RXD,&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;(3)Adjust bsp file&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Open board-mx6q-sabresd.c ,modify like the following :&lt;/P&gt;&lt;P&gt;static struct platform_device mx6_sabresd_audio_wm8958_device = {&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;/*Here is sound card divice's name,it should be the same as that of Machine driver*/&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt; .name = "imx-wm8958", &lt;/P&gt;&lt;P&gt;};&lt;/P&gt;&lt;P&gt;static struct mxc_audio_platform_data wm8958_data = {&lt;/P&gt;&lt;P&gt; .ssi_num = 1,&lt;/P&gt;&lt;P&gt; .src_port = 2,&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt; .ext_port = 6, /* Means "ssi2---&amp;gt;aud6 --- &amp;gt;codec"*/&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt; .hp_gpio = SABRESD_HEADPHONE_DET,&lt;/P&gt;&lt;P&gt; .hp_active_low = 1,&lt;/P&gt;&lt;P&gt;};&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Nov 2013 21:19:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Simple-I2S-setup-in-Linux-kernel/m-p/258616#M25305</guid>
      <dc:creator>jamesbone</dc:creator>
      <dc:date>2013-11-14T21:19:27Z</dc:date>
    </item>
    <item>
      <title>Re: Simple I2S setup in Linux kernel</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Simple-I2S-setup-in-Linux-kernel/m-p/258617#M25306</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Jamesbone,&lt;/P&gt;&lt;P&gt;but I'm still rather confused about this whole ASOC architecture.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I understand you specify which AUDMUX you want with the .ext_port field. I suppose this is for playback? Where do you specify which AUDMUXes are used for capture? We've got 4-wire incoming sound on AUD4 and AUD5, and 6-wire both incoming and outgoing on AUD3.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Nov 2013 11:06:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Simple-I2S-setup-in-Linux-kernel/m-p/258617#M25306</guid>
      <dc:creator>kristianlein-ma</dc:creator>
      <dc:date>2013-11-19T11:06:09Z</dc:date>
    </item>
  </channel>
</rss>

