TI中文支持网
TI专业的中文技术问题搜集分享网站

在DM368_IPNC下如何加载开发板上的设备TLV320AIC3101

现在使用的自己开发DM368的板子,板子上有一个外接codec是TLV320AIC3101,而内核默认设置的codec是dm368内置的CQ93VC,我现在要使用外接的TLV320AIC3101,但是不知道该怎么从外部加载这个设备?原先尝试过在内核配置时把sound card support选为M,然后生成了一大堆的模块,有:

  sound/soundcore.kosound/core/snd.kosound/core/snd-timer.kosound/core/snd-page-alloc.kosound/core/snd-pcm.kosound/soc/snd-soc-core.kosound/soc/codecs/snd-soc-tlv320aic3x.kosound/soc/davinci/snd-soc-davinci.kosound/soc/davinci/snd-soc-davinci-i2s.ko
(PS:加载I2S时,会出现这样的错误:

[ 140.522999] Error: Driver 'davinci-mcbsp' is already registered, aborting…
insmod: error inserting 'snd-soc-davinci-i2s.ko': -1 Device or resource busy

)sound/soc/davinci/snd-soc-evm.ko 

但是依次加载完这些模块后,还是没有反应,在root权限下输入aplay -l时,提示aplay: device_list:240: no soundcards found…  求指导(PS:硬件没有问题)

另外,在网上看到有人在ARM11上也是加载外部的TLV320AIC3101,他也是把TLV320AIC3101编译成模块,但是他就只有两个模块,一个snd-soc-tlv320aic3x.ko和一个平台驱动模块snd-soc-aaa.ko,不像我这里生成了一大堆的模块,我到底是哪里弄错了,还是少了些其他操作?

kooking:

首先应该确保硬件是完好的,可以用CCS先测试一下硬件是不是通的,可以参考一下evm板,这个已经带了aic3101的测试程序:

http://support.spectrumdigital.com/boards/evmdm368/revg/

zhou jiang:

回复 kooking:

已经测过了,硬件是完好的

kooking:

回复 zhou jiang:

看下内核中I2C地址是否和硬件符合,menuconfig选项是不是已经选上了,至少应该有设备节点

zhou jiang:

回复 kooking:

在board-dm368-ipnc.c中添加的i2c board info

{ I2C_BOARD_INFO("tlv320aic3x", 0x18), },

然后menuconfig选项如下:

<M> Sound card support --->
--- Sound card support
<M> Advanced Linux Sound Architecture --->
< > Open Sound System (DEPRECATED) --->
<M> ALSA for SoC audio support --->
--- ALSA for SoC audio support
<M> SoC Audio for the TI DAVINCI chip
<M> SoC Audio support for DaVinci DM644 ,DM355 or DM365 EVM
启动板子后,存在/dev/snd这个文件,文件底下包括controlC0  pcmC0D0c   pcmC0D0p   timer,但依次把生成的模块加载以后,就是没反应,
输入 cat /proc/asound/devices
 33:        : timer
就只有这个 ,一直没搞清楚到底是什么问题

赞(0)
未经允许不得转载:TI中文支持网 » 在DM368_IPNC下如何加载开发板上的设备TLV320AIC3101
分享到: 更多 (0)