xref: /linux/Documentation/devicetree/bindings/sound/cirrus,ep9301-i2s.yaml (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/sound/cirrus,ep9301-i2s.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Cirrus EP93xx I2S Controller
8
9description: |
10  The I2S controller is used to stream serial audio data between the external
11  I2S CODECs’, ADCs/DACs, and the ARM Core. The controller supports I2S, Left-
12  and Right-Justified DSP formats.
13
14maintainers:
15  - Alexander Sverdlin <alexander.sverdlin@gmail.com>
16
17allOf:
18  - $ref: dai-common.yaml#
19
20properties:
21  compatible:
22    const: cirrus,ep9301-i2s
23
24  '#sound-dai-cells':
25    const: 0
26
27  reg:
28    maxItems: 1
29
30  interrupts:
31    maxItems: 1
32
33  clocks:
34    minItems: 3
35    maxItems: 3
36
37  clock-names:
38    items:
39      - const: mclk
40      - const: sclk
41      - const: lrclk
42
43  dmas:
44    items:
45      - description: out DMA channel
46      - description: in DMA channel
47
48  dma-names:
49    items:
50      - const: tx
51      - const: rx
52
53  port:
54    $ref: audio-graph-port.yaml#
55    unevaluatedProperties: false
56
57required:
58  - compatible
59  - '#sound-dai-cells'
60  - reg
61  - clocks
62  - clock-names
63
64additionalProperties: false
65
66examples:
67  - |
68    i2s: i2s@80820000 {
69        compatible = "cirrus,ep9301-i2s";
70        #sound-dai-cells = <0>;
71        reg = <0x80820000 0x100>;
72        interrupt-parent = <&vic1>;
73        interrupts = <28>;
74        clocks = <&syscon 29>,
75                 <&syscon 30>,
76                 <&syscon 31>;
77        clock-names = "mclk", "sclk", "lrclk";
78        dmas = <&dma0 0 1>, <&dma0 0 2>;
79        dma-names = "tx", "rx";
80    };
81
82...
83