xref: /linux/Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.yaml (revision c771600c6af14749609b49565ffb4cac2959710d)
1f133de9eSSrinivas Kandagatla# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2f133de9eSSrinivas Kandagatla%YAML 1.2
3f133de9eSSrinivas Kandagatla---
4f133de9eSSrinivas Kandagatla$id: http://devicetree.org/schemas/sound/qcom,lpass-rx-macro.yaml#
5f133de9eSSrinivas Kandagatla$schema: http://devicetree.org/meta-schemas/core.yaml#
6f133de9eSSrinivas Kandagatla
7a612130cSKrzysztof Kozlowskititle: LPASS(Low Power Audio Subsystem) RX Macro audio codec
8f133de9eSSrinivas Kandagatla
9f133de9eSSrinivas Kandagatlamaintainers:
10f133de9eSSrinivas Kandagatla  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
11f133de9eSSrinivas Kandagatla
12f133de9eSSrinivas Kandagatlaproperties:
13f133de9eSSrinivas Kandagatla  compatible:
140bfa20b1SKrzysztof Kozlowski    oneOf:
150bfa20b1SKrzysztof Kozlowski      - enum:
166e3b196eSSrinivasa Rao Mandadapu          - qcom,sc7280-lpass-rx-macro
176e3b196eSSrinivasa Rao Mandadapu          - qcom,sm8250-lpass-rx-macro
18473d218bSSrinivas Kandagatla          - qcom,sm8450-lpass-rx-macro
190fc109f8SKrzysztof Kozlowski          - qcom,sm8550-lpass-rx-macro
20473d218bSSrinivas Kandagatla          - qcom,sc8280xp-lpass-rx-macro
210bfa20b1SKrzysztof Kozlowski      - items:
222f4734f3SKrzysztof Kozlowski          - enum:
232f4734f3SKrzysztof Kozlowski              - qcom,sm8650-lpass-rx-macro
24*6a646e6dSKrzysztof Kozlowski              - qcom,sm8750-lpass-rx-macro
252f4734f3SKrzysztof Kozlowski              - qcom,x1e80100-lpass-rx-macro
260bfa20b1SKrzysztof Kozlowski          - const: qcom,sm8550-lpass-rx-macro
27f133de9eSSrinivas Kandagatla
28f133de9eSSrinivas Kandagatla  reg:
29f133de9eSSrinivas Kandagatla    maxItems: 1
30f133de9eSSrinivas Kandagatla
31f133de9eSSrinivas Kandagatla  "#sound-dai-cells":
32f133de9eSSrinivas Kandagatla    const: 1
33f133de9eSSrinivas Kandagatla
34f133de9eSSrinivas Kandagatla  '#clock-cells':
35f133de9eSSrinivas Kandagatla    const: 0
36f133de9eSSrinivas Kandagatla
37f133de9eSSrinivas Kandagatla  clocks:
3859257015SKrzysztof Kozlowski    minItems: 3
39f133de9eSSrinivas Kandagatla    maxItems: 5
40f133de9eSSrinivas Kandagatla
41f133de9eSSrinivas Kandagatla  clock-names:
42e4cf7805SKrzysztof Kozlowski    minItems: 3
43e4cf7805SKrzysztof Kozlowski    maxItems: 5
44f133de9eSSrinivas Kandagatla
45f133de9eSSrinivas Kandagatla  clock-output-names:
46bcdc73e1SKrzysztof Kozlowski    maxItems: 1
47f133de9eSSrinivas Kandagatla
486619c7d4SSrinivasa Rao Mandadapu  power-domains:
496619c7d4SSrinivasa Rao Mandadapu    maxItems: 2
506619c7d4SSrinivasa Rao Mandadapu
516619c7d4SSrinivasa Rao Mandadapu  power-domain-names:
526619c7d4SSrinivasa Rao Mandadapu    items:
536619c7d4SSrinivasa Rao Mandadapu      - const: macro
546619c7d4SSrinivasa Rao Mandadapu      - const: dcodec
556619c7d4SSrinivasa Rao Mandadapu
56f133de9eSSrinivas Kandagatlarequired:
57f133de9eSSrinivas Kandagatla  - compatible
58f133de9eSSrinivas Kandagatla  - reg
59f133de9eSSrinivas Kandagatla  - "#sound-dai-cells"
60f133de9eSSrinivas Kandagatla
61e4cf7805SKrzysztof KozlowskiallOf:
62e4cf7805SKrzysztof Kozlowski  - $ref: dai-common.yaml#
63e4cf7805SKrzysztof Kozlowski  - if:
64e4cf7805SKrzysztof Kozlowski      properties:
65e4cf7805SKrzysztof Kozlowski        compatible:
66e4cf7805SKrzysztof Kozlowski          enum:
67e4cf7805SKrzysztof Kozlowski            - qcom,sc7280-lpass-rx-macro
68e4cf7805SKrzysztof Kozlowski    then:
69e4cf7805SKrzysztof Kozlowski      properties:
70e4cf7805SKrzysztof Kozlowski        clock-names:
71e4cf7805SKrzysztof Kozlowski          oneOf:
72e4cf7805SKrzysztof Kozlowski            - items:   # for ADSP based platforms
73e4cf7805SKrzysztof Kozlowski                - const: mclk
74e4cf7805SKrzysztof Kozlowski                - const: npl
75e4cf7805SKrzysztof Kozlowski                - const: macro
76e4cf7805SKrzysztof Kozlowski                - const: dcodec
77e4cf7805SKrzysztof Kozlowski                - const: fsgen
78e4cf7805SKrzysztof Kozlowski            - items:   # for ADSP bypass based platforms
79e4cf7805SKrzysztof Kozlowski                - const: mclk
80e4cf7805SKrzysztof Kozlowski                - const: npl
81e4cf7805SKrzysztof Kozlowski                - const: fsgen
82e4cf7805SKrzysztof Kozlowski
83e4cf7805SKrzysztof Kozlowski  - if:
84e4cf7805SKrzysztof Kozlowski      properties:
85e4cf7805SKrzysztof Kozlowski        compatible:
86e4cf7805SKrzysztof Kozlowski          enum:
87e4cf7805SKrzysztof Kozlowski            - qcom,sc8280xp-lpass-rx-macro
88e4cf7805SKrzysztof Kozlowski            - qcom,sm8250-lpass-rx-macro
89e4cf7805SKrzysztof Kozlowski            - qcom,sm8450-lpass-rx-macro
90e4cf7805SKrzysztof Kozlowski    then:
91e4cf7805SKrzysztof Kozlowski      properties:
92e4cf7805SKrzysztof Kozlowski        clocks:
93e4cf7805SKrzysztof Kozlowski          minItems: 5
94e4cf7805SKrzysztof Kozlowski          maxItems: 5
95e4cf7805SKrzysztof Kozlowski        clock-names:
96e4cf7805SKrzysztof Kozlowski          items:
97e4cf7805SKrzysztof Kozlowski            - const: mclk
98e4cf7805SKrzysztof Kozlowski            - const: npl
99e4cf7805SKrzysztof Kozlowski            - const: macro
100e4cf7805SKrzysztof Kozlowski            - const: dcodec
101e4cf7805SKrzysztof Kozlowski            - const: fsgen
102e4cf7805SKrzysztof Kozlowski
1030fc109f8SKrzysztof Kozlowski  - if:
1040fc109f8SKrzysztof Kozlowski      properties:
1050fc109f8SKrzysztof Kozlowski        compatible:
1060bfa20b1SKrzysztof Kozlowski          contains:
1070fc109f8SKrzysztof Kozlowski            enum:
1080fc109f8SKrzysztof Kozlowski              - qcom,sm8550-lpass-rx-macro
1090fc109f8SKrzysztof Kozlowski    then:
1100fc109f8SKrzysztof Kozlowski      properties:
1110fc109f8SKrzysztof Kozlowski        clocks:
1120fc109f8SKrzysztof Kozlowski          minItems: 4
1130fc109f8SKrzysztof Kozlowski          maxItems: 4
1140fc109f8SKrzysztof Kozlowski        clock-names:
1150fc109f8SKrzysztof Kozlowski          items:
1160fc109f8SKrzysztof Kozlowski            - const: mclk
1170fc109f8SKrzysztof Kozlowski            - const: macro
1180fc109f8SKrzysztof Kozlowski            - const: dcodec
1190fc109f8SKrzysztof Kozlowski            - const: fsgen
1200fc109f8SKrzysztof Kozlowski
12158ae9a2aSKrzysztof KozlowskiunevaluatedProperties: false
122f133de9eSSrinivas Kandagatla
123f133de9eSSrinivas Kandagatlaexamples:
124f133de9eSSrinivas Kandagatla  - |
125f133de9eSSrinivas Kandagatla    #include <dt-bindings/sound/qcom,q6afe.h>
126f133de9eSSrinivas Kandagatla    codec@3200000 {
127f133de9eSSrinivas Kandagatla      compatible = "qcom,sm8250-lpass-rx-macro";
128f133de9eSSrinivas Kandagatla      reg = <0x3200000 0x1000>;
129f133de9eSSrinivas Kandagatla      #sound-dai-cells = <1>;
130f133de9eSSrinivas Kandagatla      #clock-cells = <0>;
131f133de9eSSrinivas Kandagatla      clocks = <&audiocc 0>,
132f133de9eSSrinivas Kandagatla               <&audiocc 1>,
133f133de9eSSrinivas Kandagatla               <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
134f133de9eSSrinivas Kandagatla               <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
135f133de9eSSrinivas Kandagatla               <&vamacro>;
136f133de9eSSrinivas Kandagatla      clock-names = "mclk", "npl", "macro", "dcodec", "fsgen";
137f133de9eSSrinivas Kandagatla      clock-output-names = "mclk";
138f133de9eSSrinivas Kandagatla    };
139