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
18*0fc109f8SKrzysztof 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:
31f133de9eSSrinivas Kandagatla    maxItems: 5
32f133de9eSSrinivas Kandagatla
33f133de9eSSrinivas Kandagatla  clock-names:
34e4cf7805SKrzysztof Kozlowski    minItems: 3
35e4cf7805SKrzysztof Kozlowski    maxItems: 5
36f133de9eSSrinivas Kandagatla
37f133de9eSSrinivas Kandagatla  clock-output-names:
38bcdc73e1SKrzysztof Kozlowski    maxItems: 1
39f133de9eSSrinivas Kandagatla
406619c7d4SSrinivasa Rao Mandadapu  power-domains:
416619c7d4SSrinivasa Rao Mandadapu    maxItems: 2
426619c7d4SSrinivasa Rao Mandadapu
436619c7d4SSrinivasa Rao Mandadapu  power-domain-names:
446619c7d4SSrinivasa Rao Mandadapu    items:
456619c7d4SSrinivasa Rao Mandadapu      - const: macro
466619c7d4SSrinivasa Rao Mandadapu      - const: dcodec
476619c7d4SSrinivasa Rao Mandadapu
48f133de9eSSrinivas Kandagatlarequired:
49f133de9eSSrinivas Kandagatla  - compatible
50f133de9eSSrinivas Kandagatla  - reg
51f133de9eSSrinivas Kandagatla  - "#sound-dai-cells"
52f133de9eSSrinivas Kandagatla
53e4cf7805SKrzysztof KozlowskiallOf:
54e4cf7805SKrzysztof Kozlowski  - $ref: dai-common.yaml#
55e4cf7805SKrzysztof Kozlowski  - if:
56e4cf7805SKrzysztof Kozlowski      properties:
57e4cf7805SKrzysztof Kozlowski        compatible:
58e4cf7805SKrzysztof Kozlowski          enum:
59e4cf7805SKrzysztof Kozlowski            - qcom,sc7280-lpass-rx-macro
60e4cf7805SKrzysztof Kozlowski    then:
61e4cf7805SKrzysztof Kozlowski      properties:
62e4cf7805SKrzysztof Kozlowski        clock-names:
63e4cf7805SKrzysztof Kozlowski          oneOf:
64e4cf7805SKrzysztof Kozlowski            - items:   #for ADSP based platforms
65e4cf7805SKrzysztof Kozlowski                - const: mclk
66e4cf7805SKrzysztof Kozlowski                - const: npl
67e4cf7805SKrzysztof Kozlowski                - const: macro
68e4cf7805SKrzysztof Kozlowski                - const: dcodec
69e4cf7805SKrzysztof Kozlowski                - const: fsgen
70e4cf7805SKrzysztof Kozlowski            - items:   #for ADSP bypass based platforms
71e4cf7805SKrzysztof Kozlowski                - const: mclk
72e4cf7805SKrzysztof Kozlowski                - const: npl
73e4cf7805SKrzysztof Kozlowski                - const: fsgen
74e4cf7805SKrzysztof Kozlowski
75e4cf7805SKrzysztof Kozlowski  - if:
76e4cf7805SKrzysztof Kozlowski      properties:
77e4cf7805SKrzysztof Kozlowski        compatible:
78e4cf7805SKrzysztof Kozlowski          enum:
79e4cf7805SKrzysztof Kozlowski            - qcom,sc8280xp-lpass-rx-macro
80e4cf7805SKrzysztof Kozlowski            - qcom,sm8250-lpass-rx-macro
81e4cf7805SKrzysztof Kozlowski            - qcom,sm8450-lpass-rx-macro
82e4cf7805SKrzysztof Kozlowski    then:
83e4cf7805SKrzysztof Kozlowski      properties:
84e4cf7805SKrzysztof Kozlowski        clocks:
85e4cf7805SKrzysztof Kozlowski          minItems: 5
86e4cf7805SKrzysztof Kozlowski          maxItems: 5
87e4cf7805SKrzysztof Kozlowski        clock-names:
88e4cf7805SKrzysztof Kozlowski          items:
89e4cf7805SKrzysztof Kozlowski            - const: mclk
90e4cf7805SKrzysztof Kozlowski            - const: npl
91e4cf7805SKrzysztof Kozlowski            - const: macro
92e4cf7805SKrzysztof Kozlowski            - const: dcodec
93e4cf7805SKrzysztof Kozlowski            - const: fsgen
94e4cf7805SKrzysztof Kozlowski
95*0fc109f8SKrzysztof Kozlowski  - if:
96*0fc109f8SKrzysztof Kozlowski      properties:
97*0fc109f8SKrzysztof Kozlowski        compatible:
98*0fc109f8SKrzysztof Kozlowski          enum:
99*0fc109f8SKrzysztof Kozlowski            - qcom,sm8550-lpass-rx-macro
100*0fc109f8SKrzysztof Kozlowski    then:
101*0fc109f8SKrzysztof Kozlowski      properties:
102*0fc109f8SKrzysztof Kozlowski        clocks:
103*0fc109f8SKrzysztof Kozlowski          minItems: 4
104*0fc109f8SKrzysztof Kozlowski          maxItems: 4
105*0fc109f8SKrzysztof Kozlowski        clock-names:
106*0fc109f8SKrzysztof Kozlowski          items:
107*0fc109f8SKrzysztof Kozlowski            - const: mclk
108*0fc109f8SKrzysztof Kozlowski            - const: macro
109*0fc109f8SKrzysztof Kozlowski            - const: dcodec
110*0fc109f8SKrzysztof Kozlowski            - const: fsgen
111*0fc109f8SKrzysztof Kozlowski
11258ae9a2aSKrzysztof KozlowskiunevaluatedProperties: false
113f133de9eSSrinivas Kandagatla
114f133de9eSSrinivas Kandagatlaexamples:
115f133de9eSSrinivas Kandagatla  - |
116f133de9eSSrinivas Kandagatla    #include <dt-bindings/sound/qcom,q6afe.h>
117f133de9eSSrinivas Kandagatla    codec@3200000 {
118f133de9eSSrinivas Kandagatla      compatible = "qcom,sm8250-lpass-rx-macro";
119f133de9eSSrinivas Kandagatla      reg = <0x3200000 0x1000>;
120f133de9eSSrinivas Kandagatla      #sound-dai-cells = <1>;
121f133de9eSSrinivas Kandagatla      #clock-cells = <0>;
122f133de9eSSrinivas Kandagatla      clocks = <&audiocc 0>,
123f133de9eSSrinivas Kandagatla               <&audiocc 1>,
124f133de9eSSrinivas Kandagatla               <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
125f133de9eSSrinivas Kandagatla               <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
126f133de9eSSrinivas Kandagatla               <&vamacro>;
127f133de9eSSrinivas Kandagatla      clock-names = "mclk", "npl", "macro", "dcodec", "fsgen";
128f133de9eSSrinivas Kandagatla      clock-output-names = "mclk";
129f133de9eSSrinivas Kandagatla    };
130