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 DT bindings
8
9maintainers:
10  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
11
12properties:
13  compatible:
14    enum:
15      - qcom,sc7280-lpass-rx-macro
16      - qcom,sm8250-lpass-rx-macro
17      - qcom,sm8450-lpass-rx-macro
18      - qcom,sc8280xp-lpass-rx-macro
19
20  reg:
21    maxItems: 1
22
23  "#sound-dai-cells":
24    const: 1
25
26  '#clock-cells':
27    const: 0
28
29  clocks:
30    maxItems: 5
31
32  clock-names:
33    oneOf:
34      - items:   #for ADSP based platforms
35          - const: mclk
36          - const: npl
37          - const: macro
38          - const: dcodec
39          - const: fsgen
40      - items:   #for ADSP bypass based platforms
41          - const: mclk
42          - const: npl
43          - const: fsgen
44
45  clock-output-names:
46    items:
47      - const: mclk
48
49  power-domains:
50    maxItems: 2
51
52  power-domain-names:
53    items:
54      - const: macro
55      - const: dcodec
56
57required:
58  - compatible
59  - reg
60  - "#sound-dai-cells"
61
62additionalProperties: false
63
64examples:
65  - |
66    #include <dt-bindings/sound/qcom,q6afe.h>
67    codec@3200000 {
68      compatible = "qcom,sm8250-lpass-rx-macro";
69      reg = <0x3200000 0x1000>;
70      #sound-dai-cells = <1>;
71      #clock-cells = <0>;
72      clocks = <&audiocc 0>,
73               <&audiocc 1>,
74               <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
75               <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
76               <&vamacro>;
77      clock-names = "mclk", "npl", "macro", "dcodec", "fsgen";
78      clock-output-names = "mclk";
79    };
80