1// SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) 2/* 3 * msm8916-modem-qdsp6.dtsi describes the typical modem setup on MSM8916 devices 4 * (or similar SoCs) with audio routed via the QDSP6 services provided by the 5 * modem firmware. The digital/analog codec in the SoC/PMIC is used by default, 6 * but boards can define additional codecs by adding additional backend DAI links. 7 */ 8 9#include <dt-bindings/sound/qcom,q6afe.h> 10#include <dt-bindings/sound/qcom,q6asm.h> 11 12&apr { 13 status = "okay"; 14}; 15 16&bam_dmux { 17 status = "okay"; 18}; 19 20&bam_dmux_dma { 21 status = "okay"; 22}; 23 24&lpass { 25 status = "reserved"; /* Controlled by QDSP6 */ 26}; 27 28&lpass_codec { 29 status = "okay"; 30}; 31 32&mba_mem { 33 status = "okay"; 34}; 35 36&mpss { 37 status = "okay"; 38}; 39 40&mpss_mem { 41 status = "okay"; 42}; 43 44&pm8916_codec { 45 status = "okay"; 46}; 47 48&q6afedai { 49 dai@16 { 50 reg = <PRIMARY_MI2S_RX>; 51 qcom,sd-lines = <0 1>; 52 }; 53 dai@20 { 54 reg = <TERTIARY_MI2S_TX>; 55 qcom,sd-lines = <0 1>; 56 }; 57}; 58 59&q6asmdai { 60 dai@0 { 61 reg = <0>; 62 direction = <Q6ASM_DAI_RX>; 63 }; 64 dai@1 { 65 reg = <1>; 66 direction = <Q6ASM_DAI_TX>; 67 }; 68 dai@2 { 69 reg = <2>; 70 direction = <Q6ASM_DAI_RX>; 71 }; 72 dai@3 { 73 reg = <3>; 74 direction = <Q6ASM_DAI_RX>; 75 is-compress-dai; 76 }; 77}; 78 79&sound { 80 compatible = "qcom,msm8916-qdsp6-sndcard"; 81 model = "msm8916"; 82 83 pinctrl-0 = <&cdc_pdm_default>; 84 pinctrl-1 = <&cdc_pdm_sleep>; 85 pinctrl-names = "default", "sleep"; 86 87 status = "okay"; 88 89 frontend0-dai-link { 90 link-name = "MultiMedia1"; 91 92 cpu { 93 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>; 94 }; 95 }; 96 97 frontend1-dai-link { 98 link-name = "MultiMedia2"; 99 100 cpu { 101 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>; 102 }; 103 }; 104 105 frontend2-dai-link { 106 link-name = "MultiMedia3"; 107 108 cpu { 109 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>; 110 }; 111 }; 112 113 frontend3-dai-link { 114 link-name = "MultiMedia4"; 115 116 cpu { 117 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA4>; 118 }; 119 }; 120 121 sound_link_backend0: backend0-dai-link { 122 link-name = "Primary MI2S"; 123 124 cpu { 125 sound-dai = <&q6afedai PRIMARY_MI2S_RX>; 126 }; 127 platform { 128 sound-dai = <&q6routing>; 129 }; 130 codec { 131 sound-dai = <&lpass_codec 0>, <&pm8916_codec 0>; 132 }; 133 }; 134 135 sound_link_backend1: backend1-dai-link { 136 link-name = "Tertiary MI2S"; 137 138 cpu { 139 sound-dai = <&q6afedai TERTIARY_MI2S_TX>; 140 }; 141 platform { 142 sound-dai = <&q6routing>; 143 }; 144 codec { 145 sound-dai = <&lpass_codec 1>, <&pm8916_codec 1>; 146 }; 147 }; 148}; 149