From 85a3a104a2e7df87c0d10c0c864e8b159f6b447d Mon Sep 17 00:00:00 2001 From: Xing Zheng Date: Wed, 25 Jul 2018 10:58:49 +0800 Subject: [PATCH] arm64: dts: rockchip: rk3308-evb: switch to multicodecs for bluetooth_sound Dues to the loading order of multiple sound cards is not constant, we need to specify bluetooth pcm sound as the slave card via 'rockchip,wait-card-locked' property. It looks like this: ======== From [ 1.180441] ALSA device list: [ 1.180458] #0: rockchip,rk3308-pcm [ 1.180467] #1: rockchip,rk3308-vad To [ 1.175590] ALSA device list: [ 1.175606] #0: rockchip,rk3308-vad [ 1.175614] #1: rockchip,rk3308-pcm ======== Change-Id: Ic4d7625ca3b06106a317a59defcc45bab190ae95 Signed-off-by: Xing Zheng --- .../boot/dts/rockchip/rk3308-evb-v10.dtsi | 27 +++++++------------ .../boot/dts/rockchip/rk3308-evb-v11.dtsi | 27 +++++++------------ 2 files changed, 20 insertions(+), 34 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3308-evb-v10.dtsi b/arch/arm64/boot/dts/rockchip/rk3308-evb-v10.dtsi index 0e2c72f25259..5ee978ff5dc1 100644 --- a/arch/arm64/boot/dts/rockchip/rk3308-evb-v10.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3308-evb-v10.dtsi @@ -113,23 +113,16 @@ bluetooth_sound: bluetooth-sound { status = "disabled"; - compatible = "simple-audio-card"; - simple-audio-card,format = "dsp_b"; - simple-audio-card,name = "rockchip,rk3308-pcm"; - simple-audio-card,mclk-fs = <128>; - simple-audio-card,bitclock-inversion = <0>; - simple-audio-card,bitclock-master = <&bt_codec>; - simple-audio-card,frame-master = <&bt_codec>; - simple-audio-card,cpu { - sound-dai = <&i2s_2ch_0>; - }; - bt_codec: simple-audio-card,codec { - /* - * Using dummy_codec to supports CVSD(8K) and mSBC(16K) - * for HFP. - */ - sound-dai = <&dummy_codec>; - }; + compatible = "rockchip,multicodecs-card"; + rockchip,card-name = "rockchip,rk3308-pcm"; + rockchip,mclk-fs = <128>; + rockchip,cpu = <&i2s_2ch_0>; + rockchip,codec = <&dummy_codec>; + rockchip,format = "dsp_b"; + rockchip,bitclock-inversion = <0>; + rockchip,bitclock-master = <&dummy_codec>; + rockchip,frame-master = <&dummy_codec>; + rockchip,wait-card-locked = <0>; }; spdif_tx_sound: spdif-tx-sound { diff --git a/arch/arm64/boot/dts/rockchip/rk3308-evb-v11.dtsi b/arch/arm64/boot/dts/rockchip/rk3308-evb-v11.dtsi index f7785807bf5b..fc97ee63b55d 100644 --- a/arch/arm64/boot/dts/rockchip/rk3308-evb-v11.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3308-evb-v11.dtsi @@ -98,23 +98,16 @@ bluetooth_sound: bluetooth-sound { status = "disabled"; - compatible = "simple-audio-card"; - simple-audio-card,format = "dsp_b"; - simple-audio-card,name = "rockchip,rk3308-pcm"; - simple-audio-card,mclk-fs = <128>; - simple-audio-card,bitclock-inversion = <0>; - simple-audio-card,bitclock-master = <&bt_codec>; - simple-audio-card,frame-master = <&bt_codec>; - simple-audio-card,cpu { - sound-dai = <&i2s_2ch_0>; - }; - bt_codec: simple-audio-card,codec { - /* - * Using dummy_codec to supports CVSD(8K) and mSBC(16K) - * for HFP. - */ - sound-dai = <&dummy_codec>; - }; + compatible = "rockchip,multicodecs-card"; + rockchip,card-name = "rockchip,rk3308-pcm"; + rockchip,mclk-fs = <128>; + rockchip,cpu = <&i2s_2ch_0>; + rockchip,codec = <&dummy_codec>; + rockchip,format = "dsp_b"; + rockchip,bitclock-inversion = <0>; + rockchip,bitclock-master = <&dummy_codec>; + rockchip,frame-master = <&dummy_codec>; + rockchip,wait-card-locked = <0>; }; spdif_tx_sound: spdif-tx-sound {