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:
146e3b196eSSrinivasa Rao Mandadapu    enum:
156e3b196eSSrinivasa Rao Mandadapu      - qcom,sc7280-lpass-rx-macro
166e3b196eSSrinivasa Rao Mandadapu      - qcom,sm8250-lpass-rx-macro
17473d218bSSrinivas Kandagatla      - qcom,sm8450-lpass-rx-macro
180fc109f8SKrzysztof Kozlowski      - qcom,sm8550-lpass-rx-macro
19473d218bSSrinivas Kandagatla      - qcom,sc8280xp-lpass-rx-macro
20f133de9eSSrinivas Kandagatla
21f133de9eSSrinivas Kandagatla  reg:
22f133de9eSSrinivas Kandagatla    maxItems: 1
23f133de9eSSrinivas Kandagatla
24f133de9eSSrinivas Kandagatla  "#sound-dai-cells":
25f133de9eSSrinivas Kandagatla    const: 1
26f133de9eSSrinivas Kandagatla
27f133de9eSSrinivas Kandagatla  '#clock-cells':
28f133de9eSSrinivas Kandagatla    const: 0
29f133de9eSSrinivas Kandagatla
30f133de9eSSrinivas Kandagatla  clocks:
31*59257015SKrzysztof Kozlowski    minItems: 3
32f133de9eSSrinivas Kandagatla    maxItems: 5
33f133de9eSSrinivas Kandagatla
34f133de9eSSrinivas Kandagatla  clock-names:
35e4cf7805SKrzysztof Kozlowski    minItems: 3
36e4cf7805SKrzysztof Kozlowski    maxItems: 5
37f133de9eSSrinivas Kandagatla
38f133de9eSSrinivas Kandagatla  clock-output-names:
39bcdc73e1SKrzysztof Kozlowski    maxItems: 1
40f133de9eSSrinivas Kandagatla
416619c7d4SSrinivasa Rao Mandadapu  power-domains:
426619c7d4SSrinivasa Rao Mandadapu    maxItems: 2
436619c7d4SSrinivasa Rao Mandadapu
446619c7d4SSrinivasa Rao Mandadapu  power-domain-names:
456619c7d4SSrinivasa Rao Mandadapu    items:
466619c7d4SSrinivasa Rao Mandadapu      - const: macro
476619c7d4SSrinivasa Rao Mandadapu      - const: dcodec
486619c7d4SSrinivasa Rao Mandadapu
49f133de9eSSrinivas Kandagatlarequired:
50f133de9eSSrinivas Kandagatla  - compatible
51f133de9eSSrinivas Kandagatla  - reg
52f133de9eSSrinivas Kandagatla  - "#sound-dai-cells"
53f133de9eSSrinivas Kandagatla
54e4cf7805SKrzysztof KozlowskiallOf:
55e4cf7805SKrzysztof Kozlowski  - $ref: dai-common.yaml#
56e4cf7805SKrzysztof Kozlowski  - if:
57e4cf7805SKrzysztof Kozlowski      properties:
58e4cf7805SKrzysztof Kozlowski        compatible:
59e4cf7805SKrzysztof Kozlowski          enum:
60e4cf7805SKrzysztof Kozlowski            - qcom,sc7280-lpass-rx-macro
61e4cf7805SKrzysztof Kozlowski    then:
62e4cf7805SKrzysztof Kozlowski      properties:
63e4cf7805SKrzysztof Kozlowski        clock-names:
64e4cf7805SKrzysztof Kozlowski          oneOf:
65e4cf7805SKrzysztof Kozlowski            - items:   # for ADSP based platforms
66e4cf7805SKrzysztof Kozlowski                - const: mclk
67e4cf7805SKrzysztof Kozlowski                - const: npl
68e4cf7805SKrzysztof Kozlowski                - const: macro
69e4cf7805SKrzysztof Kozlowski                - const: dcodec
70e4cf7805SKrzysztof Kozlowski                - const: fsgen
71e4cf7805SKrzysztof Kozlowski            - items:   # for ADSP bypass based platforms
72e4cf7805SKrzysztof Kozlowski                - const: mclk
73e4cf7805SKrzysztof Kozlowski                - const: npl
74e4cf7805SKrzysztof Kozlowski                - const: fsgen
75e4cf7805SKrzysztof Kozlowski
76e4cf7805SKrzysztof Kozlowski  - if:
77e4cf7805SKrzysztof Kozlowski      properties:
78e4cf7805SKrzysztof Kozlowski        compatible:
79e4cf7805SKrzysztof Kozlowski          enum:
80e4cf7805SKrzysztof Kozlowski            - qcom,sc8280xp-lpass-rx-macro
81e4cf7805SKrzysztof Kozlowski            - qcom,sm8250-lpass-rx-macro
82e4cf7805SKrzysztof Kozlowski            - qcom,sm8450-lpass-rx-macro
83e4cf7805SKrzysztof Kozlowski    then:
84e4cf7805SKrzysztof Kozlowski      properties:
85e4cf7805SKrzysztof Kozlowski        clocks:
86e4cf7805SKrzysztof Kozlowski          minItems: 5
87e4cf7805SKrzysztof Kozlowski          maxItems: 5
88e4cf7805SKrzysztof Kozlowski        clock-names:
89e4cf7805SKrzysztof Kozlowski          items:
90e4cf7805SKrzysztof Kozlowski            - const: mclk
91e4cf7805SKrzysztof Kozlowski            - const: npl
92e4cf7805SKrzysztof Kozlowski            - const: macro
93e4cf7805SKrzysztof Kozlowski            - const: dcodec
94e4cf7805SKrzysztof Kozlowski            - const: fsgen
95e4cf7805SKrzysztof Kozlowski
960fc109f8SKrzysztof Kozlowski  - if:
970fc109f8SKrzysztof Kozlowski      properties:
980fc109f8SKrzysztof Kozlowski        compatible:
990fc109f8SKrzysztof Kozlowski          enum:
1000fc109f8SKrzysztof Kozlowski            - qcom,sm8550-lpass-rx-macro
1010fc109f8SKrzysztof Kozlowski    then:
1020fc109f8SKrzysztof Kozlowski      properties:
1030fc109f8SKrzysztof Kozlowski        clocks:
1040fc109f8SKrzysztof Kozlowski          minItems: 4
1050fc109f8SKrzysztof Kozlowski          maxItems: 4
1060fc109f8SKrzysztof Kozlowski        clock-names:
1070fc109f8SKrzysztof Kozlowski          items:
1080fc109f8SKrzysztof Kozlowski            - const: mclk
1090fc109f8SKrzysztof Kozlowski            - const: macro
1100fc109f8SKrzysztof Kozlowski            - const: dcodec
1110fc109f8SKrzysztof Kozlowski            - const: fsgen
1120fc109f8SKrzysztof Kozlowski
11358ae9a2aSKrzysztof KozlowskiunevaluatedProperties: false
114f133de9eSSrinivas Kandagatla
115f133de9eSSrinivas Kandagatlaexamples:
116f133de9eSSrinivas Kandagatla  - |
117f133de9eSSrinivas Kandagatla    #include <dt-bindings/sound/qcom,q6afe.h>
118f133de9eSSrinivas Kandagatla    codec@3200000 {
119f133de9eSSrinivas Kandagatla      compatible = "qcom,sm8250-lpass-rx-macro";
120f133de9eSSrinivas Kandagatla      reg = <0x3200000 0x1000>;
121f133de9eSSrinivas Kandagatla      #sound-dai-cells = <1>;
122f133de9eSSrinivas Kandagatla      #clock-cells = <0>;
123f133de9eSSrinivas Kandagatla      clocks = <&audiocc 0>,
124f133de9eSSrinivas Kandagatla               <&audiocc 1>,
125f133de9eSSrinivas Kandagatla               <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
126f133de9eSSrinivas Kandagatla               <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
127f133de9eSSrinivas Kandagatla               <&vamacro>;
128f133de9eSSrinivas Kandagatla      clock-names = "mclk", "npl", "macro", "dcodec", "fsgen";
129f133de9eSSrinivas Kandagatla      clock-output-names = "mclk";
130f133de9eSSrinivas Kandagatla    };
131