blob: 7735e08d35ba147e3a4a815ada8d31081c6338e8 [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/davinci-mcasp-audio.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: McASP Controller for TI SoCs
8
9maintainers:
10 - Jayesh Choudhary <j-choudhary@ti.com>
11
12properties:
13 compatible:
14 enum:
15 - ti,dm646x-mcasp-audio
16 - ti,da830-mcasp-audio
17 - ti,am33xx-mcasp-audio
18 - ti,dra7-mcasp-audio
19 - ti,omap4-mcasp-audio
20
21 reg:
22 minItems: 1
23 items:
24 - description: CFG registers
25 - description: data registers
26
27 reg-names:
28 minItems: 1
29 items:
30 - const: mpu
31 - const: dat
32
33 op-mode:
34 $ref: /schemas/types.yaml#/definitions/uint32
35 description: 0 - I2S or 1 - DIT operation mode
36 enum:
37 - 0
38 - 1
39
40 tdm-slots:
41 $ref: /schemas/types.yaml#/definitions/uint32
42 description:
43 number of channels over one serializer
44 the property is ignored in DIT mode
45 minimum: 2
46 maximum: 32
47
48 serial-dir:
49 description:
50 A list of serializer configuration
51 Entry is indication for serializer pin direction
52 0 - Inactive, 1 - TX, 2 - RX
53 All AXR pins should be present in the array even if inactive
54 $ref: /schemas/types.yaml#/definitions/uint32-array
55 minItems: 1
56 maxItems: 25
57 items:
58 minimum: 0
59 maximum: 2
60
61 dmas:
62 minItems: 1
63 items:
64 - description: transmission DMA channel
65 - description: reception DMA channel
66
67 dma-names:
68 minItems: 1
69 items:
70 - const: tx
71 - const: rx
72
73 ti,hwmods:
74 $ref: /schemas/types.yaml#/definitions/string
75 description: Name of hwmod associated with McASP
76 maxItems: 1
77 deprecated: true
78
79 tx-num-evt:
80 $ref: /schemas/types.yaml#/definitions/uint32
81 description:
82 configures WFIFO threshold
83 0 disables the FIFO use
84 if property is missing, then also FIFO use is disabled
85
86 rx-num-evt:
87 $ref: /schemas/types.yaml#/definitions/uint32
88 description:
89 configures RFIFO threshold
90 0 disables the FIFO use
91 if property is missing, then also FIFO use is disabled
92
93 dismod:
94 $ref: /schemas/types.yaml#/definitions/uint32
95 description:
96 specify the drive on TX pin during inactive time slots
97 0 - 3-state, 2 - logic low, 3 - logic high
98 enum:
99 - 0
100 - 2
101 - 3
102 default: 2
103
104 interrupts:
105 anyOf:
106 - minItems: 1
107 items:
108 - description: TX interrupt
109 - description: RX interrupt
110 - items:
111 - description: common/combined interrupt
112
113 interrupt-names:
114 oneOf:
115 - minItems: 1
116 items:
117 - const: tx
118 - const: rx
119 - const: common
120
121 fck_parent:
122 $ref: /schemas/types.yaml#/definitions/string
123 description: parent clock name for McASP fck
124 maxItems: 1
125
126 auxclk-fs-ratio:
127 $ref: /schemas/types.yaml#/definitions/uint32
128 description: ratio of AUCLK and FS rate if applicable
129
130 gpio-controller: true
131
132 "#gpio-cells":
133 const: 2
134
135 clocks:
136 minItems: 1
137 items:
138 - description: functional clock
139 - description: module specific optional ahclkx clock
140 - description: module specific optional ahclkr clock
141
142 clock-names:
143 minItems: 1
144 items:
145 - const: fck
146 - const: ahclkx
147 - const: ahclkr
148
149 power-domains:
150 description: phandle to the corresponding power-domain
151 maxItems: 1
152
153 "#sound-dai-cells":
154 const: 0
155
156 port:
157 description: connection for when McASP is used via graph card
158 type: object
159
160required:
161 - compatible
162 - reg
163 - reg-names
164 - dmas
165 - dma-names
166 - interrupts
167 - interrupt-names
168
169allOf:
170 - $ref: dai-common.yaml#
171 - if:
172 properties:
173 opmode:
174 enum:
175 - 0
176
177 then:
178 required:
179 - tdm-slots
180
181unevaluatedProperties: false
182
183examples:
184 - |
185 mcasp0: mcasp0@1d00000 {
186 compatible = "ti,da830-mcasp-audio";
187 reg = <0x100000 0x3000>;
188 reg-names = "mpu";
189 interrupts = <82>, <83>;
190 interrupt-names = "tx", "rx";
191 op-mode = <0>; /* MCASP_IIS_MODE */
192 tdm-slots = <2>;
193 dmas = <&main_udmap 0xc400>, <&main_udmap 0x4400>;
194 dma-names = "tx", "rx";
195 serial-dir = <
196 0 0 0 0 /* 0: INACTIVE, 1: TX, 2: RX */
197 0 0 0 0
198 0 0 0 1
199 2 0 0 0 >;
200 tx-num-evt = <1>;
201 rx-num-evt = <1>;
202 };