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