<?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 WM8904 audio codec dts configuration for imx6ull in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/WM8904-audio-codec-dts-configuration-for-imx6ull/m-p/911352#M137351</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV dir="ltr"&gt;&lt;DIV dir="ltr"&gt;&lt;DIV&gt;Hello All,&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I'm working with a MYS-6ULX-IOT board from MyirTech. The board is equipped with a i.mx6ull processor.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I'm trying to use the WM8904 audio codec available with the productor expansion board&amp;nbsp; "MYB-6ULX Expansion Board"&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: garamond, times new roman, serif;"&gt;root@hst:/home/hst# aplay -l&lt;BR /&gt;aplay: device_list:268: no soundcards found...&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I'm using a custom Debian filesystem ( Debian 8) with the official MyirTech's U-Boot and kernel (linux 4.1.15).&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I've recompiled kernel with &lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: garamond, times new roman, serif;"&gt;cd /home/xubuntu/MYS6ULx-devel/kernel-4.1.15&lt;BR /&gt;export DEV_ROOT=~/MYS6ULx-devel&lt;BR /&gt;export PATH=$DEV_ROOT/gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf/bin:$PATH&lt;BR /&gt;export CROSS_COMPILE=arm-linux-gnueabihf-&lt;BR /&gt;export ARCH=arm&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: garamond, times new roman, serif;"&gt;make distclean&lt;BR /&gt;make mys_imx6_defconfig&lt;BR /&gt;make menuconfig&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;Throug menuconfig, i've loaded the .config file created with "make mys_imx6_defconfig" and theese flags are checked:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Device Drivers &amp;gt; Sound card support &amp;gt; Advanced Linux Sound Architecture &amp;gt; ALSA for SoC audio support &amp;gt; SoC Audio for Freescale CPUs &amp;gt; Symbol: SND_SOC_IMX_WM8904 [=y]&amp;nbsp; "&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Device Drivers &amp;gt; I2C support &amp;gt; I2C device interface &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Device Drivers &amp;gt; I2C support &amp;gt; I2C bus multiplexing support &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I also edited the file "imx6ull-14x14-evk.dts" by adding the following lines:&lt;/DIV&gt;&lt;DIV&gt;&amp;amp;i2c2 {&lt;BR /&gt; clock_frequency = &amp;lt;100000&amp;gt;;&lt;BR /&gt; pinctrl-names = "default";&lt;BR /&gt; pinctrl-0 = &amp;lt;&amp;amp;pinctrl_i2c2&amp;gt;;&lt;BR /&gt; status = "okay";&lt;BR /&gt;&lt;SPAN style="color: #00ff00;"&gt;&lt;SPAN style="color: #38761d;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; codec: wm8904@1a {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; compatible = "wlf,wm8904";&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; reg = &amp;lt;0x1a&amp;gt;;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; clocks = &amp;lt;&amp;amp;clks IMX6UL_CLK_SAI2&amp;gt;;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; clock-names = "mclk";&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;/SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;};&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: georgia, serif;"&gt;make zImage dtbs modules &lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I can use i2sedetect -y 1 to find the audio device at address &amp;lt;0x1a&amp;gt;: &lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; 0 &amp;nbsp;1 &amp;nbsp;2 &amp;nbsp;3 &amp;nbsp;4 &amp;nbsp;5 &amp;nbsp;6 &amp;nbsp;7 &amp;nbsp;8 &amp;nbsp;9 &amp;nbsp;a &amp;nbsp;b &amp;nbsp;c &amp;nbsp;d &amp;nbsp;e &amp;nbsp;f&lt;BR /&gt;00:&amp;nbsp; -- -- -- -- -- -- -- -- -- -- -- -- --&lt;BR /&gt;10: -- -- -- -- -- -- -- -- -- -- UU -- -- -- -- --&lt;BR /&gt;20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --&lt;BR /&gt;30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --&lt;BR /&gt;40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --&lt;BR /&gt;50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --&lt;BR /&gt;60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --&lt;BR /&gt;70: -- -- -- -- -- -- -- --&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: garamond, times new roman, serif;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: garamond, times new roman, serif;"&gt;root@hst:/home/hst# dmesg | grep i2c&lt;BR /&gt;[ &amp;nbsp; &amp;nbsp;0.280365] i2c i2c-1: IMX I2C adapter registered&lt;BR /&gt;[ &amp;nbsp; &amp;nbsp;0.280406] i2c i2c-1: can't use DMA&lt;BR /&gt;[ &amp;nbsp; &amp;nbsp;1.365824] msg ft5x0x_i2c_rxdata i2c read error: -5&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: garamond, times new roman, serif;"&gt;[ &amp;nbsp; &amp;nbsp;1.402050] i2c /dev entries driver&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: garamond, times new roman, serif;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: garamond, times new roman, serif;"&gt;root@hst:/home/hst# dmesg | grep wm8904&lt;BR /&gt;[ &amp;nbsp; &amp;nbsp;1.796089] wm8904 1-001a: revision A&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;What am I missing? &lt;/DIV&gt;&lt;DIV&gt;The complete .dts file and the boot sequence is in the attachment&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Thank you very much in advice, &lt;/DIV&gt;&lt;DIV&gt;Francesco&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 25 Sep 2019 14:38:42 GMT</pubDate>
    <dc:creator>francesco_cenci</dc:creator>
    <dc:date>2019-09-25T14:38:42Z</dc:date>
    <item>
      <title>WM8904 audio codec dts configuration for imx6ull</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/WM8904-audio-codec-dts-configuration-for-imx6ull/m-p/911352#M137351</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV dir="ltr"&gt;&lt;DIV dir="ltr"&gt;&lt;DIV&gt;Hello All,&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I'm working with a MYS-6ULX-IOT board from MyirTech. The board is equipped with a i.mx6ull processor.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I'm trying to use the WM8904 audio codec available with the productor expansion board&amp;nbsp; "MYB-6ULX Expansion Board"&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: garamond, times new roman, serif;"&gt;root@hst:/home/hst# aplay -l&lt;BR /&gt;aplay: device_list:268: no soundcards found...&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I'm using a custom Debian filesystem ( Debian 8) with the official MyirTech's U-Boot and kernel (linux 4.1.15).&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I've recompiled kernel with &lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: garamond, times new roman, serif;"&gt;cd /home/xubuntu/MYS6ULx-devel/kernel-4.1.15&lt;BR /&gt;export DEV_ROOT=~/MYS6ULx-devel&lt;BR /&gt;export PATH=$DEV_ROOT/gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf/bin:$PATH&lt;BR /&gt;export CROSS_COMPILE=arm-linux-gnueabihf-&lt;BR /&gt;export ARCH=arm&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: garamond, times new roman, serif;"&gt;make distclean&lt;BR /&gt;make mys_imx6_defconfig&lt;BR /&gt;make menuconfig&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;Throug menuconfig, i've loaded the .config file created with "make mys_imx6_defconfig" and theese flags are checked:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Device Drivers &amp;gt; Sound card support &amp;gt; Advanced Linux Sound Architecture &amp;gt; ALSA for SoC audio support &amp;gt; SoC Audio for Freescale CPUs &amp;gt; Symbol: SND_SOC_IMX_WM8904 [=y]&amp;nbsp; "&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Device Drivers &amp;gt; I2C support &amp;gt; I2C device interface &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Device Drivers &amp;gt; I2C support &amp;gt; I2C bus multiplexing support &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I also edited the file "imx6ull-14x14-evk.dts" by adding the following lines:&lt;/DIV&gt;&lt;DIV&gt;&amp;amp;i2c2 {&lt;BR /&gt; clock_frequency = &amp;lt;100000&amp;gt;;&lt;BR /&gt; pinctrl-names = "default";&lt;BR /&gt; pinctrl-0 = &amp;lt;&amp;amp;pinctrl_i2c2&amp;gt;;&lt;BR /&gt; status = "okay";&lt;BR /&gt;&lt;SPAN style="color: #00ff00;"&gt;&lt;SPAN style="color: #38761d;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; codec: wm8904@1a {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; compatible = "wlf,wm8904";&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; reg = &amp;lt;0x1a&amp;gt;;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; clocks = &amp;lt;&amp;amp;clks IMX6UL_CLK_SAI2&amp;gt;;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; clock-names = "mclk";&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;/SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;};&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: georgia, serif;"&gt;make zImage dtbs modules &lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I can use i2sedetect -y 1 to find the audio device at address &amp;lt;0x1a&amp;gt;: &lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; 0 &amp;nbsp;1 &amp;nbsp;2 &amp;nbsp;3 &amp;nbsp;4 &amp;nbsp;5 &amp;nbsp;6 &amp;nbsp;7 &amp;nbsp;8 &amp;nbsp;9 &amp;nbsp;a &amp;nbsp;b &amp;nbsp;c &amp;nbsp;d &amp;nbsp;e &amp;nbsp;f&lt;BR /&gt;00:&amp;nbsp; -- -- -- -- -- -- -- -- -- -- -- -- --&lt;BR /&gt;10: -- -- -- -- -- -- -- -- -- -- UU -- -- -- -- --&lt;BR /&gt;20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --&lt;BR /&gt;30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --&lt;BR /&gt;40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --&lt;BR /&gt;50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --&lt;BR /&gt;60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --&lt;BR /&gt;70: -- -- -- -- -- -- -- --&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: garamond, times new roman, serif;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: garamond, times new roman, serif;"&gt;root@hst:/home/hst# dmesg | grep i2c&lt;BR /&gt;[ &amp;nbsp; &amp;nbsp;0.280365] i2c i2c-1: IMX I2C adapter registered&lt;BR /&gt;[ &amp;nbsp; &amp;nbsp;0.280406] i2c i2c-1: can't use DMA&lt;BR /&gt;[ &amp;nbsp; &amp;nbsp;1.365824] msg ft5x0x_i2c_rxdata i2c read error: -5&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: garamond, times new roman, serif;"&gt;[ &amp;nbsp; &amp;nbsp;1.402050] i2c /dev entries driver&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: garamond, times new roman, serif;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: garamond, times new roman, serif;"&gt;root@hst:/home/hst# dmesg | grep wm8904&lt;BR /&gt;[ &amp;nbsp; &amp;nbsp;1.796089] wm8904 1-001a: revision A&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;What am I missing? &lt;/DIV&gt;&lt;DIV&gt;The complete .dts file and the boot sequence is in the attachment&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Thank you very much in advice, &lt;/DIV&gt;&lt;DIV&gt;Francesco&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 25 Sep 2019 14:38:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/WM8904-audio-codec-dts-configuration-for-imx6ull/m-p/911352#M137351</guid>
      <dc:creator>francesco_cenci</dc:creator>
      <dc:date>2019-09-25T14:38:42Z</dc:date>
    </item>
    <item>
      <title>Re: WM8904 audio codec dts configuration for imx6ull</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/WM8904-audio-codec-dts-configuration-for-imx6ull/m-p/911353#M137352</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Francesco&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;one can check sect.7.1.4.1 ASoC Driver Source Architecture&lt;/P&gt;&lt;P&gt;attached Linux Manual and try to debug it starting with codec driver described in&lt;/P&gt;&lt;P&gt;Table 7-1. Stereo Codec SoC Driver Files, create something like imx-wm8904.c&lt;/P&gt;&lt;P&gt;driver and debug it starting from probe function. Check i2c communication with oscilloscope.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Sep 2019 00:06:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/WM8904-audio-codec-dts-configuration-for-imx6ull/m-p/911353#M137352</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2019-09-26T00:06:09Z</dc:date>
    </item>
  </channel>
</rss>

