File Index
Files and directories
Sign in
FILE

qcom,apq8016-sbc-sndcard.yaml

File preview with syntax highlighting.

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