整个调试过程中比较纠结,到最后才发现i2s bit clock mclock波形质量不好
且模块需要在提供i2s clock的时候,读写才有效
在调试音频功率时发现,做line in时,pm8916有异常波形出来,需要削除掉这个异常15k正弦波形
后面是发现是从mic1进来的,由硬件进行滤波来解决这个问题,后面在解决中还出现了23k正弦波,同样是硬件解决的
最后硬件只将tinymix “ADC1 Volume” 5就可以调pa的功率为5w
只需在mix_path将默认值修改为5,再将ftm_test_config配置文件中去掉ADC1 Volume:6的设置
Index: android/hardware/qcom/audio/configs/msm8909/mixer_paths_msm8909_pm8916.xml
===================================================================
--- android/hardware/qcom/audio/configs/msm8909/mixer_paths_msm8909_pm8916.xml (revision 281)
+++ android/hardware/qcom/audio/configs/msm8909/mixer_paths_msm8909_pm8916.xml (revision 282)
@@ -56,7 +56,7 @@
<ctl name="IIR1 INP2 Volume" value="84" />
<ctl name="IIR1 INP3 Volume" value="84" />
<ctl name="IIR1 INP4 Volume" value="84" />
- <ctl name="ADC1 Volume" value="4" />
+ <ctl name="ADC1 Volume" value="5" />
<ctl name="ADC2 Volume" value="4" />
<ctl name="ADC3 Volume" value="4" />
<ctl name="DEC1 Volume" value="84" />
Index: android/vendor/qcom/proprietary/mm-audio/audio_ftm/family-b/config/8909/ftm_test_config
===================================================================
--- android/vendor/qcom/proprietary/mm-audio/audio_ftm/family-b/config/8909/ftm_test_config (revision 281)
+++ android/vendor/qcom/proprietary/mm-audio/audio_ftm/family-b/config/8909/ftm_test_config (revision 282)
@@ -802,8 +802,6 @@
DEC1 MUX:ADC1
-ADC1 Volume:6
-
QUAT_MI2S_RX Port Mixer TERT_MI2S_TX:1
QUAT_MI2S_RX_DL_HL Switch:1
在调试过程中,还发现
针对tas5782m模块
ppc3仿真工具操作不方便,数据误发
写的i2c地址是0x92其实是0x90需要手动再发一现,非常麻烦,
导出来的寄存器数据有误
导出来的数据发现有问题,有一定的风险
如下导出来是
{ 0x22, 0x03 },实现操作的是96k
后来发现ppc3无法加载单声道,此时pa是采用声道设计的,且原来i2c地址采用的0x90
原来关于tas5782m,TI SW(ppc3)内部已经固定的立体声设备地址为0x90而Mono设备为0x92,这就是无法选择相应的单声道模式的原因
从上说0x90是立体声道,因此需要硬件将i2c 地址修改为0x92,软件也需要修改
因为默认为低,因此adr0必须拉高,且驱动将i2c地址修改为0x49
重新修改后可以识别了,重新用ppc3调试