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
18473d218bSSrinivas Kandagatla      - qcom,sc8280xp-lpass-rx-macro
19f133de9eSSrinivas Kandagatla
20f133de9eSSrinivas Kandagatla  reg:
21f133de9eSSrinivas Kandagatla    maxItems: 1
22f133de9eSSrinivas Kandagatla
23f133de9eSSrinivas Kandagatla  "#sound-dai-cells":
24f133de9eSSrinivas Kandagatla    const: 1
25f133de9eSSrinivas Kandagatla
26f133de9eSSrinivas Kandagatla  '#clock-cells':
27f133de9eSSrinivas Kandagatla    const: 0
28f133de9eSSrinivas Kandagatla
29f133de9eSSrinivas Kandagatla  clocks:
30f133de9eSSrinivas Kandagatla    maxItems: 5
31f133de9eSSrinivas Kandagatla
32f133de9eSSrinivas Kandagatla  clock-names:
33*e4cf7805SKrzysztof Kozlowski    minItems: 3
34*e4cf7805SKrzysztof Kozlowski    maxItems: 5
35f133de9eSSrinivas Kandagatla
36f133de9eSSrinivas Kandagatla  clock-output-names:
37bcdc73e1SKrzysztof Kozlowski    maxItems: 1
38f133de9eSSrinivas Kandagatla
396619c7d4SSrinivasa Rao Mandadapu  power-domains:
406619c7d4SSrinivasa Rao Mandadapu    maxItems: 2
416619c7d4SSrinivasa Rao Mandadapu
426619c7d4SSrinivasa Rao Mandadapu  power-domain-names:
436619c7d4SSrinivasa Rao Mandadapu    items:
446619c7d4SSrinivasa Rao Mandadapu      - const: macro
456619c7d4SSrinivasa Rao Mandadapu      - const: dcodec
466619c7d4SSrinivasa Rao Mandadapu
47f133de9eSSrinivas Kandagatlarequired:
48f133de9eSSrinivas Kandagatla  - compatible
49f133de9eSSrinivas Kandagatla  - reg
50f133de9eSSrinivas Kandagatla  - "#sound-dai-cells"
51f133de9eSSrinivas Kandagatla
52*e4cf7805SKrzysztof KozlowskiallOf:
53*e4cf7805SKrzysztof Kozlowski  - $ref: dai-common.yaml#
54*e4cf7805SKrzysztof Kozlowski  - if:
55*e4cf7805SKrzysztof Kozlowski      properties:
56*e4cf7805SKrzysztof Kozlowski        compatible:
57*e4cf7805SKrzysztof Kozlowski          enum:
58*e4cf7805SKrzysztof Kozlowski            - qcom,sc7280-lpass-rx-macro
59*e4cf7805SKrzysztof Kozlowski    then:
60*e4cf7805SKrzysztof Kozlowski      properties:
61*e4cf7805SKrzysztof Kozlowski        clock-names:
62*e4cf7805SKrzysztof Kozlowski          oneOf:
63*e4cf7805SKrzysztof Kozlowski            - items:   #for ADSP based platforms
64*e4cf7805SKrzysztof Kozlowski                - const: mclk
65*e4cf7805SKrzysztof Kozlowski                - const: npl
66*e4cf7805SKrzysztof Kozlowski                - const: macro
67*e4cf7805SKrzysztof Kozlowski                - const: dcodec
68*e4cf7805SKrzysztof Kozlowski                - const: fsgen
69*e4cf7805SKrzysztof Kozlowski            - items:   #for ADSP bypass based platforms
70*e4cf7805SKrzysztof Kozlowski                - const: mclk
71*e4cf7805SKrzysztof Kozlowski                - const: npl
72*e4cf7805SKrzysztof Kozlowski                - const: fsgen
73*e4cf7805SKrzysztof Kozlowski
74*e4cf7805SKrzysztof Kozlowski  - if:
75*e4cf7805SKrzysztof Kozlowski      properties:
76*e4cf7805SKrzysztof Kozlowski        compatible:
77*e4cf7805SKrzysztof Kozlowski          enum:
78*e4cf7805SKrzysztof Kozlowski            - qcom,sc8280xp-lpass-rx-macro
79*e4cf7805SKrzysztof Kozlowski            - qcom,sm8250-lpass-rx-macro
80*e4cf7805SKrzysztof Kozlowski            - qcom,sm8450-lpass-rx-macro
81*e4cf7805SKrzysztof Kozlowski    then:
82*e4cf7805SKrzysztof Kozlowski      properties:
83*e4cf7805SKrzysztof Kozlowski        clocks:
84*e4cf7805SKrzysztof Kozlowski          minItems: 5
85*e4cf7805SKrzysztof Kozlowski          maxItems: 5
86*e4cf7805SKrzysztof Kozlowski        clock-names:
87*e4cf7805SKrzysztof Kozlowski          items:
88*e4cf7805SKrzysztof Kozlowski            - const: mclk
89*e4cf7805SKrzysztof Kozlowski            - const: npl
90*e4cf7805SKrzysztof Kozlowski            - const: macro
91*e4cf7805SKrzysztof Kozlowski            - const: dcodec
92*e4cf7805SKrzysztof Kozlowski            - const: fsgen
93*e4cf7805SKrzysztof Kozlowski
9458ae9a2aSKrzysztof KozlowskiunevaluatedProperties: false
95f133de9eSSrinivas Kandagatla
96f133de9eSSrinivas Kandagatlaexamples:
97f133de9eSSrinivas Kandagatla  - |
98f133de9eSSrinivas Kandagatla    #include <dt-bindings/sound/qcom,q6afe.h>
99f133de9eSSrinivas Kandagatla    codec@3200000 {
100f133de9eSSrinivas Kandagatla      compatible = "qcom,sm8250-lpass-rx-macro";
101f133de9eSSrinivas Kandagatla      reg = <0x3200000 0x1000>;
102f133de9eSSrinivas Kandagatla      #sound-dai-cells = <1>;
103f133de9eSSrinivas Kandagatla      #clock-cells = <0>;
104f133de9eSSrinivas Kandagatla      clocks = <&audiocc 0>,
105f133de9eSSrinivas Kandagatla               <&audiocc 1>,
106f133de9eSSrinivas Kandagatla               <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
107f133de9eSSrinivas Kandagatla               <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
108f133de9eSSrinivas Kandagatla               <&vamacro>;
109f133de9eSSrinivas Kandagatla      clock-names = "mclk", "npl", "macro", "dcodec", "fsgen";
110f133de9eSSrinivas Kandagatla      clock-output-names = "mclk";
111f133de9eSSrinivas Kandagatla    };
112