我接的引脚是 MCASP0_AXR0, 现在输出的声音全是沙沙响,但是解码器那边可以识别歌曲的采样频率.
pinmux_config 我总觉得是 punmux_config 那里出了问题,刚接触学习这些,希望指点。
[ 2.034003] line:472 file:drivers/base/platform.c======drv->driver.name: snd-soc-dummy
[ 2.042536] line:472 file:drivers/base/platform.c======drv->driver.name: soc-audio
[ 2.050722] line:472 file:drivers/base/platform.c======drv->driver.name: spdif-dit
[ 2.059062] line:472 file:drivers/base/platform.c======drv->driver.name: davinci-pcm-audio
[ 2.067943] line:472 file:drivers/base/platform.c======drv->driver.name: davinci-mcasp
[ 2.086728] ===========card->name: AM335X EVM SPDIF
[ 2.086734] card->dai_link->name: McASP0
[ 2.086738] card->dai_link->stream_name: spdif
[ 2.086742] card->dai_link->codec_dai_name: dit-hifi
[ 2.086746] card->dai_link->codec_name: spdif-dit
[ 2.086750] card->dai_link->platform_name: davinci-pcm-audio
root@am335x-evm:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: SPDIF [AM335X EVM SPDIF], device 0: spdif dit-hifi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
========================================================
还有一点,对于 pinmux_config 的原理我不是很懂,有没有什么说明文档吗?
我从 arch/arm/mach-omap2/board-am335xevm.c -------> setup_pin_mux(struct pinmux_config *pin_mux) ----------->
--------->omap_mux_init_signal(const char *muxname, int val)------->omap_mux_get_by_name----> _omap_mux_get_by_name----> .....
看的一头雾水,产生了一些疑问,比如:
/* Module pin mux for mcasp0 */
static struct pinmux_config mcasp0_pin_mux[] = {
{"mcasp0_aclkx.mcasp0_aclkx", OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLDOWN},
{"mcasp0_fsx.mcasp0_fsx", OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLDOWN},
{"mcasp0_axr0.mcasp0_axr0", OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLDOWN},
{"mcasp0_ahclkr.mcasp0_axr2", OMAP_MUX_MODE2 | AM33XX_PIN_INPUT_PULLDOWN},
{NULL, 0},
};
像 mcasp0_aclkx.mcasp0_aclkx 是 mode0.muxname 模式?
这两个部分是什么mcasp0_aclkx.mcasp0_aclkx?
比如 {"mcasp0_ahclkr.mcasp0_axr2", OMAP_MUX_MODE2 | AM33XX_PIN_INPUT_PULLDOWN}, 这一行的意思?
读了一下代码,先说说我自己的理解,mcasp0_ahclkr 是模式0 下这个名字对应的 io, mcasp0_axr2 是后面 “OMAP_MUX_MODE2 | AM33XX_PIN_INPUT_PULLDOWN” 这个新
模式对应的名字,整句的意思是将模式0 下这个名字对应的 io,配置为模式 "OMAP_MUX_MODE2 | AM33XX_PIN_INPUT_PULLDOWN"。猜的,望指正^_^