A40i 修改MIC输入增益和BIAS寄存器:
sys_config.fex中codec相关配置:
[sndcodec] sndcodec_used = 0x1 [codec] codec_used = 0x1 headphonevol =0x3b //HP默认音量设置,最大值为0x3f spkervol = 0x1b //SPK默认音量设置,最大值为0x1f maingain = 0x4 //MIC1前端增益,最大值为0x7(实测:修改后mic录音无改变,驱动中未写入codec) hp_dirused = 0x1 //HP开关,0x1:开启 0x0:不开启 adcagc_cfg = 0x0 //ADC自动增益控制,0x1:开启 0x0:不开启 adcdrc_cfg = 0x0 //Drc动态范围控制,0x1:开启 0x0:不开启 adchpf_cfg = 0x0 //ADC端高通滤波,0x1:开启 0x0:不开启 dacdrc_cfg = 0x0 //播放动态音效调节,0x1:开启 0x0:不开启 dachpf_cfg = 0x0 //播放通路高通滤波,0x1:开启 0x0:不开启 ;gpio-spk = port:PB05<1><1><default><default> //外部功放使能脚Audio相关缩写解释:
DAI - Digital Audio Interface 其实就是I2S/PCM/AC97/PDM/TDM等,实现音频数据在CPU和Codec间的通信。
DAPM - Dynamic Audio Power Management 动态音频电源管理。
Line in端口:该端口主要用于连接电吉他、电子琴、合成器等外界设备的音频信号输出的录音,由于这些设备本身输出功率就比较大,因此需要连接到Line in端口录音,当然使用它们录音从某种程度上也可以被称为外部设备的“内录”。一般您使用的声卡越好,Line in里的噪音就会越低,录制效果也会比较好。
Mic in端口:这要是连接麦克风录音使用的。但是这个端口和Line in的区别在于它有前置放大器,换言之麦克风本身输出功率小,因此必须要有一个外部的放大设备来放大音频信号。这个端口就是起到这个作用。
A40i codec寄存器直接调试(2020/9/3 17:53):
cd /sys/devices/soc.0/1c22c00.codec/audio_reg_debug
cat audio_reg //查看源码“reg_labels”数组中所有寄存器值
echo 1,2,0x306,0x0 > audio_reg //修改“SUNXI_MICIN_GCTR”MIC1/2IN GAIN寄存器的值,实测录音大小变化不明显。
echo 1,2,0x30b,0x53 > audio_reg //修改“SUNXI_MIC1G_MICBIAS_CTR”MIC bias寄存器的值,实测电压有所变化但是录音大小变化不明显。
