On 09/06/2022 11:54, Alexander Martinz wrote: > This patch adds audio support for the SHIFT6mq phone. > > The primary microphone and headphone jack are handled by the > SDM845 sound card and WCD9340 codec. > > The primary speaker needs to go through the TFA9890 speaker > amplifier. Thank you for your patch. There is something to discuss/improve. > > Signed-off-by: Alexander Martinz <amartinz@xxxxxxxxxxxxxxx> > Tested-by: Dylan Van Assche <me@xxxxxxxxxxxxxxxxx> Same problem. > --- > .../boot/dts/qcom/sdm845-shift-axolotl.dts | 141 ++++++++++++++++++ > 1 file changed, 141 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts b/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts > index fa72f23ef0c2..8c4967d6d0e3 100644 > --- a/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts > +++ b/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts > @@ -8,6 +8,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 "sdm845.dtsi" > #include "pm8998.dtsi" > #include "pmi8998.dtsi" > @@ -492,6 +494,19 @@ touchscreen@38 { > }; > }; > > +&i2c11 { > + status = "okay"; > + clock-frequency = <400000>; > + > + tfa9890_codec: tfa9890@34 { Generic node names please, so I guess it is: codec or audio-codec > + compatible = "nxp,tfa9890"; > + reg = <0x34>; > + vddd-supply = <&vreg_s4a_1p8>; > + reset-gpio = <&tlmm 7 0>; > + #sound-dai-cells = <1>; > + }; > +}; > + > &ipa { > status = "okay"; > > @@ -530,6 +545,27 @@ volume_down_resin: resin { > }; > }; > > +&q6afedai { > + qi2s@22 { > + reg = <22>; > + qcom,sd-lines = <0>; > + }; > +}; > + > +&q6asmdai { > + dai@0 { > + reg = <0>; > + }; > + > + dai@1 { > + reg = <1>; > + }; > + > + dai@2 { > + reg = <2>; > + }; > +}; > + > /* > * Prevent garbage data on bluetooth UART lines > */ > @@ -578,6 +614,84 @@ &qupv3_id_1 { > status = "okay"; > }; > > +&sound { > + model = "SHIFT6mq"; > + compatible = "qcom,sdm845-sndcard"; > + pinctrl-0 = <&quat_mi2s_active &quat_mi2s_sd0_active>; > + pinctrl-names = "default"; > + > + 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>; > + }; > + }; > + > + speaker-dai-link { > + link-name = "Speaker Playback"; > + codec { > + sound-dai = <&tfa9890_codec 0>; > + }; > + > + cpu { > + sound-dai = <&q6afedai QUATERNARY_MI2S_RX>; > + }; > + > + platform { > + sound-dai = <&q6routing>; > + }; > + }; > + > + slim-dai-link { > + link-name = "SLIM Playback"; > + codec { > + sound-dai = <&wcd9340 0>; > + }; > + > + cpu { > + sound-dai = <&q6afedai SLIMBUS_0_RX>; > + }; > + > + platform { > + sound-dai = <&q6routing>; > + }; > + }; > + > + slimcap-dai-link { > + link-name = "SLIM Capture"; > + codec { > + sound-dai = <&wcd9340 1>; > + }; > + > + cpu { > + sound-dai = <&q6afedai SLIMBUS_0_TX>; > + }; > + > + platform { > + sound-dai = <&q6routing>; > + }; > + }; > +}; > + > &tlmm { > gpio-reserved-ranges = <0 4>, <81 4>; > > @@ -686,6 +800,15 @@ config { > bias-pull-down; > }; > }; > + > + wcd_intr_default: wcd_intr_default { No underscores in node names. Instead hyphens. > + pins = <54>; > + function = "gpio"; > + > + input-enable; > + bias-pull-down; > + drive-strength = <2>; > + }; > }; Best regards, Krzysztof