Files
cubelinux-kernel/arch/arm64/boot/dts/qcom/msm8916-modem-qdsp6.dtsi
T
Greg Kroah-Hartman 598cf27219 Linux 6.19.3
Link: https://lore.kernel.org/r/20260217200002.683975158@linuxfoundation.org
Tested-by: Florian Fainelli <florian.fainelli@broadcom.com>
Tested-by: Takeshi Ogasawara <takeshi.ogasawara@futuring-girl.com>
Tested-by: Peter Schneider <pschneider1968@googlemail.com>
Tested-by: Jon Hunter <jonathanh@nvidia.com>
Tested-by: Salvatore Bonaccorso <carnil@debian.org>
Tested-by: Brett A C Sheffield <bacs@librecast.net>
Tested-by: Mark Brown <broonie@kernel.org>
Tested-by: Luna Jernberg <droidbittin@gmail.com>
Tested-by: Ronald Warsow <rwarsow@gmx.de>
Tested-by: Justin M. Forbes <jforbes@fedoraproject.org>
Tested-by: Ron Economos <re@w6rz.net>
Tested-by: Miguel Ojeda <ojeda@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-02-19 16:33:27 +01:00

149 lines
2.5 KiB
Devicetree

// 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 by adding additional backend DAI links.
*/
#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";
};
&mba_mem {
status = "okay";
};
&mpss {
status = "okay";
};
&mpss_mem {
status = "okay";
};
&pm8916_codec {
status = "okay";
};
&q6afedai {
dai@16 {
reg = <PRIMARY_MI2S_RX>;
qcom,sd-lines = <0 1>;
};
dai@20 {
reg = <TERTIARY_MI2S_TX>;
qcom,sd-lines = <0 1>;
};
};
&q6asmdai {
dai@0 {
reg = <MSM_FRONTEND_DAI_MULTIMEDIA1>;
direction = <Q6ASM_DAI_RX>;
};
dai@1 {
reg = <MSM_FRONTEND_DAI_MULTIMEDIA2>;
direction = <Q6ASM_DAI_TX>;
};
dai@2 {
reg = <MSM_FRONTEND_DAI_MULTIMEDIA3>;
direction = <Q6ASM_DAI_RX>;
};
dai@3 {
reg = <MSM_FRONTEND_DAI_MULTIMEDIA4>;
direction = <Q6ASM_DAI_RX>;
is-compress-dai;
};
};
&sound {
compatible = "qcom,msm8916-qdsp6-sndcard";
model = "msm8916";
pinctrl-0 = <&cdc_pdm_default>;
pinctrl-1 = <&cdc_pdm_sleep>;
pinctrl-names = "default", "sleep";
status = "okay";
frontend0-dai-link {
link-name = "MultiMedia1";
cpu {
sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
};
};
frontend1-dai-link {
link-name = "MultiMedia2";
cpu {
sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>;
};
};
frontend2-dai-link {
link-name = "MultiMedia3";
cpu {
sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>;
};
};
frontend3-dai-link {
link-name = "MultiMedia4";
cpu {
sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA4>;
};
};
sound_link_backend0: backend0-dai-link {
link-name = "Primary MI2S";
cpu {
sound-dai = <&q6afedai PRIMARY_MI2S_RX>;
};
platform {
sound-dai = <&q6routing>;
};
codec {
sound-dai = <&lpass_codec 0>, <&pm8916_codec 0>;
};
};
sound_link_backend1: backend1-dai-link {
link-name = "Tertiary MI2S";
cpu {
sound-dai = <&q6afedai TERTIARY_MI2S_TX>;
};
platform {
sound-dai = <&q6routing>;
};
codec {
sound-dai = <&lpass_codec 1>, <&pm8916_codec 1>;
};
};
};