Commit 590a135e authored by Srinivas Kandagatla's avatar Srinivas Kandagatla Committed by Bjorn Andersson
Browse files

arm64: dts: qcom: qrb5165-rb5: Add Audio support



This patch add support for two WSA881X smart speakers attached via Soundwire
and a DMIC0 on the main board.

Signed-off-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Tested-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20201202180741.16386-7-srinivas.kandagatla@linaro.org


Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
parent b657d372
Loading
Loading
Loading
Loading
+121 −0
Original line number Diff line number Diff line
@@ -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"
@@ -151,6 +153,11 @@ vreg_s4a_1p8: vreg-s4a-1p8 {
	};
};

&adsp {
	status = "okay";
	firmware-name = "qcom/sm8250/adsp.mbn";
};

&apps_rsc {
	pm8009-rpmh-regulators {
		compatible = "qcom,pm8009-rpmh-regulators";
@@ -611,6 +618,35 @@ &qupv3_id_2 {
	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";
@@ -625,6 +661,84 @@ &sdhc_2 {
	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";
@@ -926,3 +1040,10 @@ &usb_2_qmpphy {
	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>;
};
+3 −0
Original line number Diff line number Diff line
@@ -1722,6 +1722,9 @@ compute-cb@8 {
			};
		};

		sound: sound {
		};

		usb_1_hsphy: phy@88e3000 {
			compatible = "qcom,sm8250-usb-hs-phy",
				     "qcom,usb-snps-hs-7nm-phy";