工具与软件:
尊敬的专家:
我使用不同的配置对 结构 snd_soc_di_di_driver 进行了一些测试、结果如下所示:
配置一:
static struct snd_soc_dai_driver pcm3168a_dais[] = {
	{
		.name = "pcm3168a-dac",
		.id = PCM3168A_DAI_DAC,
		.playback = {
			.stream_name = "Playback",
			.channels_min = 1,
			.channels_max = 8,
			.rates = SNDRV_PCM_RATE_8000_192000,
			.formats = PCM3168A_FORMATS
		},
		.ops = &pcm3168a_dai_ops
	},
	{
		.name = "pcm3168a-adc",
		.id = PCM3168A_DAI_ADC,
		.capture = {
			.stream_name = "Capture",
			.channels_min = 1,
			.channels_max = 6,
			.rates = SNDRV_PCM_RATE_8000_96000,
			.formats = PCM3168A_FORMATS
		},
		.ops = &pcm3168a_dai_ops
	},
};
结果:当播放单声道(立体声) wav 文件时、VOUT1\VOUT2具有音频信号、VOUT3\VOUT4\VOUT5\VOUT6\VOUT7\VOUT8没有 aduio 信号。
当播放 8通道 wav 文件时、 VOUT1\VOUT2 VOUT3\VOUT4\VOUT5\VOUT6\VOUT7\VOUT8都具有 aduio 信号。
配置2:
static struct snd_soc_dai_driver pcm3168a_dais[] = {
	{
		.name = "pcm3168a-dac",
		.id = PCM3168A_DAI_DAC,
		.playback = {
			.stream_name = "Playback",
			.channels_min = 1,
			.channels_max = 4,
			.rates = SNDRV_PCM_RATE_8000_192000,
			.formats = PCM3168A_FORMATS
		},
		.ops = &pcm3168a_dai_ops
	},
	{
		.name = "pcm3168a-adc",
		.id = PCM3168A_DAI_ADC,
		.capture = {
			.stream_name = "Capture",
			.channels_min = 1,
			.channels_max = 6,
			.rates = SNDRV_PCM_RATE_8000_96000,
			.formats = PCM3168A_FORMATS
		},
		.ops = &pcm3168a_dai_ops
	},
};
结果: 当播放单声道(立体声) wav 文件时、VOUT1\VOUT2具有音频信号、VOUT3\VOUT4\VOUT5\VOUT6\VOUT7\VOUT8没有 aduio 信号。
当播放 8通道 wav 文件时、 VOUT1\VOUT2 VOUT3\VOUT4\VOUT5\VOUT6\VOUT7\VOUT8都具有 aduio 信号。
当播放8通道 wav 文件时、 VOUT5\VOUT6\VOUT7\VOUT8如何也具有 aduio 信号?
配置三:
static struct snd_soc_dai_driver pcm3168a_dais[] = {
	{
		.name = "pcm3168a-dac",
		.id = PCM3168A_DAI_DAC,
		.playback = {
			.stream_name = "Playback",
			.channels_min = 7,
			.channels_max = 8,
			.rates = SNDRV_PCM_RATE_8000_192000,
			.formats = PCM3168A_FORMATS
		},
		.ops = &pcm3168a_dai_ops
	},
	{
		.name = "pcm3168a-adc",
		.id = PCM3168A_DAI_ADC,
		.capture = {
			.stream_name = "Capture",
			.channels_min = 1,
			.channels_max = 6,
			.rates = SNDRV_PCM_RATE_8000_96000,
			.formats = PCM3168A_FORMATS
		},
		.ops = &pcm3168a_dai_ops
	},
};
结果:
当播放单声道(立体声) wav 文件时、VOUT1\VOUT2\VOUT3\VOUT4\VOUT5\VOUT6\VOUT7\VOUT8都具有 aduio 信号。
当播放 8通道 wav 文件时、 VOUT1\VOUT2 VOUT3\VOUT4\VOUT5\VOUT6\VOUT7\VOUT8都具有 aduio 信号。
我想问:
1. PCM3168A 中 CHANNELS_MIN\CHANNELS_max 的特别含义是什么?
在上下文播放时、CHANNELS_MIN\CHANNELS_max、DIN1-DIN4、VOUT1-VOUT8之间的相应关系是什么?
在上下文捕获时、 CHANNELS_MIN\CHANNELS_max、DOUT1-DOUT3、VIN1-VIN6之间的相应关系是什么?
2.如果可以有四个播放设备(例如 pcmC0D0p、pcmC0D1p、pcmC0D2p、pcmC0D3p)、 pcmC0D0p 绑定到 VOUT1&VOUT2、 pcmC0D1p 绑定到 VOUT3&VOUT4、pcmC0D2p 绑定到 VOUT5&VOUT6、pcmC0D2p 绑定到 VOUT3&VOUT7?
四声道的音频音频和音频的音频。当使用 pcmC0D0p 播放六声道(单声道\立体声\三 声道\四 声道\...\八 声道)文件时、仅 VOUT1&VOUT2可以听声音、VOUT3-VOUT8不能听声音;当使用 pcmC0DT4和 VOUT3\三声道播放时、只能听到声音。
谢谢、祝您好运!
 
				 
		 
					