Message ID | 20201201153706.13450-7-srinivas.kandagatla@linaro.org |
---|---|
State | New |
Headers | show |
Series | arm64: dts: qcom: qrb5165-rb5 audio support | expand |
On Tue 01 Dec 09:37 CST 2020, Srinivas Kandagatla wrote: > This patch add support for two WSA881X smart speakers attached via Soundwire > and a DMIC0 on the main board. > > Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> > --- > arch/arm64/boot/dts/qcom/qrb5165-rb5.dts | 125 +++++++++++++++++++++++ > 1 file changed, 125 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts > index ce22d4fa383e..03229d5cb9d3 100644 > --- a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts > +++ b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts > @@ -7,6 +7,8 @@ > > #include <dt-bindings/gpio/gpio.h> > #include <dt-bindings/regulator/qcom,rpmh-regulator.h> > +#include <dt-bindings/sound/qcom,q6afe.h> > +#include <dt-bindings/sound/qcom,q6asm.h> > #include "sm8250.dtsi" > #include "pm8150.dtsi" > #include "pm8150b.dtsi" > @@ -120,6 +122,11 @@ > }; > }; > > +&adsp { > + status = "okay"; > + firmware-name = "qcom/sm8250/adsp.mdt"; Rather than adding all the mdt + bXX files to linux-firmware (when that day comes) can we please make this qcom/sm8250/adsp.mbn from the start? The mbn can be generated from the existing files using https://github.com/andersson/pil-squasher, or for testing purposes the .mdt can simply be renamed .mbn and the mdt loader will find the remaining .bXX files. > +}; > + > &apps_rsc { > pm8009-rpmh-regulators { > compatible = "qcom,pm8009-rpmh-regulators"; > @@ -483,6 +490,35 @@ > status = "okay"; > }; > > +&q6afedai { > + qi2s@16 { > + reg = <16>; > + qcom,sd-lines = <0 1 2 3>; > + }; > +}; > + > +/* TERT I2S Uses 1 I2S SD Lines for audio on LT9611 HDMI Bridge */ > +&q6afedai { > + qi2s@20 { > + reg = <20>; > + qcom,sd-lines = <0>; > + }; > +}; > + > +&q6asmdai { > + dai@0 { > + reg = <0>; > + }; > + > + dai@1 { > + reg = <1>; > + }; > + > + dai@2 { > + reg = <2>; > + }; > +}; > + > &sdhc_2 { > status = "okay"; > pinctrl-names = "default"; > @@ -497,6 +533,88 @@ > no-emmc; > }; > > +&swr0 { > + Unnecessary empty line. > + left_spkr: wsa8810-left{ > + compatible = "sdw10217211000"; > + reg = <0 3>; > + powerdown-gpios = <&tlmm 130 GPIO_ACTIVE_HIGH>; > + #thermal-sensor-cells = <0>; > + sound-name-prefix = "SpkrLeft"; > + #sound-dai-cells = <0>; > + }; > + Ditto. Regards, Bjorn > + > + right_spkr: wsa8810-right{ > + compatible = "sdw10217211000"; > + reg = <0 4>; > + powerdown-gpios = <&tlmm 130 GPIO_ACTIVE_HIGH>; > + #thermal-sensor-cells = <0>; > + sound-name-prefix = "SpkrRight"; > + #sound-dai-cells = <0>; > + }; > +}; > + > +&sound { > + compatible = "qcom,qrb5165-rb5"; > + pinctrl-0 = <&tert_mi2s_sck_active > + &tert_mi2s_sd0_active > + &tert_mi2s_ws_active>; > + pinctrl-names = "default"; > + model = "Qualcomm-RB5-WSA8815-Speakers-DMIC0"; > + audio-routing = > + "SpkrLeft IN", "WSA_SPK1 OUT", > + "SpkrRight IN", "WSA_SPK2 OUT", > + "VA DMIC0", "vdd-micb", > + "VA DMIC1", "vdd-micb", > + "MM_DL1", "MultiMedia1 Playback", > + "MultiMedia3 Capture", "MM_UL3"; > + > + mm1-dai-link { > + link-name = "MultiMedia1"; > + cpu { > + sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>; > + }; > + }; > + > + mm3-dai-link { > + link-name = "MultiMedia3"; > + cpu { > + sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>; > + }; > + }; > + > + dma-dai-link { > + link-name = "WSA Playback"; > + cpu { > + sound-dai = <&q6afedai WSA_CODEC_DMA_RX_0>; > + }; > + > + platform { > + sound-dai = <&q6routing>; > + }; > + > + codec { > + sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&wsamacro 0>; > + }; > + }; > + > + va-dai-link { > + link-name = "VA Capture"; > + cpu { > + sound-dai = <&q6afedai VA_CODEC_DMA_TX_0>; > + }; > + > + platform { > + sound-dai = <&q6routing>; > + }; > + > + codec { > + sound-dai = <&vamacro 0>; > + }; > + }; > +}; > + > /* CAN */ > &spi0 { > status = "okay"; > @@ -792,3 +910,10 @@ > vdda-phy-supply = <&vreg_l9a_1p2>; > vdda-pll-supply = <&vreg_l18a_0p92>; > }; > + > +&vamacro { > + pinctrl-0 = <&cdc_dmic01_clk_active &cdc_dmic01_data_active>; > + pinctrl-names = "default"; > + vdd-micb-supply = <&vreg_s4a_1p8>; > + qcom,dmic-sample-rate = <600000>; > +}; > -- > 2.21.0 >
diff --git a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts index ce22d4fa383e..03229d5cb9d3 100644 --- a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts +++ b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts @@ -7,6 +7,8 @@ #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/regulator/qcom,rpmh-regulator.h> +#include <dt-bindings/sound/qcom,q6afe.h> +#include <dt-bindings/sound/qcom,q6asm.h> #include "sm8250.dtsi" #include "pm8150.dtsi" #include "pm8150b.dtsi" @@ -120,6 +122,11 @@ }; }; +&adsp { + status = "okay"; + firmware-name = "qcom/sm8250/adsp.mdt"; +}; + &apps_rsc { pm8009-rpmh-regulators { compatible = "qcom,pm8009-rpmh-regulators"; @@ -483,6 +490,35 @@ status = "okay"; }; +&q6afedai { + qi2s@16 { + reg = <16>; + qcom,sd-lines = <0 1 2 3>; + }; +}; + +/* TERT I2S Uses 1 I2S SD Lines for audio on LT9611 HDMI Bridge */ +&q6afedai { + qi2s@20 { + reg = <20>; + qcom,sd-lines = <0>; + }; +}; + +&q6asmdai { + dai@0 { + reg = <0>; + }; + + dai@1 { + reg = <1>; + }; + + dai@2 { + reg = <2>; + }; +}; + &sdhc_2 { status = "okay"; pinctrl-names = "default"; @@ -497,6 +533,88 @@ no-emmc; }; +&swr0 { + + left_spkr: wsa8810-left{ + compatible = "sdw10217211000"; + reg = <0 3>; + powerdown-gpios = <&tlmm 130 GPIO_ACTIVE_HIGH>; + #thermal-sensor-cells = <0>; + sound-name-prefix = "SpkrLeft"; + #sound-dai-cells = <0>; + }; + + + right_spkr: wsa8810-right{ + compatible = "sdw10217211000"; + reg = <0 4>; + powerdown-gpios = <&tlmm 130 GPIO_ACTIVE_HIGH>; + #thermal-sensor-cells = <0>; + sound-name-prefix = "SpkrRight"; + #sound-dai-cells = <0>; + }; +}; + +&sound { + compatible = "qcom,qrb5165-rb5"; + pinctrl-0 = <&tert_mi2s_sck_active + &tert_mi2s_sd0_active + &tert_mi2s_ws_active>; + pinctrl-names = "default"; + model = "Qualcomm-RB5-WSA8815-Speakers-DMIC0"; + audio-routing = + "SpkrLeft IN", "WSA_SPK1 OUT", + "SpkrRight IN", "WSA_SPK2 OUT", + "VA DMIC0", "vdd-micb", + "VA DMIC1", "vdd-micb", + "MM_DL1", "MultiMedia1 Playback", + "MultiMedia3 Capture", "MM_UL3"; + + mm1-dai-link { + link-name = "MultiMedia1"; + cpu { + sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>; + }; + }; + + mm3-dai-link { + link-name = "MultiMedia3"; + cpu { + sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>; + }; + }; + + dma-dai-link { + link-name = "WSA Playback"; + cpu { + sound-dai = <&q6afedai WSA_CODEC_DMA_RX_0>; + }; + + platform { + sound-dai = <&q6routing>; + }; + + codec { + sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&wsamacro 0>; + }; + }; + + va-dai-link { + link-name = "VA Capture"; + cpu { + sound-dai = <&q6afedai VA_CODEC_DMA_TX_0>; + }; + + platform { + sound-dai = <&q6routing>; + }; + + codec { + sound-dai = <&vamacro 0>; + }; + }; +}; + /* CAN */ &spi0 { status = "okay"; @@ -792,3 +910,10 @@ vdda-phy-supply = <&vreg_l9a_1p2>; vdda-pll-supply = <&vreg_l18a_0p92>; }; + +&vamacro { + pinctrl-0 = <&cdc_dmic01_clk_active &cdc_dmic01_data_active>; + pinctrl-names = "default"; + vdd-micb-supply = <&vreg_s4a_1p8>; + qcom,dmic-sample-rate = <600000>; +};
This patch add support for two WSA881X smart speakers attached via Soundwire and a DMIC0 on the main board. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> --- arch/arm64/boot/dts/qcom/qrb5165-rb5.dts | 125 +++++++++++++++++++++++ 1 file changed, 125 insertions(+) -- 2.21.0