Commit 45021d35 authored by Srinivas Kandagatla's avatar Srinivas Kandagatla Committed by Bjorn Andersson
Browse files

arm64: dts: qcom: c630: Enable audio support



This patch add support to audio via WSA881x Speakers and Headset.

Reviewed-by: default avatarVinod Koul <vkoul@kernel.org>
Tested-by: default avatarVinod Koul <vkoul@kernel.org>
Signed-off-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20200312143024.11059-4-srinivas.kandagatla@linaro.org


[bjorn: Sorted nodes]
Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
parent 3898fdc1
Loading
Loading
Loading
Loading
+114 −0
Original line number Diff line number Diff line
@@ -7,7 +7,10 @@

/dts-v1/;

#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 "sdm845.dtsi"
#include "pm8998.dtsi"

@@ -353,6 +356,75 @@
	status = "okay";
};

&q6asmdai {
	dai@0 {
		reg = <0>;
		direction = <2>;
	};

	dai@1 {
		reg = <1>;
		direction = <1>;
	};
};

&sound {
	compatible = "qcom,db845c-sndcard";
	model = "Lenovo-YOGA-C630-13Q50";

	audio-routing =
		"RX_BIAS", "MCLK",
		"AMIC2", "MIC BIAS2",
		"SpkrLeft IN", "SPK1 OUT",
		"SpkrRight IN", "SPK2 OUT",
		"MM_DL1",  "MultiMedia1 Playback",
		"MultiMedia2 Capture", "MM_UL2";

	mm1-dai-link {
		link-name = "MultiMedia1";
		cpu {
			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA1>;
		};
	};

	mm2-dai-link {
		link-name = "MultiMedia2";
		cpu {
			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA2>;
		};
	};

	slim-dai-link {
		link-name = "SLIM Playback";
		cpu {
			sound-dai = <&q6afedai SLIMBUS_0_RX>;
		};

		platform {
			sound-dai = <&q6routing>;
		};

		codec {
			sound-dai =  <&left_spkr>, <&right_spkr>, <&swm 0>, <&wcd9340 0>;
		};
	};

	slimcap-dai-link {
		link-name = "SLIM Capture";
		cpu {
			sound-dai = <&q6afedai SLIMBUS_0_TX>;
		};

		platform {
			sound-dai = <&q6routing>;
		};

		codec {
			sound-dai = <&wcd9340 1>;
		};
	};
};

&tlmm {
	gpio-reserved-ranges = <0 4>, <81 4>;

@@ -382,6 +454,15 @@
		bias-pull-up;
		drive-strength = <2>;
	};

	wcd_intr_default: wcd_intr_default {
		pins = <54>;
		function = "gpio";

		input-enable;
		bias-pull-down;
		drive-strength = <2>;
	};
};

&uart6 {
@@ -465,3 +546,36 @@
	vdda-phy-supply = <&vdda_usb2_ss_1p2>;
	vdda-pll-supply = <&vdda_usb2_ss_core>;
};

&wcd9340{
	pinctrl-0 = <&wcd_intr_default>;
	pinctrl-names = "default";
	clock-names = "extclk";
	clocks = <&rpmhcc RPMH_LN_BB_CLK2>;
	reset-gpios = <&tlmm 64 0>;
	vdd-buck-supply = <&vreg_s4a_1p8>;
	vdd-buck-sido-supply = <&vreg_s4a_1p8>;
	vdd-tx-supply = <&vreg_s4a_1p8>;
	vdd-rx-supply = <&vreg_s4a_1p8>;
	vdd-io-supply = <&vreg_s4a_1p8>;

	swm: swm@c85 {
		left_spkr: wsa8810-left{
			compatible = "sdw10217211000";
			reg = <0 3>;
			powerdown-gpios = <&wcdgpio 2 GPIO_ACTIVE_HIGH>;
			#thermal-sensor-cells = <0>;
			sound-name-prefix = "SpkrLeft";
			#sound-dai-cells = <0>;
		};

		right_spkr: wsa8810-right{
			compatible = "sdw10217211000";
			powerdown-gpios = <&wcdgpio 3 GPIO_ACTIVE_HIGH>;
			reg = <0 4>;
			#thermal-sensor-cells = <0>;
			sound-name-prefix = "SpkrRight";
			#sound-dai-cells = <0>;
		};
	};
};