1 # SPDX-License-Identifier: GPL-2.0-only OR BSD 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/sound/qcom, 4 $id: http://devicetree.org/schemas/sound/qcom,apq8016-sbc-sndcard.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: Qualcomm APQ8016 and similar sound card 7 title: Qualcomm APQ8016 and similar sound cards 8 8 9 maintainers: 9 maintainers: 10 - Srinivas Kandagatla <srinivas.kandagatla@li 10 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 11 - Stephan Gerhold <stephan@gerhold.net> 11 - Stephan Gerhold <stephan@gerhold.net> 12 12 13 properties: 13 properties: 14 compatible: 14 compatible: 15 enum: 15 enum: 16 - qcom,apq8016-sbc-sndcard 16 - qcom,apq8016-sbc-sndcard 17 - qcom,msm8916-qdsp6-sndcard 17 - qcom,msm8916-qdsp6-sndcard 18 18 19 reg: 19 reg: 20 items: 20 items: 21 - description: Microphone I/O mux regist 21 - description: Microphone I/O mux register address 22 - description: Speaker I/O mux register 22 - description: Speaker I/O mux register address 23 23 24 reg-names: 24 reg-names: 25 items: 25 items: 26 - const: mic-iomux 26 - const: mic-iomux 27 - const: spkr-iomux 27 - const: spkr-iomux 28 28 29 audio-routing: 29 audio-routing: 30 $ref: /schemas/types.yaml#/definitions/non 30 $ref: /schemas/types.yaml#/definitions/non-unique-string-array 31 description: 31 description: 32 A list of the connections between audio 32 A list of the connections between audio components. Each entry is a 33 pair of strings, the first being the con 33 pair of strings, the first being the connection's sink, the second 34 being the connection's source. Valid nam 34 being the connection's source. Valid names could be power supplies, 35 MicBias of codec and the jacks on the bo 35 MicBias of codec and the jacks on the board. 36 36 37 aux-devs: 37 aux-devs: 38 $ref: /schemas/types.yaml#/definitions/pha 38 $ref: /schemas/types.yaml#/definitions/phandle-array 39 description: | 39 description: | 40 List of phandles pointing to auxiliary d 40 List of phandles pointing to auxiliary devices, such 41 as amplifiers, to be added to the sound 41 as amplifiers, to be added to the sound card. 42 42 43 model: 43 model: 44 $ref: /schemas/types.yaml#/definitions/str 44 $ref: /schemas/types.yaml#/definitions/string 45 description: User visible long sound card 45 description: User visible long sound card name 46 46 47 pin-switches: 47 pin-switches: 48 description: List of widget names for whic 48 description: List of widget names for which pin switches should be created. 49 $ref: /schemas/types.yaml#/definitions/str 49 $ref: /schemas/types.yaml#/definitions/string-array 50 50 51 widgets: 51 widgets: 52 description: User specified audio sound wi 52 description: User specified audio sound widgets. 53 $ref: /schemas/types.yaml#/definitions/non 53 $ref: /schemas/types.yaml#/definitions/non-unique-string-array 54 54 55 patternProperties: 55 patternProperties: 56 ".*-dai-link$": 56 ".*-dai-link$": 57 description: 57 description: 58 Each subnode represents a dai link. Subn 58 Each subnode represents a dai link. Subnodes of each dai links would be 59 cpu/codec dais. 59 cpu/codec dais. 60 60 61 type: object 61 type: object 62 62 63 properties: 63 properties: 64 link-name: 64 link-name: 65 description: Indicates dai-link name a 65 description: Indicates dai-link name and PCM stream name. 66 $ref: /schemas/types.yaml#/definitions 66 $ref: /schemas/types.yaml#/definitions/string 67 maxItems: 1 67 maxItems: 1 68 68 69 cpu: 69 cpu: 70 description: Holds subnode which indic 70 description: Holds subnode which indicates cpu dai. 71 type: object 71 type: object 72 additionalProperties: false 72 additionalProperties: false 73 73 74 properties: 74 properties: 75 sound-dai: 75 sound-dai: 76 maxItems: 1 76 maxItems: 1 77 77 78 platform: 78 platform: 79 description: Holds subnode which indic 79 description: Holds subnode which indicates platform dai. 80 type: object 80 type: object 81 additionalProperties: false 81 additionalProperties: false 82 82 83 properties: 83 properties: 84 sound-dai: 84 sound-dai: 85 maxItems: 1 85 maxItems: 1 86 86 87 codec: 87 codec: 88 description: Holds subnode which indic 88 description: Holds subnode which indicates codec dai. 89 type: object 89 type: object 90 additionalProperties: false 90 additionalProperties: false 91 91 92 properties: 92 properties: 93 sound-dai: 93 sound-dai: 94 minItems: 1 94 minItems: 1 95 maxItems: 8 95 maxItems: 8 96 96 97 required: 97 required: 98 - link-name 98 - link-name 99 - cpu 99 - cpu 100 100 101 additionalProperties: false 101 additionalProperties: false 102 102 103 required: 103 required: 104 - compatible 104 - compatible 105 - reg 105 - reg 106 - reg-names 106 - reg-names 107 - model 107 - model 108 108 109 additionalProperties: false 109 additionalProperties: false 110 110 111 examples: 111 examples: 112 - | 112 - | 113 #include <dt-bindings/sound/qcom,lpass.h> 113 #include <dt-bindings/sound/qcom,lpass.h> 114 sound@7702000 { 114 sound@7702000 { 115 compatible = "qcom,apq8016-sbc-sndcard 115 compatible = "qcom,apq8016-sbc-sndcard"; 116 reg = <0x07702000 0x4>, <0x07702004 0x 116 reg = <0x07702000 0x4>, <0x07702004 0x4>; 117 reg-names = "mic-iomux", "spkr-iomux"; 117 reg-names = "mic-iomux", "spkr-iomux"; 118 118 119 model = "DB410c"; 119 model = "DB410c"; 120 audio-routing = 120 audio-routing = 121 "AMIC2", "MIC BIAS Internal2", 121 "AMIC2", "MIC BIAS Internal2", 122 "AMIC3", "MIC BIAS External1"; 122 "AMIC3", "MIC BIAS External1"; 123 123 124 pinctrl-0 = <&cdc_pdm_lines_act &ext_s 124 pinctrl-0 = <&cdc_pdm_lines_act &ext_sec_tlmm_lines_act &ext_mclk_tlmm_lines_act>; 125 pinctrl-1 = <&cdc_pdm_lines_sus &ext_s 125 pinctrl-1 = <&cdc_pdm_lines_sus &ext_sec_tlmm_lines_sus &ext_mclk_tlmm_lines_sus>; 126 pinctrl-names = "default", "sleep"; 126 pinctrl-names = "default", "sleep"; 127 127 128 quaternary-dai-link { 128 quaternary-dai-link { 129 link-name = "ADV7533"; 129 link-name = "ADV7533"; 130 cpu { 130 cpu { 131 sound-dai = <&lpass MI2S_QUATE 131 sound-dai = <&lpass MI2S_QUATERNARY>; 132 }; 132 }; 133 codec { 133 codec { 134 sound-dai = <&adv_bridge 0>; 134 sound-dai = <&adv_bridge 0>; 135 }; 135 }; 136 }; 136 }; 137 137 138 primary-dai-link { 138 primary-dai-link { 139 link-name = "WCD"; 139 link-name = "WCD"; 140 cpu { 140 cpu { 141 sound-dai = <&lpass MI2S_PRIMA 141 sound-dai = <&lpass MI2S_PRIMARY>; 142 }; 142 }; 143 codec { 143 codec { 144 sound-dai = <&lpass_codec 0>, 144 sound-dai = <&lpass_codec 0>, <&wcd_codec 0>; 145 }; 145 }; 146 }; 146 }; 147 147 148 tertiary-dai-link { 148 tertiary-dai-link { 149 link-name = "WCD-Capture"; 149 link-name = "WCD-Capture"; 150 cpu { 150 cpu { 151 sound-dai = <&lpass MI2S_TERTI 151 sound-dai = <&lpass MI2S_TERTIARY>; 152 }; 152 }; 153 codec { 153 codec { 154 sound-dai = <&lpass_codec 1>, 154 sound-dai = <&lpass_codec 1>, <&wcd_codec 1>; 155 }; 155 }; 156 }; 156 }; 157 }; 157 }; 158 158 159 - | 159 - | 160 #include <dt-bindings/sound/qcom,q6afe.h> 160 #include <dt-bindings/sound/qcom,q6afe.h> 161 #include <dt-bindings/sound/qcom,q6asm.h> 161 #include <dt-bindings/sound/qcom,q6asm.h> 162 sound@7702000 { 162 sound@7702000 { 163 compatible = "qcom,msm8916-qdsp6-sndca 163 compatible = "qcom,msm8916-qdsp6-sndcard"; 164 reg = <0x07702000 0x4>, <0x07702004 0x 164 reg = <0x07702000 0x4>, <0x07702004 0x4>; 165 reg-names = "mic-iomux", "spkr-iomux"; 165 reg-names = "mic-iomux", "spkr-iomux"; 166 166 167 model = "msm8916"; 167 model = "msm8916"; 168 widgets = 168 widgets = 169 "Speaker", "Speaker", 169 "Speaker", "Speaker", 170 "Headphone", "Headphones"; 170 "Headphone", "Headphones"; 171 pin-switches = "Speaker"; 171 pin-switches = "Speaker"; 172 audio-routing = 172 audio-routing = 173 "Speaker", "Speaker Amp OUT", 173 "Speaker", "Speaker Amp OUT", 174 "Speaker Amp IN", "HPH_R", 174 "Speaker Amp IN", "HPH_R", 175 "Headphones", "HPH_L", 175 "Headphones", "HPH_L", 176 "Headphones", "HPH_R", 176 "Headphones", "HPH_R", 177 "AMIC1", "MIC BIAS Internal1", 177 "AMIC1", "MIC BIAS Internal1", 178 "AMIC2", "MIC BIAS Internal2", 178 "AMIC2", "MIC BIAS Internal2", 179 "AMIC3", "MIC BIAS Internal3"; 179 "AMIC3", "MIC BIAS Internal3"; 180 aux-devs = <&speaker_amp>; 180 aux-devs = <&speaker_amp>; 181 181 182 pinctrl-names = "default", "sleep"; 182 pinctrl-names = "default", "sleep"; 183 pinctrl-0 = <&cdc_pdm_lines_act>; 183 pinctrl-0 = <&cdc_pdm_lines_act>; 184 pinctrl-1 = <&cdc_pdm_lines_sus>; 184 pinctrl-1 = <&cdc_pdm_lines_sus>; 185 185 186 mm1-dai-link { 186 mm1-dai-link { 187 link-name = "MultiMedia1"; 187 link-name = "MultiMedia1"; 188 cpu { 188 cpu { 189 sound-dai = <&q6asmdai MSM_FRO 189 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>; 190 }; 190 }; 191 }; 191 }; 192 192 193 primary-dai-link { 193 primary-dai-link { 194 link-name = "Primary MI2S"; 194 link-name = "Primary MI2S"; 195 cpu { 195 cpu { 196 sound-dai = <&q6afedai PRIMARY 196 sound-dai = <&q6afedai PRIMARY_MI2S_RX>; 197 }; 197 }; 198 platform { 198 platform { 199 sound-dai = <&q6routing>; 199 sound-dai = <&q6routing>; 200 }; 200 }; 201 codec { 201 codec { 202 sound-dai = <&lpass_codec 0>, 202 sound-dai = <&lpass_codec 0>, <&wcd_codec 0>; 203 }; 203 }; 204 }; 204 }; 205 }; 205 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.