硬件:展锐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>

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐