<?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: 关于适配sabresd上的sgtl5000遇到的问题 in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/%E5%85%B3%E4%BA%8E%E9%80%82%E9%85%8Dsabresd%E4%B8%8A%E7%9A%84sgtl5000%E9%81%87%E5%88%B0%E7%9A%84%E9%97%AE%E9%A2%98/m-p/772939#M120027</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;目前参考&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Sabre lite的BSP，声卡已经可以被识别&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sgtl5000 1-000a: Failed to get supply 'VDDD': -19&lt;BR /&gt;sgtl5000 1-000a: sgtl5000 revision 17&lt;BR /&gt;&lt;STRONG&gt;asoc: sgtl5000 &amp;lt;-&amp;gt; imx-ssi.1 mapping ok&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;input: sgtl5000-audio Headphone Jack as /devices/platform/soc-audio.1/sound/card0/input2&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;ALSA device list:&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; #0: sgtl5000-audio&lt;/STRONG&gt;&lt;BR /&gt;oprofile: using arm/armv7-ca9&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;但是非常奇怪的是，扬声器&lt;STRONG&gt;听不到任何声音&lt;/STRONG&gt;。&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;在设置中调节音量时，logcat也没有什么错误输出，就是听不到声音&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;W/audio_hw_primary( 2167): card 0, port 0 device 0x2&lt;BR /&gt;W/audio_hw_primary( 2167): rate 44100, channel 2 period_size 0xc0&lt;BR /&gt;W/AudioFlinger( 2167): write blocked for 359 msecs, 8 delayed writes, thread 0x40be6008&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;有谁遇到过类似问题吗？能告诉我原因吗？&lt;/P&gt;&lt;P&gt;急急急！&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 13 Apr 2018 02:19:50 GMT</pubDate>
    <dc:creator>jiangshao</dc:creator>
    <dc:date>2018-04-13T02:19:50Z</dc:date>
    <item>
      <title>关于适配sabresd上的sgtl5000遇到的问题</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/%E5%85%B3%E4%BA%8E%E9%80%82%E9%85%8Dsabresd%E4%B8%8A%E7%9A%84sgtl5000%E9%81%87%E5%88%B0%E7%9A%84%E9%97%AE%E9%A2%98/m-p/772935#M120023</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;各位尊敬的FAE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;我在适配客户的sabresd上的sgtl5000时，遇到了问题，需要您的帮助。&lt;BR /&gt;Android为4.2.2，cpu是imx6dl。&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sgtl5000的管脚&lt;BR /&gt;SCLK接i2c2_scl&lt;BR /&gt;SDA接i2c2_sda&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;我进行的修改如下：&lt;BR /&gt;/kernel_imx/sound/soc/imx 下的Kconfig里&lt;BR /&gt;添加ARCH_MX6&lt;/P&gt;&lt;P&gt;# changed by shao, 2018-01-29, depends add ARCH_MX6&lt;BR /&gt;config SND_SOC_IMX_SGTL5000&lt;BR /&gt; tristate "SoC Audio support for i.MX boards with sgtl5000"&lt;BR /&gt; depends on I2C &amp;amp;&amp;amp; (ARCH_MX6 || MACH_MX35_3DS || MACH_MX51_BABBAGE || MACH_MX53_SMD \&lt;BR /&gt; || MACH_MX6Q_SABRELITE || MACH_MX6Q_ARM2)&lt;BR /&gt; select SND_SOC_SGTL5000&lt;BR /&gt; select SND_MXC_SOC_MX2&lt;BR /&gt; help&lt;BR /&gt; Say Y if you want to add support for SoC audio on an i.MX board with&lt;BR /&gt; a sgtl5000 codec.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;添加完毕后保存，再执行make xconfig&lt;BR /&gt;就能看到sgtl5000了&lt;BR /&gt;勾选sgtl5000后保存，退出&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;板文件（board-mx6q_sabresd.c）参考同目录下的board-mx6q_sabrelite.c修改如下：&lt;/P&gt;&lt;P&gt;//added by shao, 2018-01-29, for SGTL5000&lt;BR /&gt;static struct platform_device mx6_sabresd_audio_sgtl5000_device = {&lt;BR /&gt; .name = "imx-sgtl5000",&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;//added by shao, 2018-01-29, for SGTL5000&lt;BR /&gt;static struct mxc_audio_platform_data mx6_sabresd_sgtl5000_audio_data;&lt;/P&gt;&lt;P&gt;//added by shao, 2018-01-29, for SGTL5000&lt;BR /&gt;static int mxc_sabresd_sgtl5000_init(void)&lt;BR /&gt;{&lt;BR /&gt; struct clk *clko;&lt;BR /&gt; struct clk *new_parent;&lt;BR /&gt; int rate;&lt;/P&gt;&lt;P&gt;clko = clk_get(NULL, "clko_clk");&lt;BR /&gt; if (IS_ERR(clko)) {&lt;BR /&gt; pr_err("can't get CLKO clock.\n");&lt;BR /&gt; return PTR_ERR(clko);&lt;BR /&gt; }&lt;BR /&gt; new_parent = clk_get(NULL, "ahb");&lt;BR /&gt; if (!IS_ERR(new_parent)) {&lt;BR /&gt; clk_set_parent(clko, new_parent);&lt;BR /&gt; clk_put(new_parent);&lt;BR /&gt; }&lt;BR /&gt; rate = clk_round_rate(clko, 16000000);&lt;BR /&gt; if (rate &amp;lt; 8000000 || rate &amp;gt; 27000000) {&lt;BR /&gt; pr_err("Error:SGTL5000 mclk freq %d out of range!\n", rate);&lt;BR /&gt; clk_put(clko);&lt;BR /&gt; return -1;&lt;BR /&gt; }&lt;/P&gt;&lt;P&gt;mx6_sabresd_sgtl5000_audio_data.sysclk = rate;&lt;BR /&gt; clk_set_rate(clko, rate);&lt;BR /&gt; clk_enable(clko);&lt;BR /&gt; return 0;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;//added by shao, 2018-01-29, for SGTL5000&lt;BR /&gt;static struct mxc_audio_platform_data mx6_sabresd_sgtl5000_audio_data = {&lt;BR /&gt; .ssi_num = 1,&lt;BR /&gt; .src_port = 2,&lt;BR /&gt; .ext_port = 4,&lt;BR /&gt; .init = mxc_sabresd_sgtl5000_init,&lt;BR /&gt; .hp_gpio = -1,&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;static struct i2c_board_info mxc_i2c1_board_info[] __initdata = {&lt;BR /&gt; {&lt;BR /&gt; //changed by shao, 2018-01-29, for SGTL5000&lt;BR /&gt; //I2C_BOARD_INFO("ak4642", 0x13),&lt;BR /&gt; I2C_BOARD_INFO("sgtl5000", 0x0a),&lt;BR /&gt; &lt;BR /&gt; },&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;//added by shao, 2018-01-30, for SGTL5000, begin&lt;BR /&gt;static struct regulator_consumer_supply sgtl5000_sabresd_consumer_vdda = {&lt;BR /&gt; .supply = "VDDA",&lt;BR /&gt; //.dev_name = "0-000a",&lt;BR /&gt; .dev_name = "1-000a",&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;static struct regulator_consumer_supply sgtl5000_sabresd_consumer_vddio = {&lt;BR /&gt; .supply = "VDDIO",&lt;BR /&gt; //.dev_name = "0-000a",&lt;BR /&gt; .dev_name = "1-000a",&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;static struct regulator_consumer_supply sgtl5000_sabresd_consumer_vddd = {&lt;BR /&gt; .supply = "VDDD",&lt;BR /&gt; //.dev_name = "0-000a",&lt;BR /&gt; .dev_name = "1-000a",&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;static struct regulator_init_data sgtl5000_sabresd_vdda_reg_initdata = {&lt;BR /&gt; .num_consumer_supplies = 1,&lt;BR /&gt; .consumer_supplies = &amp;amp;sgtl5000_sabresd_consumer_vdda,&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;static struct regulator_init_data sgtl5000_sabresd_vddio_reg_initdata = {&lt;BR /&gt; .num_consumer_supplies = 1,&lt;BR /&gt; .consumer_supplies = &amp;amp;sgtl5000_sabresd_consumer_vddio,&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;static struct regulator_init_data sgtl5000_sabresd_vddd_reg_initdata = {&lt;BR /&gt; .num_consumer_supplies = 1,&lt;BR /&gt; .consumer_supplies = &amp;amp;sgtl5000_sabresd_consumer_vddd,&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;static struct fixed_voltage_config sgtl5000_sabresd_vdda_reg_config = {&lt;BR /&gt; .supply_name = "VDDA",&lt;BR /&gt; .microvolts = 2500000,&lt;BR /&gt; .gpio = -1,&lt;BR /&gt; .init_data = &amp;amp;sgtl5000_sabresd_vdda_reg_initdata,&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;static struct fixed_voltage_config sgtl5000_sabresd_vddio_reg_config = {&lt;BR /&gt; .supply_name = "VDDIO",&lt;BR /&gt; .microvolts = 3300000,&lt;BR /&gt; .gpio = -1,&lt;BR /&gt; .init_data = &amp;amp;sgtl5000_sabresd_vddio_reg_initdata,&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;static struct fixed_voltage_config sgtl5000_sabresd_vddd_reg_config = {&lt;BR /&gt; .supply_name = "VDDD",&lt;BR /&gt; .microvolts = 0,&lt;BR /&gt; .gpio = -1,&lt;BR /&gt; .init_data = &amp;amp;sgtl5000_sabresd_vddd_reg_initdata,&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;static struct platform_device sgtl5000_sabresd_vdda_reg_devices = {&lt;BR /&gt; .name = "reg-fixed-voltage",&lt;BR /&gt; .id = 0,&lt;BR /&gt; .dev = {&lt;BR /&gt; .platform_data = &amp;amp;sgtl5000_sabresd_vdda_reg_config,&lt;BR /&gt; },&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;static struct platform_device sgtl5000_sabresd_vddio_reg_devices = {&lt;BR /&gt; .name = "reg-fixed-voltage",&lt;BR /&gt; .id = 1,&lt;BR /&gt; .dev = {&lt;BR /&gt; .platform_data = &amp;amp;sgtl5000_sabresd_vddio_reg_config,&lt;BR /&gt; },&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;static struct platform_device sgtl5000_sabresd_vddd_reg_devices = {&lt;BR /&gt; .name = "reg-fixed-voltage",&lt;BR /&gt; .id = 2,&lt;BR /&gt; .dev = {&lt;BR /&gt; .platform_data = &amp;amp;sgtl5000_sabresd_vddd_reg_config,&lt;BR /&gt; },&lt;BR /&gt;};&lt;BR /&gt;//added by shao, 2018-01-30, for SGTL5000, end&lt;/P&gt;&lt;P&gt;static int __init imx6q_init_audio(void)&lt;BR /&gt;{&lt;BR /&gt; if (board_is_mx6_reva()) {&lt;BR /&gt; mxc_register_device(&amp;amp;mx6_sabresd_audio_wm8958_device,&lt;BR /&gt; &amp;amp;wm8958_data);&lt;BR /&gt; imx6q_add_imx_ssi(1, &amp;amp;mx6_sabresd_ssi_pdata);&lt;/P&gt;&lt;P&gt;mxc_wm8958_init();&lt;BR /&gt; } else {&lt;BR /&gt; //changed by shao, 2018-01-30, for SGTL5000&lt;BR /&gt; //platform_device_register(&amp;amp;sabresd_vwm8962_reg_devices);&lt;BR /&gt; //platform_device_register(&amp;amp;sabresd_vak4642_reg_devices);&lt;BR /&gt; //mxc_register_device(&amp;amp;fsi_ak4642_device,&amp;amp;ak4642_data);&lt;BR /&gt; //mxc_register_device(&amp;amp;mx6_sabresd_audio_wm8962_device,&lt;BR /&gt; // &amp;amp;wm8962_data);&lt;BR /&gt; mxc_register_device(&amp;amp;mx6_sabresd_audio_sgtl5000_device,&lt;BR /&gt; &amp;amp;mx6_sabresd_sgtl5000_audio_data);&lt;BR /&gt; &lt;BR /&gt; imx6q_add_imx_ssi(1, &amp;amp;mx6_sabresd_ssi_pdata);&lt;/P&gt;&lt;P&gt;//mxc_wm8962_init();&lt;BR /&gt; //changed by shao, 2018-01-30, for SGTL5000&lt;BR /&gt; //mxc_ak4642_init();&lt;BR /&gt; platform_device_register(&amp;amp;sgtl5000_sabresd_vdda_reg_devices);&lt;BR /&gt; platform_device_register(&amp;amp;sgtl5000_sabresd_vddio_reg_devices);&lt;BR /&gt; platform_device_register(&amp;amp;sgtl5000_sabresd_vddd_reg_devices);&lt;BR /&gt; }&lt;/P&gt;&lt;P&gt;return 0;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;if (board_is_mx6_reva()) {&lt;BR /&gt; strcpy(mxc_i2c0_board_info[0].type, "wm8958");&lt;BR /&gt; mxc_i2c0_board_info[0].platform_data = &amp;amp;wm8958_config_data;&lt;BR /&gt; } else {&lt;BR /&gt; //strcpy(mxc_i2c0_board_info[0].type, "wm8962");&lt;BR /&gt; //mxc_i2c0_board_info[0].platform_data = &amp;amp;wm8962_config_data;&lt;BR /&gt; &lt;BR /&gt; //changed by shao, 2018-01-30, for SGTL5000&lt;BR /&gt; //strcpy(mxc_i2c1_board_info[0].type, "ak4642");&lt;BR /&gt; //mxc_i2c1_board_info[0].platform_data = &amp;amp;ak4642_config_data;&lt;BR /&gt; }&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;SPAN&gt;从&lt;/SPAN&gt;&lt;A class="jive-link-thread-small" data-containerid="2004" data-containertype="14" data-objectid="379269" data-objecttype="1" href="https://community.nxp.com/thread/379269"&gt;https://community.nxp.com/thread/379269&lt;/A&gt;&lt;BR /&gt;下载得到&lt;BR /&gt;config_sgtl5000.h&lt;BR /&gt;tinyalsa_hal.c&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;将config_sgtl5000.h拷贝到/hardware/imx/alsa&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;参考tinyalsa_hal.c，修改/hardware/imx/alsa下的tinyalsa_hal.c如下：&lt;/P&gt;&lt;P&gt;//added by shao, 2018-01-30, for SGTL5000&lt;BR /&gt;#include "config_sgtl5000.h"&lt;/P&gt;&lt;P&gt;/*"null_card" must be in the end of this array*/&lt;BR /&gt;struct audio_card *audio_card_list[SUPPORT_CARD_NUM] = {&lt;BR /&gt; //changed by shao, 2018-01-30, for SGTL5000&lt;BR /&gt; &amp;amp;sgtl5000_card,&lt;BR /&gt; //&amp;amp;wm8960_card,&lt;BR /&gt; &amp;amp;wm8958_card,&lt;BR /&gt; &amp;amp;wm8962_card,&lt;BR /&gt; &amp;amp;hdmi_card,&lt;BR /&gt; &amp;amp;usbaudio_card,&lt;BR /&gt; &amp;amp;spdif_card,&lt;BR /&gt; //&amp;amp;cs42888_card,&lt;BR /&gt; &amp;amp;null_card,&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;确认/kernel_imx/sound/soc/imx下的imx-sgtl5000.c&lt;BR /&gt;里面已经是1-000a，无需修改&lt;/P&gt;&lt;P&gt;static struct snd_soc_dai_link imx_sgtl5000_dai[] = {&lt;BR /&gt; {&lt;BR /&gt; .name = "HiFi",&lt;BR /&gt; .stream_name = "HiFi",&lt;BR /&gt; .codec_dai_name = "sgtl5000",&lt;BR /&gt; .codec_name = "sgtl5000.1-000a",&lt;BR /&gt; .cpu_dai_name = "imx-ssi.1",&lt;BR /&gt; .platform_name = "imx-pcm-audio.1",&lt;BR /&gt; .init = imx_3stack_sgtl5000_init,&lt;BR /&gt; .ops = &amp;amp;imx_sgtl5000_hifi_ops,&lt;BR /&gt; },&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;static int __init imx_sgtl5000_init(void)&lt;BR /&gt;{&lt;BR /&gt; int ret;&lt;/P&gt;&lt;P&gt;ret = platform_driver_register(&amp;amp;imx_sgtl5000_audio_driver);&lt;BR /&gt; if (ret)&lt;BR /&gt; return -ENOMEM;&lt;/P&gt;&lt;P&gt;if (machine_is_mx35_3ds() || machine_is_mx6q_sabrelite())&lt;BR /&gt; imx_sgtl5000_dai[0].codec_name = "sgtl5000.0-000a";&lt;BR /&gt; else&lt;BR /&gt; imx_sgtl5000_dai[0].codec_name = "sgtl5000.1-000a";&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;然而烧写后，重复出现类似&lt;/P&gt;&lt;P&gt;&amp;lt;&amp;lt;-GTP-ERROR-&amp;gt;&amp;gt; I2C Read: 0x814E, 10 bytes failed, errcode: -5! Process reset.&lt;BR /&gt;&amp;lt;&amp;lt;-GTP-INFO-&amp;gt;&amp;gt; Guitar reset&lt;BR /&gt;&amp;lt;&amp;lt;-GTP-ERROR-&amp;gt;&amp;gt; I2C transfer error. errno:-5&lt;/P&gt;&lt;P&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, 31 Jan 2018 02:33:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/%E5%85%B3%E4%BA%8E%E9%80%82%E9%85%8Dsabresd%E4%B8%8A%E7%9A%84sgtl5000%E9%81%87%E5%88%B0%E7%9A%84%E9%97%AE%E9%A2%98/m-p/772935#M120023</guid>
      <dc:creator>jiangshao</dc:creator>
      <dc:date>2018-01-31T02:33:15Z</dc:date>
    </item>
    <item>
      <title>Re: 关于适配sabresd上的sgtl5000遇到的问题</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/%E5%85%B3%E4%BA%8E%E9%80%82%E9%85%8Dsabresd%E4%B8%8A%E7%9A%84sgtl5000%E9%81%87%E5%88%B0%E7%9A%84%E9%97%AE%E9%A2%98/m-p/772936#M120024</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Jiang,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 请按照下面的思路从头查起：&lt;/P&gt;&lt;P&gt;（1）参考我们的IMX6Q Sabre lite的BSP文件。&lt;/P&gt;&lt;P&gt;在Sabre lite板子上支持SGTL5000 codec，所以，请参考它的BSP文件，是如何配置和加载SGTL5000的。&lt;/P&gt;&lt;P&gt;（2）I2C复用&lt;/P&gt;&lt;P&gt;从你的log看，I2C通信是错误的，所以检查一下你的I2C两个先复用是否是对的。&lt;/P&gt;&lt;P&gt;（3）板级初始化函数加载I2C1 data&lt;/P&gt;&lt;P&gt;从你的代码中，没有看到mxc_i2c1_board_info这个data加载上，请仔细核对一下。&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;当log中提示出来，SGTL5000能够正常的probe时，才能说明I2C通信是正确的。&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a nice day!&lt;/P&gt;&lt;P&gt;TIC weidong sun&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 Jan 2018 03:29:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/%E5%85%B3%E4%BA%8E%E9%80%82%E9%85%8Dsabresd%E4%B8%8A%E7%9A%84sgtl5000%E9%81%87%E5%88%B0%E7%9A%84%E9%97%AE%E9%A2%98/m-p/772936#M120024</guid>
      <dc:creator>weidong_sun</dc:creator>
      <dc:date>2018-01-31T03:29:20Z</dc:date>
    </item>
    <item>
      <title>Re: 关于适配sabresd上的sgtl5000遇到的问题</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/%E5%85%B3%E4%BA%8E%E9%80%82%E9%85%8Dsabresd%E4%B8%8A%E7%9A%84sgtl5000%E9%81%87%E5%88%B0%E7%9A%84%E9%97%AE%E9%A2%98/m-p/772937#M120025</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;你好，非常感谢回答&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;（1）参考我们的IMX6Q Sabre lite的BSP文件。&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;在Sabre lite板子上支持SGTL5000 codec，所以，请参考它的BSP文件，是如何配置和加载SGTL5000的。&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;请问除了板文件（board-mx6q_sabrelite.c）外，还有需要参考的地方吗？&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;（2）I2C复用&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;从你的log看，I2C通信是错误的，所以检查一下你的I2C两个先复用是否是对的。&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;我用i2cdetect小工具，是可以检测到0a有东西的&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;root@android:/system/bin # i2cdetect 1&lt;BR /&gt;WARNING! This program can confuse your I2C bus, cause data loss and worse!&lt;BR /&gt;I will probe file /dev/i2c-1.&lt;BR /&gt;I will probe address range 0x03-0x77.&lt;BR /&gt;Continue? [Y/n] Y&lt;BR /&gt; 0 1 2 3 4 5 6 7 8 9 a b c d e f&lt;BR /&gt;00: -- -- -- -- -- -- -- 0a -- -- -- -- --&lt;BR /&gt;10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --&lt;BR /&gt;20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --&lt;BR /&gt;30: -- -- -- -- -- -- 36 -- -- -- -- -- -- -- -- --&lt;BR /&gt;40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --&lt;BR /&gt;50: UU -- -- -- -- -- -- -- -- -- -- -- -- UU -- --&lt;BR /&gt;60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --&lt;BR /&gt;70: -- -- -- -- -- -- -- --&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;（3）板级初始化函数加载I2C1 data&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;从你的代码中，没有看到mxc_i2c1_board_info这个data加载上，请仔细核对一下。&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;在mx6_sabrelite_board_init(void)中，有&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;i2c_register_board_info(1, mxc_i2c1_board_info,&lt;BR /&gt; ARRAY_SIZE(mxc_i2c1_board_info));&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;而这部分未作修改，所以我就没列在上方代码中&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 Jan 2018 06:19:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/%E5%85%B3%E4%BA%8E%E9%80%82%E9%85%8Dsabresd%E4%B8%8A%E7%9A%84sgtl5000%E9%81%87%E5%88%B0%E7%9A%84%E9%97%AE%E9%A2%98/m-p/772937#M120025</guid>
      <dc:creator>jiangshao</dc:creator>
      <dc:date>2018-01-31T06:19:15Z</dc:date>
    </item>
    <item>
      <title>Re: 关于适配sabresd上的sgtl5000遇到的问题</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/%E5%85%B3%E4%BA%8E%E9%80%82%E9%85%8Dsabresd%E4%B8%8A%E7%9A%84sgtl5000%E9%81%87%E5%88%B0%E7%9A%84%E9%97%AE%E9%A2%98/m-p/772938#M120026</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;抱歉，更正一下，（3）是mx6_sabresd_board_init(void)，另外，这个函数里我注释了一些代码（粗体）&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if (board_is_mx6_reva()) {&lt;BR /&gt; strcpy(mxc_i2c0_board_info[0].type, "wm8958");&lt;BR /&gt; mxc_i2c0_board_info[0].platform_data = &amp;amp;wm8958_config_data;&lt;BR /&gt; } else {&lt;BR /&gt; //strcpy(mxc_i2c0_board_info[0].type, "wm8962");&lt;BR /&gt; //mxc_i2c0_board_info[0].platform_data = &amp;amp;wm8962_config_data;&lt;BR /&gt; &lt;BR /&gt; &lt;STRONG&gt;//changed by shao, 2018-01-30, for SGTL5000&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; //strcpy(mxc_i2c1_board_info[0].type, "ak4642");&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; //mxc_i2c1_board_info[0].platform_data = &amp;amp;ak4642_config_data;&lt;/STRONG&gt;&lt;BR /&gt; }&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 Jan 2018 06:22:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/%E5%85%B3%E4%BA%8E%E9%80%82%E9%85%8Dsabresd%E4%B8%8A%E7%9A%84sgtl5000%E9%81%87%E5%88%B0%E7%9A%84%E9%97%AE%E9%A2%98/m-p/772938#M120026</guid>
      <dc:creator>jiangshao</dc:creator>
      <dc:date>2018-01-31T06:22:44Z</dc:date>
    </item>
    <item>
      <title>Re: 关于适配sabresd上的sgtl5000遇到的问题</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/%E5%85%B3%E4%BA%8E%E9%80%82%E9%85%8Dsabresd%E4%B8%8A%E7%9A%84sgtl5000%E9%81%87%E5%88%B0%E7%9A%84%E9%97%AE%E9%A2%98/m-p/772939#M120027</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;目前参考&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Sabre lite的BSP，声卡已经可以被识别&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sgtl5000 1-000a: Failed to get supply 'VDDD': -19&lt;BR /&gt;sgtl5000 1-000a: sgtl5000 revision 17&lt;BR /&gt;&lt;STRONG&gt;asoc: sgtl5000 &amp;lt;-&amp;gt; imx-ssi.1 mapping ok&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;input: sgtl5000-audio Headphone Jack as /devices/platform/soc-audio.1/sound/card0/input2&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;ALSA device list:&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; #0: sgtl5000-audio&lt;/STRONG&gt;&lt;BR /&gt;oprofile: using arm/armv7-ca9&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;但是非常奇怪的是，扬声器&lt;STRONG&gt;听不到任何声音&lt;/STRONG&gt;。&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;在设置中调节音量时，logcat也没有什么错误输出，就是听不到声音&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;W/audio_hw_primary( 2167): card 0, port 0 device 0x2&lt;BR /&gt;W/audio_hw_primary( 2167): rate 44100, channel 2 period_size 0xc0&lt;BR /&gt;W/AudioFlinger( 2167): write blocked for 359 msecs, 8 delayed writes, thread 0x40be6008&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;有谁遇到过类似问题吗？能告诉我原因吗？&lt;/P&gt;&lt;P&gt;急急急！&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Apr 2018 02:19:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/%E5%85%B3%E4%BA%8E%E9%80%82%E9%85%8Dsabresd%E4%B8%8A%E7%9A%84sgtl5000%E9%81%87%E5%88%B0%E7%9A%84%E9%97%AE%E9%A2%98/m-p/772939#M120027</guid>
      <dc:creator>jiangshao</dc:creator>
      <dc:date>2018-04-13T02:19:50Z</dc:date>
    </item>
  </channel>
</rss>

