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      - qcom,sm8450-lpass-tx-macro
18      - qcom,sc8280xp-lpass-tx-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
57  qcom,dmic-sample-rate:
58    description: dmic sample rate
59    $ref: /schemas/types.yaml#/definitions/uint32
60
61required:
62  - compatible
63  - reg
64  - "#sound-dai-cells"
65
66additionalProperties: false
67
68examples:
69  - |
70    #include <dt-bindings/sound/qcom,q6afe.h>
71    codec@3220000 {
72      compatible = "qcom,sm8250-lpass-tx-macro";
73      reg = <0x3220000 0x1000>;
74      #sound-dai-cells = <1>;
75      #clock-cells = <0>;
76      clocks = <&aoncc 0>,
77               <&aoncc 1>,
78               <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
79               <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
80               <&vamacro>;
81      clock-names = "mclk", "npl", "macro", "dcodec", "fsgen";
82      clock-output-names = "mclk";
83      qcom,dmic-sample-rate = <600000>;
84    };
85