blob: 3e2ae16c6aba634bb0016ca932aedd820059dab3 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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
8
9maintainers:
10 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
11
12properties:
13 compatible:
Tom Rini93743d22024-04-01 09:08:13 -040014 oneOf:
15 - enum:
16 - qcom,sc7280-lpass-tx-macro
17 - qcom,sm6115-lpass-tx-macro
18 - qcom,sm8250-lpass-tx-macro
19 - qcom,sm8450-lpass-tx-macro
20 - qcom,sm8550-lpass-tx-macro
21 - qcom,sc8280xp-lpass-tx-macro
22 - items:
23 - enum:
24 - qcom,sm8650-lpass-tx-macro
25 - qcom,x1e80100-lpass-tx-macro
26 - const: qcom,sm8550-lpass-tx-macro
Tom Rini53633a82024-02-29 12:33:36 -050027
28 reg:
29 maxItems: 1
30
31 "#sound-dai-cells":
32 const: 1
33
34 '#clock-cells':
35 const: 0
36
37 clocks:
38 minItems: 3
39 maxItems: 5
40
41 clock-names:
42 minItems: 3
43 maxItems: 5
44
45 clock-output-names:
46 maxItems: 1
47
48 power-domains:
49 maxItems: 2
50
51 power-domain-names:
52 items:
53 - const: macro
54 - const: dcodec
55
56 qcom,dmic-sample-rate:
57 description: dmic sample rate
58 $ref: /schemas/types.yaml#/definitions/uint32
59
60required:
61 - compatible
62 - reg
63 - "#sound-dai-cells"
64
65allOf:
66 - $ref: dai-common.yaml#
67 - if:
68 properties:
69 compatible:
70 enum:
71 - qcom,sc7280-lpass-tx-macro
72 then:
73 properties:
74 clock-names:
75 oneOf:
76 - items: # for ADSP based platforms
77 - const: mclk
78 - const: npl
79 - const: macro
80 - const: dcodec
81 - const: fsgen
82 - items: # for ADSP bypass based platforms
83 - const: mclk
84 - const: npl
85 - const: fsgen
86
87 - if:
88 properties:
89 compatible:
90 enum:
91 - qcom,sc8280xp-lpass-tx-macro
92 - qcom,sm8250-lpass-tx-macro
93 - qcom,sm8450-lpass-tx-macro
94 then:
95 properties:
96 clocks:
97 minItems: 5
98 maxItems: 5
99 clock-names:
100 items:
101 - const: mclk
102 - const: npl
103 - const: macro
104 - const: dcodec
105 - const: fsgen
106
107 - if:
108 properties:
109 compatible:
110 enum:
111 - qcom,sm6115-lpass-tx-macro
112 then:
113 properties:
114 clocks:
115 minItems: 4
116 maxItems: 4
117 clock-names:
118 items:
119 - const: mclk
120 - const: npl
121 - const: dcodec
122 - const: fsgen
123
124 - if:
125 properties:
126 compatible:
Tom Rini93743d22024-04-01 09:08:13 -0400127 contains:
128 enum:
129 - qcom,sm8550-lpass-tx-macro
Tom Rini53633a82024-02-29 12:33:36 -0500130 then:
131 properties:
132 clocks:
133 minItems: 4
134 maxItems: 4
135 clock-names:
136 items:
137 - const: mclk
138 - const: macro
139 - const: dcodec
140 - const: fsgen
141
142unevaluatedProperties: false
143
144examples:
145 - |
146 #include <dt-bindings/sound/qcom,q6afe.h>
147 codec@3220000 {
148 compatible = "qcom,sm8250-lpass-tx-macro";
149 reg = <0x3220000 0x1000>;
150 #sound-dai-cells = <1>;
151 #clock-cells = <0>;
152 clocks = <&aoncc 0>,
153 <&aoncc 1>,
154 <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
155 <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
156 <&vamacro>;
157 clock-names = "mclk", "npl", "macro", "dcodec", "fsgen";
158 clock-output-names = "mclk";
159 qcom,dmic-sample-rate = <600000>;
160 };