This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM368内核启动找不到声卡

Other Parts Discussed in Thread: TLV320AIC3101, OMAP-L138, TLV320AIC3104, BEAGLEBOARD-X15

我使用的内核是2.6.37,启动dm368开发板后,就会串口打印

 Error: Driver 'davinci-mcbsp' is already registered, aborting...

ALSA device list:
No soundcards found.

我加载的codec是外部的tlv320aic3101,board_i2c_info都设置好了,codec能够挂载到I2C总线上,然后在/sound/soc/davinci/davinci_evm.c中:

static struct snd_soc_dai_link dm365_evm_dai = {
#ifdef CONFIG_SND_DM365_AIC3X_CODEC
.name = "TLV320AIC3X",
.stream_name = "AIC3X",
.cpu_dai_name = "davinci-mcbsp",
.codec_dai_name = "tlv320aic3x-hifi",
.init = evm_aic3x_init,
.codec_name = "tlv320aic3x-codec.1-0018",
.ops = &evm_ops,
#elif defined(CONFIG_SND_DM365_VOICE_CODEC)
.name = "Voice Codec - CQ93VC",
.stream_name = "CQ93",
.cpu_dai_name = "davinci-vcif",
.codec_dai_name = "cq93vc-hifi",
.codec_name = "cq93vc-codec",
#endif
.platform_name = "davinci-pcm-audio",
};

这个设置应该也没问题吧,求教大神指点该怎么办

  • 是否有检查一下内核这块的配置? 

  • 我内核之前用的codec是dm368上自带的CQ93VC,所以我在menuconfig这块设置就把DM365 codec select选择成Audio Codec AIC3101,其他设置没有改,这样设置有问题么?

  • 是McBSP配置有问题,在/arm/mach-davinci/mcbsp.c的文件里,也定义了一个名为"davinci-mcbsp"的platform_driver,但是这个mcbsp.c文件用于DA850/OMAP-L138 McBSP driver,我用的是dm368-ipnc,所以配置了这个mcbsp就不能配置/soc/davinci-i2s.c的mcbsp了。所以在你的内核的config文件了,在DaVinci Board Type选项里,不要设置CONFIG_DAVINCI_MCBSP,就可以加载aic3101了,而且也不会有 Error: Driver 'davinci-mcbsp' is already registered, aborting...。但是现在声卡虽然有了,但是在不能正常使用,会出现如下错误:

    asoc: machine hw_params failed
    aplay: set_params:1123: Unable to install hw params:

    不知道该怎么办?


  • 您好,我终于将mcasp3彻底换成了mcasp7,录音和播放都没有问题的,但是我修改了硬件的链接
    #################
    目前我的想法是:mcasp3作为cpu-dai0 和 tlv320aic3104 link;mcasp3主要用来采样i2s接口
    mcasp7作为cpu-dai1 和 tlv320aic3104 link;mcasp7主要用来播放i2s接口
    我的做法是:一个驱动2个设备
    sound0: sound@0 {

    compatible = "simple-audio-card";
    simple-audio-card,name = "BeagleBoard-X15";
    simple-audio-card,dai-link@0 {
    widgets =
    "Line", "Line Out",
    "Line", "Line In";
    routing =
    "Line Out", "LLOUT",
    "Line Out", "RLOUT",
    "MIC2L", "Line In",
    "MIC2R", "Line In";
    format = "dsp_b";
    cpu {
    sound-dai = <&mcasp3>;
    };
    codec {
    sound-dai = <&tlv320aic3104>;
    clocks = <&clkout2_clk>;
    };
    };

     simple-audio-card,dai-link@1 { format = "dsp_b"; cpu { sound-dai = <&mcasp7>; }; codec { sound-dai = <&tlv320aic3104>; clocks = <&clkout2_clk>; }; }; }; 我没有修改davinci-mcasp.c和tlv320aic3104.c文件 结果是只是映射了mcasp3
  • asoc: machine hw_params failed

    aplay: set_params:1123: Unable to install hw params:

    您好,我也碰到这个问题,请问如何解决?谢谢