es8323codec调节录播音量大小

描述:根据客户的需要,设备的录播音量有点小,需要调大一点。查看8323的规格书,发现有些寄存器是可以控制音量大小的。

1.播放:

规格书描述:

可见,数字音量控制衰减信号在0.5分贝,增量从0到-96分贝,写入寄存器的值越大,衰减信号越强声音也就越小。

驱动代码:sound/soc/codecs/es8323.c

diff --git a/sound/soc/codecs/es8323.c b/sound/soc/codecs/es8323.c
index 4323a17..d81b718 100755
--- a/sound/soc/codecs/es8323.c
+++ b/sound/soc/codecs/es8323.c
@@ -851,8 +851,8 @@ static int es8323_probe(struct snd_soc_codec *codec)
        snd_soc_write(codec, 0x16, 0x53);
        snd_soc_write(codec, 0x17, 0x18);       /* I2S-16BIT */
        snd_soc_write(codec, 0x18, 0x02);
-       snd_soc_write(codec, 0x1A, 0x0A);       /* DAC VOLUME=0DB */
-       snd_soc_write(codec, 0x1B, 0x0A);
+       snd_soc_write(codec, 0x1A, 0x03);       /* DAC VOLUME=0DB */
+       snd_soc_write(codec, 0x1B, 0x03);
        snd_soc_write(codec, 0x26, 0x12);       /* Left DAC TO Left IXER */
        snd_soc_write(codec, 0x27, 0xb8);       /* Left DAC TO Left MIXER */
        snd_soc_write(codec, 0x28, 0x38);

1A、1B转换为十进制就是26、27这两个寄存器,这里由0X0A改为0X03,播放声音明显有所增强。

2.录音:

规格书描述:

 这里我选的值是:ALC stereo,MAXGAIN: 29.5dB,  MINGAIN: +12dB,即11110000,18寄存器初始化时候写值0xf0.

原文地址:https://www.cnblogs.com/wmc245376374/p/13088650.html