blob: b8540b30741e322f3586f5fc8a8a415853c7bd8b [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-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
12properties:
13 compatible:
Tom Rini93743d22024-04-01 09:08:13 -040014 oneOf:
15 - enum:
16 - qcom,sc7280-lpass-rx-macro
17 - qcom,sm8250-lpass-rx-macro
18 - qcom,sm8450-lpass-rx-macro
19 - qcom,sm8550-lpass-rx-macro
20 - qcom,sc8280xp-lpass-rx-macro
21 - items:
22 - enum:
23 - qcom,sm8650-lpass-rx-macro
24 - qcom,x1e80100-lpass-rx-macro
25 - const: qcom,sm8550-lpass-rx-macro
Tom Rini53633a82024-02-29 12:33:36 -050026
27 reg:
28 maxItems: 1
29
30 "#sound-dai-cells":
31 const: 1
32
33 '#clock-cells':
34 const: 0
35
36 clocks:
37 minItems: 3
38 maxItems: 5
39
40 clock-names:
41 minItems: 3
42 maxItems: 5
43
44 clock-output-names:
45 maxItems: 1
46
47 power-domains:
48 maxItems: 2
49
50 power-domain-names:
51 items:
52 - const: macro
53 - const: dcodec
54
55required:
56 - compatible
57 - reg
58 - "#sound-dai-cells"
59
60allOf:
61 - $ref: dai-common.yaml#
62 - if:
63 properties:
64 compatible:
65 enum:
66 - qcom,sc7280-lpass-rx-macro
67 then:
68 properties:
69 clock-names:
70 oneOf:
71 - items: # for ADSP based platforms
72 - const: mclk
73 - const: npl
74 - const: macro
75 - const: dcodec
76 - const: fsgen
77 - items: # for ADSP bypass based platforms
78 - const: mclk
79 - const: npl
80 - const: fsgen
81
82 - if:
83 properties:
84 compatible:
85 enum:
86 - qcom,sc8280xp-lpass-rx-macro
87 - qcom,sm8250-lpass-rx-macro
88 - qcom,sm8450-lpass-rx-macro
89 then:
90 properties:
91 clocks:
92 minItems: 5
93 maxItems: 5
94 clock-names:
95 items:
96 - const: mclk
97 - const: npl
98 - const: macro
99 - const: dcodec
100 - const: fsgen
101
102 - if:
103 properties:
104 compatible:
Tom Rini93743d22024-04-01 09:08:13 -0400105 contains:
106 enum:
107 - qcom,sm8550-lpass-rx-macro
Tom Rini53633a82024-02-29 12:33:36 -0500108 then:
109 properties:
110 clocks:
111 minItems: 4
112 maxItems: 4
113 clock-names:
114 items:
115 - const: mclk
116 - const: macro
117 - const: dcodec
118 - const: fsgen
119
120unevaluatedProperties: false
121
122examples:
123 - |
124 #include <dt-bindings/sound/qcom,q6afe.h>
125 codec@3200000 {
126 compatible = "qcom,sm8250-lpass-rx-macro";
127 reg = <0x3200000 0x1000>;
128 #sound-dai-cells = <1>;
129 #clock-cells = <0>;
130 clocks = <&audiocc 0>,
131 <&audiocc 1>,
132 <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
133 <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
134 <&vamacro>;
135 clock-names = "mclk", "npl", "macro", "dcodec", "fsgen";
136 clock-output-names = "mclk";
137 };