summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/sound/cirrus,ep9301-i2s.yaml
blob: 4693e85aed37fc682f10c33db26cad5f62bd44a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/cirrus,ep9301-i2s.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Cirrus EP93xx I2S Controller

description: |
  The I2S controller is used to stream serial audio data between the external
  I2S CODECs’, ADCs/DACs, and the ARM Core. The controller supports I2S, Left-
  and Right-Justified DSP formats.

maintainers:
  - Alexander Sverdlin <alexander.sverdlin@gmail.com>

allOf:
  - $ref: dai-common.yaml#

properties:
  compatible:
    const: cirrus,ep9301-i2s

  '#sound-dai-cells':
    const: 0

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    minItems: 3
    maxItems: 3

  clock-names:
    items:
      - const: mclk
      - const: sclk
      - const: lrclk

  dmas:
    items:
      - description: out DMA channel
      - description: in DMA channel

  dma-names:
    items:
      - const: tx
      - const: rx

  port:
    $ref: audio-graph-port.yaml#
    unevaluatedProperties: false

required:
  - compatible
  - '#sound-dai-cells'
  - reg
  - clocks
  - clock-names

additionalProperties: false

examples:
  - |
    i2s: i2s@80820000 {
        compatible = "cirrus,ep9301-i2s";
        #sound-dai-cells = <0>;
        reg = <0x80820000 0x100>;
        interrupt-parent = <&vic1>;
        interrupts = <28>;
        clocks = <&syscon 29>,
                 <&syscon 30>,
                 <&syscon 31>;
        clock-names = "mclk", "sclk", "lrclk";
        dmas = <&dma0 0 1>, <&dma0 0 2>;
        dma-names = "tx", "rx";
    };

...