完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
RK817对于mic的增益修改,没有提取到dts里面,通过查看规格书,发现CODEC_DMIC_PGA_GAIN寄存器,可以修改mic的增益,最近有项目在调试过程,发现录音杂音很大,原因是增益太大造成的,把增益降低就可以解决了。
--- a/kernel/sound/soc/codecs/rk817_codec.c +++ b/kernel/sound/soc/codecs/rk817_codec.c @@ -113,7 +113,7 @@ static const struct reg_default rk817_reg_defaults[] = { { RK817_CODEC_DADC_RVOLR, 0xff }, { RK817_CODEC_AMIC_CFG0, 0x70 }, { RK817_CODEC_AMIC_CFG1, 0x00 }, - { RK817_CODEC_DMIC_PGA_GAIN, 0x66 }, + { RK817_CODEC_DMIC_PGA_GAIN, 0x44 }, { RK817_CODEC_DMIC_LMT1, 0x00 }, { RK817_CODEC_DMIC_LMT2, 0x00 }, { RK817_CODEC_DMIC_NG1, 0x00 }, { RK817_CODEC_DMIC_NG1, 0x00 }, @@ -313,7 +313,7 @@ static struct rk817_reg_val_typ capture_power_up_list[] = { {RK817_CODEC_DI2S_TXCR3_TXCMD, 0x88}, {RK817_CODEC_DDAC_POPD_DACST, 0x02}, /* 0x29: -18db to 27db */ - {RK817_CODEC_DMIC_PGA_GAIN, 0xaa}, + {RK817_CODEC_DMIC_PGA_GAIN, 0x44}, }; #define RK817_CODEC_CAPTURE_POWER_UP_LIST_LEN @@ -642,9 +642,9 @@ static int rk817_capture_path_put(struct snd_kcontrol *kcontrol, if (rk817->adc_for_loopback) { /* don't need to gain when adc use for loopback */ snd_soc_write(codec, RK817_CODEC_AMIC_CFG0, 0x00); - snd_soc_write(codec, RK817_CODEC_DMIC_PGA_GAIN, 0x66); - snd_soc_write(codec, RK817_CODEC_DADC_VOLL, 0x00); - snd_soc_write(codec, RK817_CODEC_DADC_VOLR, 0x00); + snd_soc_write(codec, RK817_CODEC_DMIC_PGA_GAIN, 0x44); + snd_soc_write(codec, RK817_CODEC_DADC_VOLL, 0xff); + snd_soc_write(codec, RK817_CODEC_DADC_VOLR, 0xff); break; } if (!rk817->mic_in_differential) { @@ -662,9 +662,9 @@ static int rk817_capture_path_put(struct snd_kcontrol *kcontrol, if (rk817->adc_for_loopback) { /* don't need to gain when adc use for loopback */ snd_soc_write(codec, RK817_CODEC_AMIC_CFG0, 0x00); - snd_soc_write(codec, RK817_CODEC_DMIC_PGA_GAIN, 0x66); - snd_soc_write(codec, RK817_CODEC_DADC_VOLL, 0x00); - snd_soc_write(codec, RK817_CODEC_DADC_VOLR, 0x00); + snd_soc_write(codec, RK817_CODEC_DMIC_PGA_GAIN, 0x44); + snd_soc_write(codec, RK817_CODEC_DADC_VOLL, 0xff); + snd_soc_write(codec, RK817_CODEC_DADC_VOLR, 0xff); break; } |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
基于米尔瑞芯微RK3576核心板/开发板的人脸疲劳检测应用方案
1106 浏览 0 评论
1278 浏览 1 评论
993 浏览 1 评论
2293 浏览 1 评论
3619 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-30 01:59 , Processed in 0.410384 second(s), Total 40, Slave 34 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号