xref: /linux/Documentation/devicetree/bindings/sound/ingenic,aic.yaml (revision cdd5b5a9761fd66d17586e4f4ba6588c70e640ea)
1129a5d48SPaul Cercueil# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2129a5d48SPaul Cercueil%YAML 1.2
3129a5d48SPaul Cercueil---
4129a5d48SPaul Cercueil$id: http://devicetree.org/schemas/sound/ingenic,aic.yaml#
5129a5d48SPaul Cercueil$schema: http://devicetree.org/meta-schemas/core.yaml#
6129a5d48SPaul Cercueil
7a612130cSKrzysztof Kozlowskititle: Ingenic SoCs AC97 / I2S Controller (AIC)
8129a5d48SPaul Cercueil
9129a5d48SPaul Cercueilmaintainers:
10129a5d48SPaul Cercueil  - Paul Cercueil <paul@crapouillou.net>
11129a5d48SPaul Cercueil
1258ae9a2aSKrzysztof KozlowskiallOf:
1358ae9a2aSKrzysztof Kozlowski  - $ref: dai-common.yaml#
1458ae9a2aSKrzysztof Kozlowski
15129a5d48SPaul Cercueilproperties:
16129a5d48SPaul Cercueil  $nodename:
17129a5d48SPaul Cercueil    pattern: '^audio-controller@'
18129a5d48SPaul Cercueil
19129a5d48SPaul Cercueil  compatible:
20129a5d48SPaul Cercueil    oneOf:
21129a5d48SPaul Cercueil      - enum:
22129a5d48SPaul Cercueil          - ingenic,jz4740-i2s
23129a5d48SPaul Cercueil          - ingenic,jz4760-i2s
24129a5d48SPaul Cercueil          - ingenic,jz4770-i2s
25129a5d48SPaul Cercueil          - ingenic,jz4780-i2s
26*d40b28d6SAidan MacDonald          - ingenic,x1000-i2s
27129a5d48SPaul Cercueil      - items:
28129a5d48SPaul Cercueil          - const: ingenic,jz4725b-i2s
29129a5d48SPaul Cercueil          - const: ingenic,jz4740-i2s
30129a5d48SPaul Cercueil
31129a5d48SPaul Cercueil  '#sound-dai-cells':
32129a5d48SPaul Cercueil    const: 0
33129a5d48SPaul Cercueil
34129a5d48SPaul Cercueil  reg:
35129a5d48SPaul Cercueil    maxItems: 1
36129a5d48SPaul Cercueil
37129a5d48SPaul Cercueil  interrupts:
38129a5d48SPaul Cercueil    maxItems: 1
39129a5d48SPaul Cercueil
40129a5d48SPaul Cercueil  clocks:
41129a5d48SPaul Cercueil    items:
42129a5d48SPaul Cercueil      - description: AIC clock
43129a5d48SPaul Cercueil      - description: I2S clock
44129a5d48SPaul Cercueil
45129a5d48SPaul Cercueil  clock-names:
46129a5d48SPaul Cercueil    items:
47129a5d48SPaul Cercueil      - const: aic
48129a5d48SPaul Cercueil      - const: i2s
49129a5d48SPaul Cercueil
50129a5d48SPaul Cercueil  dmas:
51129a5d48SPaul Cercueil    items:
52129a5d48SPaul Cercueil      - description: DMA controller phandle and request line for I2S RX
53129a5d48SPaul Cercueil      - description: DMA controller phandle and request line for I2S TX
54129a5d48SPaul Cercueil
55129a5d48SPaul Cercueil  dma-names:
56129a5d48SPaul Cercueil    items:
57129a5d48SPaul Cercueil      - const: rx
58129a5d48SPaul Cercueil      - const: tx
59129a5d48SPaul Cercueil
6058ae9a2aSKrzysztof KozlowskiunevaluatedProperties: false
61129a5d48SPaul Cercueil
62129a5d48SPaul Cercueilrequired:
63129a5d48SPaul Cercueil  - compatible
64129a5d48SPaul Cercueil  - reg
65129a5d48SPaul Cercueil  - interrupts
66129a5d48SPaul Cercueil  - clocks
67129a5d48SPaul Cercueil  - clock-names
68129a5d48SPaul Cercueil  - dmas
69129a5d48SPaul Cercueil  - dma-names
70129a5d48SPaul Cercueil  - '#sound-dai-cells'
71129a5d48SPaul Cercueil
72129a5d48SPaul Cercueilexamples:
73129a5d48SPaul Cercueil  - |
74c4a11bf4SPaul Cercueil    #include <dt-bindings/clock/ingenic,jz4740-cgu.h>
75129a5d48SPaul Cercueil    aic: audio-controller@10020000 {
76129a5d48SPaul Cercueil      compatible = "ingenic,jz4740-i2s";
77129a5d48SPaul Cercueil      reg = <0x10020000 0x38>;
78129a5d48SPaul Cercueil
79129a5d48SPaul Cercueil      #sound-dai-cells = <0>;
80129a5d48SPaul Cercueil
81129a5d48SPaul Cercueil      interrupt-parent = <&intc>;
82129a5d48SPaul Cercueil      interrupts = <18>;
83129a5d48SPaul Cercueil
84129a5d48SPaul Cercueil      clocks = <&cgu JZ4740_CLK_AIC>,
85fc839054SAidan MacDonald               <&cgu JZ4740_CLK_I2S>;
86fc839054SAidan MacDonald      clock-names = "aic", "i2s";
87129a5d48SPaul Cercueil
88129a5d48SPaul Cercueil      dmas = <&dmac 25 0xffffffff>, <&dmac 24 0xffffffff>;
89129a5d48SPaul Cercueil      dma-names = "rx", "tx";
90129a5d48SPaul Cercueil    };
91