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-tx-macro.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: LPASS(Low Power Audio Subsystem) TX Macro audio codec DT bindings
8
9maintainers:
10  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
11
12properties:
13  compatible:
14    enum:
15      - qcom,sc7280-lpass-tx-macro
16      - qcom,sm8250-lpass-tx-macro
17
18  reg:
19    maxItems: 1
20
21  "#sound-dai-cells":
22    const: 1
23
24  '#clock-cells':
25    const: 0
26
27  clocks:
28    maxItems: 5
29
30  clock-names:
31    oneOf:
32      - items:   #for ADSP based platforms
33          - const: mclk
34          - const: npl
35          - const: macro
36          - const: dcodec
37          - const: fsgen
38      - items:   #for ADSP bypass based platforms
39          - const: mclk
40          - const: npl
41          - const: fsgen
42
43  clock-output-names:
44    items:
45      - const: mclk
46
47  power-domains:
48    maxItems: 2
49
50  power-domain-names:
51    items:
52      - const: macro
53      - const: dcodec
54
55  qcom,dmic-sample-rate:
56    description: dmic sample rate
57    $ref: /schemas/types.yaml#/definitions/uint32
58
59required:
60  - compatible
61  - reg
62  - "#sound-dai-cells"
63
64additionalProperties: false
65
66examples:
67  - |
68    #include <dt-bindings/sound/qcom,q6afe.h>
69    codec@3220000 {
70      compatible = "qcom,sm8250-lpass-tx-macro";
71      reg = <0x3220000 0x1000>;
72      #sound-dai-cells = <1>;
73      #clock-cells = <0>;
74      clocks = <&aoncc 0>,
75               <&aoncc 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      qcom,dmic-sample-rate = <600000>;
82    };
83