On Sun, 14 Mar 2021 at 22:32, Joel Selvaraj <jo@xxxxxxxxxxx> wrote: > > 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: Amit Pundir <amit.pundir@xxxxxxxxxx> > Signed-off-by: Joel Selvaraj <jo@xxxxxxxxxxx> > --- > .../boot/dts/qcom/sdm845-xiaomi-beryllium.dts | 117 ++++++++++++++++++ > 1 file changed, 117 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts > index 86cbae63eaf7..5b5786595cdb 100644 > --- a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts > +++ b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts > @@ -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" > @@ -240,6 +242,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"; > }; > @@ -257,6 +281,73 @@ &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", > + "MM_DL1", "MultiMedia1 Playback", > + "MM_DL2", "MultiMedia2 Playback", > + "MultiMedia3 Capture", "MM_UL3"; > + > + 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>; > > @@ -285,6 +376,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 { > @@ -345,6 +445,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"; > > -- > 2.25.1 >