1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/sound/ingenic,aic.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Ingenic SoCs AC97 / I2S Controller (AIC)
8
9maintainers:
10  - Paul Cercueil <paul@crapouillou.net>
11
12allOf:
13  - $ref: dai-common.yaml#
14
15properties:
16  $nodename:
17    pattern: '^audio-controller@'
18
19  compatible:
20    oneOf:
21      - enum:
22          - ingenic,jz4740-i2s
23          - ingenic,jz4760-i2s
24          - ingenic,jz4770-i2s
25          - ingenic,jz4780-i2s
26      - items:
27          - const: ingenic,jz4725b-i2s
28          - const: ingenic,jz4740-i2s
29
30  '#sound-dai-cells':
31    const: 0
32
33  reg:
34    maxItems: 1
35
36  interrupts:
37    maxItems: 1
38
39  clocks:
40    items:
41      - description: AIC clock
42      - description: I2S clock
43
44  clock-names:
45    items:
46      - const: aic
47      - const: i2s
48
49  dmas:
50    items:
51      - description: DMA controller phandle and request line for I2S RX
52      - description: DMA controller phandle and request line for I2S TX
53
54  dma-names:
55    items:
56      - const: rx
57      - const: tx
58
59unevaluatedProperties: false
60
61required:
62  - compatible
63  - reg
64  - interrupts
65  - clocks
66  - clock-names
67  - dmas
68  - dma-names
69  - '#sound-dai-cells'
70
71examples:
72  - |
73    #include <dt-bindings/clock/ingenic,jz4740-cgu.h>
74    aic: audio-controller@10020000 {
75      compatible = "ingenic,jz4740-i2s";
76      reg = <0x10020000 0x38>;
77
78      #sound-dai-cells = <0>;
79
80      interrupt-parent = <&intc>;
81      interrupts = <18>;
82
83      clocks = <&cgu JZ4740_CLK_AIC>,
84               <&cgu JZ4740_CLK_I2S>;
85      clock-names = "aic", "i2s";
86
87      dmas = <&dmac 25 0xffffffff>, <&dmac 24 0xffffffff>;
88      dma-names = "rx", "tx";
89    };
90