File Index
Files and directories
Sign in
FILE

qcom,lpass-rx-macro.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.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,lpass-rx-macro.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: LPASS(Low Power Audio Subsystem) RX Macro audio codec
  8
  9maintainers:
 10  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
 11
 12properties:
 13  compatible:
 14    oneOf:
 15      - enum:
 16          - qcom,sc7280-lpass-rx-macro
 17          - qcom,sm6115-lpass-rx-macro
 18          - qcom,sm8250-lpass-rx-macro
 19          - qcom,sm8450-lpass-rx-macro
 20          - qcom,sm8550-lpass-rx-macro
 21          - qcom,sc8280xp-lpass-rx-macro
 22      - items:
 23          - enum:
 24              - qcom,kaanapali-lpass-rx-macro
 25              - qcom,sm8650-lpass-rx-macro
 26              - qcom,sm8750-lpass-rx-macro
 27              - qcom,x1e80100-lpass-rx-macro
 28          - const: qcom,sm8550-lpass-rx-macro
 29
 30  reg:
 31    maxItems: 1
 32
 33  "#sound-dai-cells":
 34    const: 1
 35
 36  '#clock-cells':
 37    const: 0
 38
 39  clocks:
 40    minItems: 3
 41    maxItems: 5
 42
 43  clock-names:
 44    minItems: 3
 45    maxItems: 5
 46
 47  clock-output-names:
 48    maxItems: 1
 49
 50  power-domains:
 51    maxItems: 2
 52
 53  power-domain-names:
 54    items:
 55      - const: macro
 56      - const: dcodec
 57
 58required:
 59  - compatible
 60  - reg
 61  - "#sound-dai-cells"
 62
 63allOf:
 64  - $ref: dai-common.yaml#
 65  - if:
 66      properties:
 67        compatible:
 68          enum:
 69            - qcom,sc7280-lpass-rx-macro
 70    then:
 71      properties:
 72        clock-names:
 73          oneOf:
 74            - items:   # for ADSP based platforms
 75                - const: mclk
 76                - const: npl
 77                - const: macro
 78                - const: dcodec
 79                - const: fsgen
 80            - items:   # for ADSP bypass based platforms
 81                - const: mclk
 82                - const: npl
 83                - const: fsgen
 84
 85  - if:
 86      properties:
 87        compatible:
 88          enum:
 89            - qcom,sm6115-lpass-rx-macro
 90    then:
 91      properties:
 92        clocks:
 93          minItems: 4
 94          maxItems: 4
 95        clock-names:
 96          items:
 97            - const: mclk
 98            - const: npl
 99            - const: dcodec
100            - const: fsgen
101
102  - if:
103      properties:
104        compatible:
105          enum:
106            - qcom,sc8280xp-lpass-rx-macro
107            - qcom,sm8250-lpass-rx-macro
108            - qcom,sm8450-lpass-rx-macro
109    then:
110      properties:
111        clocks:
112          minItems: 5
113          maxItems: 5
114        clock-names:
115          items:
116            - const: mclk
117            - const: npl
118            - const: macro
119            - const: dcodec
120            - const: fsgen
121
122  - if:
123      properties:
124        compatible:
125          contains:
126            enum:
127              - qcom,sm8550-lpass-rx-macro
128    then:
129      properties:
130        clocks:
131          minItems: 4
132          maxItems: 4
133        clock-names:
134          items:
135            - const: mclk
136            - const: macro
137            - const: dcodec
138            - const: fsgen
139
140unevaluatedProperties: false
141
142examples:
143  - |
144    #include <dt-bindings/sound/qcom,q6afe.h>
145    codec@3200000 {
146      compatible = "qcom,sm8250-lpass-rx-macro";
147      reg = <0x3200000 0x1000>;
148      #sound-dai-cells = <1>;
149      #clock-cells = <0>;
150      clocks = <&audiocc 0>,
151               <&audiocc 1>,
152               <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
153               <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
154               <&vamacro>;
155      clock-names = "mclk", "npl", "macro", "dcodec", "fsgen";
156      clock-output-names = "mclk";
157    };
~/ Read-only file preview.