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