硬件:展锐sharkl5Pro
软件Android11
codec:sc2730
当前通路为spk输出,想改成耳机输出
1. kernel dts修改
bsp/kernel/kernel4.14/arch/arm64/boot/dts/sprd/ums512-mach.dtsi
&sound_vbc_v4_sprd_codec {中
- "Ext Spk", "SPK Pin",
- "Ext Spk1", "SPK Pin",
+ "Ext Spk", "HP Pin",
+ "Ext Spk1", "HP Pin",
2 device 修改
2.1 通路修改
device/sprd/mpool/module/audio/msoc/sharkl5Pro/system/etc/audio_params/audio_route.xml
speaker device="0x2">中
<speaker device="0x2">
<on>
+ <ctl name="HP mix mode" val="0" />
+ <ctl name="DAC LRCLK Select" val="invert"/>
+ <ctl name="HPL EAR Sel" val="HPL" />
+ <ctl name="HPR Pin Switch" val="1" />
+ <ctl name="HPL Mixer DACLHPL Switch" val="1" />
+ <ctl name="HPR Mixer DACRHPR Switch" val="1" />
-
- <ctl name="SPKL Mixer DACLSPKL Switch" val="1" />
<ctl name="Speaker Function" val="1" />
+ <ctl name="Speaker1 Function" val="1" />
</on>
<off>
+ <ctl name="Speaker1 Function" val="0" />
<ctl name="Speaker Function" val="0" />
+ <ctl name="DAC LRCLK Select" val="normal"/>
+ <ctl name="HPR Pin Switch" val="0" />
+ <ctl name="HPL Mixer DACLHPL Switch" val="0" />
+ <ctl name="HPR Mixer DACRHPR Switch" val="0" />
+ <ctl name="HPL EAR Sel" val="EAR" />
+ <ctl name="HP mix mode" val="1" />
- <ctl name="SPKL Mixer DACLSPKL Switch" val="0" />
</off>
</speaker>
2.2 配置修改
device/sprd/mpool/module/audio/msoc/sharkl5Pro/system/etc/audio_params/sprd/audioparam_config.xml
@@ -8,13 +8,13 @@
<audioparam name="Audio\Handset\SWB1" Path="Audio\RCV" Usecase="VOLTE_SWB" OutDevice="Earpiece" />
<audioparam name="Audio\Handset\FB1" Path="Audio\RCV" Usecase="VOLTE_FB" OutDevice="Earpiece" />
<audioparam name="Audio\Handset\VOIP1" Path="Audio\RCV" Usecase="VOIP" OutDevice="Earpiece" />
+ <audioparam name="Audio\Handsfree\NB1" Path="Audio\HP" Usecase="GSM,TD,CDMA2000,WCDMA_NB,VOLTE_NB,VOWIFI_NB" OutDevice="Speaker" />
+ <audioparam name="Audio\Handsfree\NB2" Path="Audio\HP" Usecase="NONE" OutDevice="Speaker" />
+ <audioparam name="Audio\Handsfree\WB1" Path="Audio\HP" Usecase="WCDMA_WB,VOLTE_WB,VOWIFI_WB" OutDevice="Speaker" />
+ <audioparam name="Audio\Handsfree\WB2" Path="Audio\HP" Usecase="NONE" OutDevice="Speaker" />
+ <audioparam name="Audio\Handsfree\SWB1" Path="Audio\HP" Usecase="VOLTE_SWB" OutDevice="Speaker" />
+ <audioparam name="Audio\Handsfree\FB1" Path="Audio\HP" Usecase="VOLTE_FB" OutDevice="Speaker" />
+ <audioparam name="Audio\Handsfree\VOIP1" Path="Audio\HP" Usecase="VOIP" OutDevice="Speaker" />
- <audioparam name="Audio\Handsfree\NB1" Path="Audio\SPK" Usecase="GSM,TD,CDMA2000,WCDMA_NB,VOLTE_NB,VOWIFI_NB" OutDevice="Speaker" />
- <audioparam name="Audio\Handsfree\NB2" Path="Audio\SPK" Usecase="NONE" OutDevice="Speaker" />
- <audioparam name="Audio\Handsfree\WB1" Path="Audio\SPK" Usecase="WCDMA_WB,VOLTE_WB,VOWIFI_WB" OutDevice="Speaker" />
- <audioparam name="Audio\Handsfree\WB2" Path="Audio\SPK" Usecase="NONE" OutDevice="Speaker" />
- <audioparam name="Audio\Handsfree\SWB1" Path="Audio\SPK" Usecase="VOLTE_SWB" OutDevice="Speaker" />
- <audioparam name="Audio\Handsfree\FB1" Path="Audio\SPK" Usecase="VOLTE_FB" OutDevice="Speaker" />
- <audioparam name="Audio\Handsfree\VOIP1" Path="Audio\SPK" Usecase="VOIP" OutDevice="Speaker" />
<audioparam name="Audio\Headset4P\NB1" Path="Audio\HP" Usecase="GSM,TD,CDMA2000,WCDMA_NB,VOLTE_NB,VOWIFI_NB" OutDevice="Headset4P" />
<audioparam name="Audio\Headset4P\NB2" Path="Audio\HP" Usecase="NONE" OutDevice="Headset4P" />
<audioparam name="Audio\Headset4P\WB1" Path="Audio\HP" Usecase="WCDMA_WB,VOLTE_WB,VOWIFI_WB" OutDevice="Headset4P" />
@@ -62,7 +62,7 @@
<audioparam name="Music\Headset\UnprocessRecord" Path="Music\HeadsetMic" Usecase="UnprocessRecord" InDevice="HeadsetMic" />
<audioparam name="Music\Headset\VoiceRecognition" Path="Music\ApHeadsetMic" Usecase="VoiceRecognition" InDevice="HeadsetMic" />
<audioparam name="Music\Headset\FM" Path="Music\HeadsetFm" Usecase="Fm" OutDevice="Headset3P,Headset4P" />
+ <audioparam name="Music\Handsfree\Playback" Path="Music\HP" Usecase="Playback" OutDevice="Speaker" />
- <audioparam name="Music\Handsfree\Playback" Path="Music\SPK" Usecase="Playback" OutDevice="Speaker" />
<audioparam name="Music\Handsfree\Record" Path="Music\MainMic,AuxMic" Usecase="Record" InDevice="MainMic,AuxMic" />
<audioparam name="Music\Handsfree\UnprocessRecord" Path="Music\MainMic,AuxMic" Usecase="UnprocessRecord" InDevice="MainMic,AuxMic" />
<audioparam name="Music\Handsfree\VideoRecord" Path="Music\MainMic,AuxMic" Usecase="VideoRecord" InDevice="MainMic,AuxMic" />
@@ -74,10 +74,10 @@
<audioparam name="Music\TypeC_Digital\VoiceRecognition" Path="Music\ApTypeC_DigitalRecord" Usecase="VoiceRecognition" InDevice="UsbHeadsetIn" />
<audioparam name="Music\TypeC_Digital\FM" Path="Music\TypeC_DigitalFm" Usecase="Fm" OutDevice="UsbHeadset" />
<audioparam name="Music\Handset\Playback" Path="Music\RCV" Usecase="Playback" OutDevice="Earpiece" />
+ <audioparam name="Music\Headfree\Playback" Path="Music\HP" Usecase="Playback" OutDevice="Speaker,Headset3P,Headset4P" />
- <audioparam name="Music\Headfree\Playback" Path="Music\SPK" Usecase="Playback" OutDevice="Speaker,Headset3P,Headset4P" />
<audioparam name="Music\Bluetooth\Record" Path="Music\BluetoothRecord" Usecase="Record" InDevice="Sco" />
<audioparam name="Loopback\Handset\Loop1" Path="Loopback\RCV" Usecase="Loop" OutDevice="Earpiece" InDevice="AuxMic" />
+ <audioparam name="Loopback\Handsfree\Loop1" Path="Loopback\HP" Usecase="Loop" OutDevice="Speaker" InDevice="MainMic,AuxMic" />
- <audioparam name="Loopback\Handsfree\Loop1" Path="Loopback\SPK" Usecase="Loop" OutDevice="Speaker" InDevice="MainMic,AuxMic" />
<audioparam name="Loopback\Headset4P\Loop1" Path="Loopback\HP" Usecase="Loop" OutDevice="Headset4P,Headset3P" InDevice="HeadsetMic" />
<audioparam name="Loopback\Headset3P\Loop1" Path="Loopback\HP" Usecase="Loop" OutDevice="Headset4P,Headset3P" InDevice="MainMic" />
</common>