|
【Android】
ROC-RK3588S-PC Bluetooth SCO no sound when device is used as a HFP headset/louds
Posted at 8/8/2023 01:33:37
View:1158
|
Replies:0
Print
Only Author
[Copy Link]
1#
Problem description and steps to reproduce:
Last edited by moiommo In 8/8/2023 14:11 Editor
Hello,
I want to use my ROC-RK3588S-PC device as a handsfree headset that is connected to a mobile phone. I managed to get a dialer app work, so it can receive and send callls using Android services. The only issue left that I cannot resolve is a missing sound via SCO. I beleive that there is no sound as Bluetoth SCO is not registered as a sound card which makes impossible to route audio. Wireless chip RTL8821CU has pins for SCO that exposes PCM signals and can be used as an audio device.
I tried to build a custom image to sovle that issue with Device Tree patched.
I modified 'kernel-5.10/arch/arm64/boot/dts/rockchip/roc-rk3588s-pc.dtsi'
- / {
- ...
- /*Bluetooth SCO sound card */
- bt-sound {
- compatible = "simple-audio-card";
- simple-audio-card,format = "dsp_a";
- simple-audio-card,bitclock-inversion = <1>;
- simple-audio-card,mclk-fs = <256>;
- simple-audio-card,name = "rockchip,bt";
- simple-audio-card,cpu {
- // sound-dai = <&i2s2_2ch>;
- sound-dai = <&i2s3_2ch>;
- };
- simple-audio-card,codec {
- sound-dai = <&bt_sco>;
- };
- };
- bt_sco: bt-sco {
- compatible = "delta,dfbmcs320";
- #sound-dai-cells = <0>;
- status = "okay";
- };
- }
Copy the code Then I tried to use i2s2_2ch and i2s3_2ch pin adress foond in 'kernel-5.10/arch/arm64/boot/dts/rockchip/rk3588s.dtsi', unfortunatly both variants didn't work as pins are already taken by other devices.
- &i2s2_2ch{
- pinctrl-0 = <&i2s2m1_lrck
- &i2s2m1_sclk
- &i2s2m1_sdi
- &i2s2m1_sdo>;
- status = "okay";
- };
Copy the code
dmesg output for &i2s2_2ch:
- [ 5.348697] [ T1] usbcore: registered new interface driver snd-usb-audio
- [ 5.351654] [ T1] rockchip-pinctrl pinctrl: pin gpio3-13 already requested by fe1c0000.ethernet; cannot claim for fe490000.i2s
- [ 5.351665] [ T1] rockchip-pinctrl pinctrl: pin-109 (fe490000.i2s) status -22
- [ 5.351672] [ T1] rockchip-pinctrl pinctrl: could not request pin 109 (gpio3-13) from group i2s2m1-sclk on device rockchip-pinctrl
- [ 5.351678] [ T1] rockchip-i2s fe490000.i2s: Error applying setting, reverse things back
- [ 5.351691] [ T1] rockchip-i2s: probe of fe490000.i2s failed with error -22
Copy the code
&i2s3_2ch{
pinctrl-0 = <&i2s3_lrck
&i2s3_sclk
&i2s3_sdi
&i2s3_sdo>;
status = "okay";
};
dmesg output for &i2s3_2ch:[ 5.349054] [ T1] usbcore: registered new interface driver snd-usb-audio
[ 5.351490] [ T1] rockchip-pinctrl pinctrl: pin gpio3-2 already requested by fe1c0000.ethernet; cannot claim for fe4a0000.i2s
[ 5.351498] [ T1] rockchip-pinctrl pinctrl: pin-98 (fe4a0000.i2s) status -22
[ 5.351503] [ T1] rockchip-pinctrl pinctrl: could not request pin 98 (gpio3-2) from group i2s3-lrck on device rockchip-pinctrl
[ 5.351508] [ T1] rockchip-i2s fe4a0000.i2s: Error applying setting, reverse things back
[ 5.351519] [ T1] rockchip-i2s: probe of fe4a0000.i2s failed with error -22
Could someone privide right configuration for Blutooth SCO PCM output pins of RTL8821CU for ROC-RK3588S-PC device or suggest anothe way to sove issue with missing sound.
Best regards
|
|