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