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

AM335X mcasp 多管脚 如何输出 声卡驱动

你好:

我使用的是AM3359 基于BBB板子进行开发,dac是pcm1690,

现在驱动没问题了,播放音乐没问题,因为使用的是mcasp0主机,连接dac,axr0 ,axr1,axr2 ,axr3 。

设备树:

&mcasp0 {
pinctrl-names = "default";
pinctrl-0 = <&mcasp0_pins>;
status = "okay";
op-mode = <0>; 
tdm-slots = <2>;
//num-serializer = <16>;
/* 16 serializer */
serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
1 1 1 1
>;
tx-num-evt = <32>;
rx-num-evt = <32>;
};

我的pcm1690里面驱动是:

static struct snd_soc_dai_driver pcm1690_dai = {
.name = "pcm1690-hifi",
.playback = {
.stream_name = "Playback",
.channels_min = 2,
.channels_max = 8,
.rates = pcm1690_PCM_RATES,
.formats = pcm1690_PCM_FORMATS,
},
.ops = &pcm1690_dai_ops,
};

现在就是播放音乐只有一个axr能够用,其它的不知道如何控制。

另外我修改设备树:serial-dir = 1 0 0 0 ;0 1 0 0;0 0 1 0;0 0 0 1;四个管脚都能单独输出播放音乐。

现在我修改成:serial-dir = 1 1 1 1。

请问一下如何才能进行对axr0 -3的所有管脚进行输出控制?

另外是再虚拟三个声卡出来吗?如何虚拟呢。

aplay test.wav -c 6 这样选择通道吗

Jian Zhou:

应该是只能一个引脚播出声音,其他的要虚拟声卡出来。

ting li4:

回复 Jian Zhou:

虚拟声卡是在

static struct snd_soc_dai_driver pcm1690_dai = {.name = "pcm1690-hifi",.playback = {.stream_name = "Playback",.channels_min = 2,.channels_max = 8,.rates = pcm1690_PCM_RATES,.formats = pcm1690_PCM_FORMATS,},.ops = &pcm1690_dai_ops,};

继续添加

.playback结构是吗?

还有虚拟声卡出来后能同时一起工作吗?

赞(0)
未经允许不得转载:TI中文支持网 » AM335X mcasp 多管脚 如何输出 声卡驱动
分享到: 更多 (0)