On 26.09.2023 18:51, Stephan Gerhold wrote: > Most MSM8916/MSM8939 devices use very similar setups for the modem, > because most of the device-specific details are abstracted by the modem > firmware. There are several definitions (status switches, DAI links > etc) that will be exactly the same for every board. > > Introduce a common msm8916-modem-qdsp6.dtsi include that can be used to > simplify enabling the modem for such devices. By default the > digital/analog codec in the SoC/PMIC is used, but boards can define > additional codecs using the templates for Secondary and Quaternary > MI2S. > > Signed-off-by: Stephan Gerhold <stephan@xxxxxxxxxxx> > --- I'd rather see at least one usage so that you aren't introducing effectively non-compiled code.. > arch/arm64/boot/dts/qcom/msm8916-modem-qdsp6.dtsi | 163 ++++++++++++++++++++++ > 1 file changed, 163 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/msm8916-modem-qdsp6.dtsi b/arch/arm64/boot/dts/qcom/msm8916-modem-qdsp6.dtsi > new file mode 100644 > index 000000000000..ddd74d428406 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/msm8916-modem-qdsp6.dtsi > @@ -0,0 +1,163 @@ > +// SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) > +/* > + * msm8916-modem-qdsp6.dtsi describes the typical modem setup on MSM8916 devices > + * (or similar SoCs) with audio routed via the QDSP6 services provided by the > + * modem firmware. The digital/analog codec in the SoC/PMIC is used by default, > + * but boards can define additional codecs using the templates for Secondary and > + * Quaternary MI2S. > + */ > + > +#include <dt-bindings/sound/qcom,q6afe.h> > +#include <dt-bindings/sound/qcom,q6asm.h> > + > +&apr { > + status = "okay"; > +}; > + > +&bam_dmux { > + status = "okay"; > +}; > + > +&bam_dmux_dma { > + status = "okay"; > +}; > + > +&lpass { > + status = "reserved"; /* Controlled by QDSP6 */ > +}; > + > +&lpass_codec { > + status = "okay"; > +}; Any reason for it to stay disabled? > + > +&mba_mem { > + status = "okay"; > +}; > + > +&mpss { > + status = "okay"; > +}; > + > +&mpss_mem { > + status = "okay"; > +}; > + > +&pm8916_codec { > + status = "okay"; > +}; Ditto [...] > + multimedia1-dai-link { > + link-name = "MultiMedia1"; Newline before last property and subnodes, please [...] > + sound_dai_secondary: mi2s-secondary-dai-link { > + link-name = "Secondary MI2S"; > + status = "disabled"; /* Needs extra codec configuration */ Hmm.. Potential good user of /omit-if-no-ref/? Konrad