xref: /linux/Documentation/devicetree/bindings/sound/snps,designware-i2s.yaml (revision 58ae9a2aca6f883dd6fd7b8bfc2e1b1b21a2f03e)
1bc4c9d85SConor Dooley# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2bc4c9d85SConor Dooley%YAML 1.2
3bc4c9d85SConor Dooley---
4bc4c9d85SConor Dooley$id: http://devicetree.org/schemas/sound/snps,designware-i2s.yaml#
5bc4c9d85SConor Dooley$schema: http://devicetree.org/meta-schemas/core.yaml#
6bc4c9d85SConor Dooley
7bc4c9d85SConor Dooleytitle: DesignWare I2S controller
8bc4c9d85SConor Dooley
9bc4c9d85SConor Dooleymaintainers:
10bc4c9d85SConor Dooley  - Jose Abreu <joabreu@synopsys.com>
11bc4c9d85SConor Dooley
12bc4c9d85SConor Dooleyproperties:
13bc4c9d85SConor Dooley  compatible:
14bc4c9d85SConor Dooley    oneOf:
15bc4c9d85SConor Dooley      - items:
16bc4c9d85SConor Dooley          - const: canaan,k210-i2s
17bc4c9d85SConor Dooley          - const: snps,designware-i2s
18bc4c9d85SConor Dooley      - enum:
19bc4c9d85SConor Dooley          - snps,designware-i2s
20bc4c9d85SConor Dooley
21bc4c9d85SConor Dooley  reg:
22bc4c9d85SConor Dooley    maxItems: 1
23bc4c9d85SConor Dooley
24bc4c9d85SConor Dooley  interrupts:
25bc4c9d85SConor Dooley    description: |
26bc4c9d85SConor Dooley      The interrupt line number for the I2S controller. Add this
27bc4c9d85SConor Dooley      parameter if the I2S controller that you are using does not
28bc4c9d85SConor Dooley      support DMA.
29bc4c9d85SConor Dooley    maxItems: 1
30bc4c9d85SConor Dooley
31bc4c9d85SConor Dooley  clocks:
32bc4c9d85SConor Dooley    description: Sampling rate reference clock
33bc4c9d85SConor Dooley    maxItems: 1
34bc4c9d85SConor Dooley
35bc4c9d85SConor Dooley  clock-names:
36bc4c9d85SConor Dooley    const: i2sclk
37bc4c9d85SConor Dooley
38bc4c9d85SConor Dooley  resets:
39bc4c9d85SConor Dooley    maxItems: 1
40bc4c9d85SConor Dooley
41bc4c9d85SConor Dooley  dmas:
42bc4c9d85SConor Dooley    items:
43bc4c9d85SConor Dooley      - description: TX DMA Channel
44bc4c9d85SConor Dooley      - description: RX DMA Channel
45bc4c9d85SConor Dooley    minItems: 1
46bc4c9d85SConor Dooley
47bc4c9d85SConor Dooley  dma-names:
48bc4c9d85SConor Dooley    items:
49bc4c9d85SConor Dooley      - const: tx
50bc4c9d85SConor Dooley      - const: rx
51bc4c9d85SConor Dooley    minItems: 1
52bc4c9d85SConor Dooley
53*58ae9a2aSKrzysztof KozlowskiallOf:
54*58ae9a2aSKrzysztof Kozlowski  - $ref: dai-common.yaml#
55*58ae9a2aSKrzysztof Kozlowski  - if:
56bc4c9d85SConor Dooley      properties:
57bc4c9d85SConor Dooley        compatible:
58bc4c9d85SConor Dooley          contains:
59bc4c9d85SConor Dooley            const: canaan,k210-i2s
60bc4c9d85SConor Dooley    then:
61bc4c9d85SConor Dooley      properties:
62bc4c9d85SConor Dooley        "#sound-dai-cells":
63bc4c9d85SConor Dooley          const: 1
64bc4c9d85SConor Dooley    else:
65bc4c9d85SConor Dooley      properties:
66bc4c9d85SConor Dooley        "#sound-dai-cells":
67bc4c9d85SConor Dooley          const: 0
68bc4c9d85SConor Dooley
69bc4c9d85SConor Dooleyrequired:
70bc4c9d85SConor Dooley  - compatible
71bc4c9d85SConor Dooley  - reg
72bc4c9d85SConor Dooley  - clocks
73bc4c9d85SConor Dooley  - clock-names
74bc4c9d85SConor Dooley
75bc4c9d85SConor DooleyoneOf:
76bc4c9d85SConor Dooley  - required:
77bc4c9d85SConor Dooley      - dmas
78bc4c9d85SConor Dooley      - dma-names
79bc4c9d85SConor Dooley  - required:
80bc4c9d85SConor Dooley      - interrupts
81bc4c9d85SConor Dooley
82bc4c9d85SConor DooleyunevaluatedProperties: false
83bc4c9d85SConor Dooley
84bc4c9d85SConor Dooleyexamples:
85bc4c9d85SConor Dooley  - |
86bc4c9d85SConor Dooley    soc_i2s: i2s@7ff90000 {
87bc4c9d85SConor Dooley      compatible = "snps,designware-i2s";
88bc4c9d85SConor Dooley      reg = <0x7ff90000 0x1000>;
89bc4c9d85SConor Dooley      clocks = <&scpi_i2sclk 0>;
90bc4c9d85SConor Dooley      clock-names = "i2sclk";
91bc4c9d85SConor Dooley      #sound-dai-cells = <0>;
92bc4c9d85SConor Dooley      dmas = <&dma0 5>;
93bc4c9d85SConor Dooley      dma-names = "tx";
94bc4c9d85SConor Dooley    };
95