]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
arm64: dts: qcom: qrb5165-rb5: Add Audio support
authorSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Wed, 2 Dec 2020 18:07:41 +0000 (18:07 +0000)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Mon, 28 Dec 2020 18:14:25 +0000 (12:14 -0600)
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>
Tested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20201202180741.16386-7-srinivas.kandagatla@linaro.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
arch/arm64/boot/dts/qcom/sm8250.dtsi

index 1ade62d98f98e044c492564e8414593426cb0b52..477ff91dc460ec498477e6594be5e72229ee6460 100644 (file)
@@ -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"
        };
 };
 
+&adsp {
+       status = "okay";
+       firmware-name = "qcom/sm8250/adsp.mbn";
+};
+
 &apps_rsc {
        pm8009-rpmh-regulators {
                compatible = "qcom,pm8009-rpmh-regulators";
        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";
        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-sndcard";
+       pinctrl-0 = <&tert_mi2s_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";
        vdda-phy-supply = <&vreg_l9a_1p2>;
        vdda-pll-supply = <&vreg_l18a_0p92>;
 };
+
+&vamacro {
+       pinctrl-0 = <&dmic01_active>;
+       pinctrl-names = "default";
+       vdd-micb-supply = <&vreg_s4a_1p8>;
+       qcom,dmic-sample-rate = <600000>;
+};
index ed5386214355e52d4971e21c1f2c6494bd7ac7ee..9af0bb76f24a5f18e98d78013aa24ec4d972e02c 100644 (file)
                        };
                };
 
+               sound: sound {
+               };
+
                usb_1_hsphy: phy@88e3000 {
                        compatible = "qcom,sm8250-usb-hs-phy",
                                     "qcom,usb-snps-hs-7nm-phy";