Commit ab7f9be0 authored by Joel Selvaraj's avatar Joel Selvaraj Committed by Bjorn Andersson
Browse files

arm64: dts: qcom: sdm845-xiaomi-beryllium: Add audio support



This patch adds audio support for Xiaomi Poco F1 phone. Phone's primary
Mic and 3.5mm Headphone jack are handled through the SDM845 sound card
and WCD9340 codec.

Tested-by: default avatarAmit Pundir <amit.pundir@linaro.org>
Reviewed-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: default avatarJoel Selvaraj <jo@jsfamily.in>
Link: https://lore.kernel.org/r/BN6PR2001MB17966ED1D787FA3F4B90A1A7D95B9@BN6PR2001MB1796.namprd20.prod.outlook.com


Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
parent c572729b
Loading
Loading
Loading
Loading
+114 −0
Original line number Diff line number Diff line
@@ -5,6 +5,8 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/qcom,pmic-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"
#include "pmi8998.dtsi"
@@ -311,6 +313,28 @@ resin {
	};
};

/* QUAT I2S Uses 1 I2S SD Line for audio on TAS2559/60 amplifiers */
&q6afedai {
	qi2s@22 {
		reg = <22>;
		qcom,sd-lines = <0>;
	};
};

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

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

	dai@2 {
		reg = <2>;
	};
};

&qupv3_id_0 {
	status = "okay";
};
@@ -328,6 +352,70 @@ &sdhc_2 {
	cd-gpios = <&tlmm 126 GPIO_ACTIVE_HIGH>;
};

&sound {
	compatible = "qcom,db845c-sndcard";
	pinctrl-0 = <&quat_mi2s_active
			&quat_mi2s_sd0_active>;
	pinctrl-names = "default";
	model = "Xiaomi Poco F1";
	audio-routing =
		"RX_BIAS", "MCLK",
		"AMIC1", "MIC BIAS1",
		"AMIC2", "MIC BIAS2",
		"AMIC3", "MIC BIAS3";

	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>;
		};
	};

	mm3-dai-link {
		link-name = "MultiMedia3";
		cpu {
			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA3>;
		};
	};

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

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

		codec {
			sound-dai =  <&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>;

@@ -356,6 +444,15 @@ sdc2_card_det_n: sd-card-det-n {
		function = "gpio";
		bias-pull-up;
	};

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

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

&uart6 {
@@ -416,6 +513,23 @@ &usb_1_qmpphy {
	vdda-pll-supply = <&vreg_l1a_0p875>;
};

&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>;
	qcom,micbias1-microvolt = <2700000>;
	qcom,micbias2-microvolt = <1800000>;
	qcom,micbias3-microvolt = <2700000>;
	qcom,micbias4-microvolt = <2700000>;
};

&wifi {
	status = "okay";