<?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 Re: iMX28 change audio codec driver in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/iMX28-change-audio-codec-driver/m-p/171001#M5528</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The 0xa I2C address is wrong for the cs4270. It should be 0x48.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You can take a look at a board that has this codec supported as a reference:&lt;/P&gt;&lt;P&gt;arch/arm/mach-pxa/raumfeld.c&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;and you will also need to create similar file as this one for MX28: sound/soc/pxa/raumfeld.c&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Make sure to select the cs4270 in the kernel menuconfig.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Fabio Estevam&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 21 Sep 2011 19:45:29 GMT</pubDate>
    <dc:creator>fabio_estevam</dc:creator>
    <dc:date>2011-09-21T19:45:29Z</dc:date>
    <item>
      <title>iMX28 change audio codec driver</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX28-change-audio-codec-driver/m-p/170999#M5526</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have an iMX28 EVK board and I have replaced the default audio codec with a CS4270. (The data pins are linked through and the I2C pins are discarded)&lt;/P&gt;&lt;P&gt;Now I need to update the linux kernel so that the CS4270 acts as master. Also the clock-frequencies have to be modified (I think).&lt;/P&gt;&lt;P&gt;I have no experience in driver/kernel development, so newbie help will be appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What I tried so far is modifying the mxs-devb.c file: in&amp;nbsp;mxs_evk_audio_hw_params﻿ function I have changed following:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new,courier'; "&gt;/* set codec to slave mode */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new,courier'; "&gt;dai_format = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | &amp;nbsp;&amp;nbsp;&lt;STRONG&gt;&amp;nbsp;SND_SOC_DAIFMT_CBM_CFM; //EDIT: was CBS_CFS&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new,courier'; "&gt;/* set codec DAI configuration */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new,courier'; "&gt;ret = snd_soc_dai_set_fmt(codec_dai, dai_format);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new,courier'; "&gt;if (ret &amp;lt; 0)return ret;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new,courier'; "&gt;/* set cpu_dai to master mode for playback, slave mode for record */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new,courier'; "&gt;dai_format = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |&lt;STRONG&gt;SND_SOC_DAIFMT_CBS_CFS; //EDIT: was CBM_CFM&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new,courier'; "&gt;/* set cpu DAI configuration */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new,courier'; "&gt;ret = snd_soc_dai_set_fmt(cpu_dai, dai_format);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new,courier'; "&gt;if (ret &amp;lt; 0)return ret;﻿&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: %value; "&gt;With these changes however we still measure a clock signal coming from the cpu (so the codec acts as slave)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: %value; "&gt;Can anyone help me on adapting the driver so that the cs4270 is master. How should the frequencies be adapted?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: %value; "&gt;If more info is needed, just ask (I am a real newbie on this so if I haven't included some info, please forgive me)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: %value; "&gt;Thanks in advance&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Sep 2011 06:16:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX28-change-audio-codec-driver/m-p/170999#M5526</guid>
      <dc:creator>Sjoon</dc:creator>
      <dc:date>2011-09-19T06:16:21Z</dc:date>
    </item>
    <item>
      <title>Re: iMX28 change audio codec driver</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX28-change-audio-codec-driver/m-p/171000#M5527</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have found this thread:&amp;nbsp;&lt;A href="http://imxcommunity.org/group/imx28andimx28evk/forum/topics/i2c-devicefram-on-imx28-evk?xg_source=activity" rel="nofollow" target="_blank"&gt;http://imxcommunity.org/group/imx28andimx28evk/forum/topics/i2c-devicefram-on-imx28-evk?xg_source=ac...&lt;/A&gt;﻿&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So I have changed the line:&amp;nbsp;&amp;nbsp;{ I2C_BOARD_INFO("sgtl5000-i2c", 0xa), .flags = I2C_M_TEN }﻿&lt;/P&gt;&lt;P&gt;to:&amp;nbsp;&amp;nbsp;{ I2C_BOARD_INFO("cs4270-i2c", 0xa), .flags = I2C_M_TEN }﻿&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have also checked: build all ASoC CODEC drivers in ltib kernel configuration (Device Drivers &amp;gt; Sound card support &amp;gt; ALSA &amp;gt; ALSA for SoC audio support), but I still can't see my sound-device (and I also can't install the module for cs4270 with modprobe as described here:&amp;nbsp;&lt;A href="http://bugtrack.alsa-project.org/main/index.php/Matrix:Module-cs4270" rel="nofollow" target="_blank"&gt;http://bugtrack.alsa-project.org/main/index.php/Matrix:Module-cs4270&lt;/A&gt;﻿)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any help?&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Sep 2011 08:38:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX28-change-audio-codec-driver/m-p/171000#M5527</guid>
      <dc:creator>Sjoon</dc:creator>
      <dc:date>2011-09-21T08:38:15Z</dc:date>
    </item>
    <item>
      <title>Re: iMX28 change audio codec driver</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX28-change-audio-codec-driver/m-p/171001#M5528</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The 0xa I2C address is wrong for the cs4270. It should be 0x48.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You can take a look at a board that has this codec supported as a reference:&lt;/P&gt;&lt;P&gt;arch/arm/mach-pxa/raumfeld.c&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;and you will also need to create similar file as this one for MX28: sound/soc/pxa/raumfeld.c&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Make sure to select the cs4270 in the kernel menuconfig.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Fabio Estevam&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Sep 2011 19:45:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX28-change-audio-codec-driver/m-p/171001#M5528</guid>
      <dc:creator>fabio_estevam</dc:creator>
      <dc:date>2011-09-21T19:45:29Z</dc:date>
    </item>
    <item>
      <title>Re: iMX28 change audio codec driver</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX28-change-audio-codec-driver/m-p/171002#M5529</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;let me rephrase our case: we have an imx28 with an SGTL5000 audio codec. We have linked the some pins of that codec to our own codec (similar to a cs4270). The i2c pins are no longer connected. Only the clock and the audio data pins are connected.&lt;/P&gt;&lt;P&gt;What we need to do is adapt the SGTL5000 driver so that the CPU is slave to the codec (takes the clocks from the codec). And can take the audio in. The cpu should not be able to change controls of the codec (that will be done in another way), so the CPU should not send anything to the i2c pins.&lt;/P&gt;&lt;P&gt;Can anyone help me out on how this could be achieved?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Sep 2011 06:47:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX28-change-audio-codec-driver/m-p/171002#M5529</guid>
      <dc:creator>Sjoon</dc:creator>
      <dc:date>2011-09-22T06:47:21Z</dc:date>
    </item>
    <item>
      <title>Re: iMX28 change audio codec driver</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX28-change-audio-codec-driver/m-p/171003#M5530</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I don't know if it possible with i.MX28. From the i.Mx28 manual it seems that SAIF module when &amp;nbsp;trasmitting are forced to&amp;nbsp;&lt;BR /&gt; transmit the clock; so it could be not possible for the i.MX28 to source clock for transmitting audio.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; &lt;CITE&gt;Johannes De Smedt said:&lt;/CITE&gt;&lt;/P&gt;&lt;BLOCKQUOTE cite="http://imxcommunity.org/forum/topics/imx28-change-audio-codec-driver?commentId=4103961%3AComment%3A34956#4103961Comment35102"&gt;&lt;DIV&gt;&lt;DIV class="xg_user_generated"&gt;&lt;P&gt;let me rephrase our case: we have an imx28 with an SGTL5000 audio codec. We have linked the some pins of that codec to our own codec (similar to a cs4270). The i2c pins are no longer connected. Only the clock and the audio data pins are connected.&lt;/P&gt;&lt;P&gt;What we need to do is adapt the SGTL5000 driver so that the CPU is slave to the codec (takes the clocks from the codec). And can take the audio in. The cpu should not be able to change controls of the codec (that will be done in another way), so the CPU should not send anything to the i2c pins.&lt;/P&gt;&lt;P&gt;Can anyone help me out on how this could be achieved?&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Oct 2011 00:59:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX28-change-audio-codec-driver/m-p/171003#M5530</guid>
      <dc:creator>GabrieleFiacchi</dc:creator>
      <dc:date>2011-10-07T00:59:44Z</dc:date>
    </item>
  </channel>
</rss>

