xref: /freebsd/sys/contrib/device-tree/Bindings/sound/ingenic,aic.yaml (revision 8cc087a1eee9ec1ca9f7ac1e63ad51bdb5a682eb)
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
7c66ec88fSEmmanuel Vadottitle: Ingenic SoCs AC97 / I2S Controller (AIC) DT bindings
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10c66ec88fSEmmanuel Vadot  - Paul Cercueil <paul@crapouillou.net>
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel Vadotproperties:
13c66ec88fSEmmanuel Vadot  $nodename:
14c66ec88fSEmmanuel Vadot    pattern: '^audio-controller@'
15c66ec88fSEmmanuel Vadot
16c66ec88fSEmmanuel Vadot  compatible:
17c66ec88fSEmmanuel Vadot    oneOf:
18c66ec88fSEmmanuel Vadot      - enum:
19c66ec88fSEmmanuel Vadot          - ingenic,jz4740-i2s
20c66ec88fSEmmanuel Vadot          - ingenic,jz4760-i2s
21c66ec88fSEmmanuel Vadot          - ingenic,jz4770-i2s
22c66ec88fSEmmanuel Vadot          - ingenic,jz4780-i2s
23c66ec88fSEmmanuel Vadot      - items:
24c66ec88fSEmmanuel Vadot          - const: ingenic,jz4725b-i2s
25c66ec88fSEmmanuel Vadot          - const: ingenic,jz4740-i2s
26c66ec88fSEmmanuel Vadot
27c66ec88fSEmmanuel Vadot  '#sound-dai-cells':
28c66ec88fSEmmanuel Vadot    const: 0
29c66ec88fSEmmanuel Vadot
30c66ec88fSEmmanuel Vadot  reg:
31c66ec88fSEmmanuel Vadot    maxItems: 1
32c66ec88fSEmmanuel Vadot
33c66ec88fSEmmanuel Vadot  interrupts:
34c66ec88fSEmmanuel Vadot    maxItems: 1
35c66ec88fSEmmanuel Vadot
36c66ec88fSEmmanuel Vadot  clocks:
37c66ec88fSEmmanuel Vadot    items:
38c66ec88fSEmmanuel Vadot      - description: AIC clock
39c66ec88fSEmmanuel Vadot      - description: I2S clock
40c66ec88fSEmmanuel Vadot      - description: EXT clock
41c66ec88fSEmmanuel Vadot      - description: PLL/2 clock
42c66ec88fSEmmanuel Vadot
43c66ec88fSEmmanuel Vadot  clock-names:
44c66ec88fSEmmanuel Vadot    items:
45c66ec88fSEmmanuel Vadot      - const: aic
46c66ec88fSEmmanuel Vadot      - const: i2s
47c66ec88fSEmmanuel Vadot      - const: ext
48c66ec88fSEmmanuel Vadot      - const: pll half
49c66ec88fSEmmanuel Vadot
50c66ec88fSEmmanuel Vadot  dmas:
51c66ec88fSEmmanuel Vadot    items:
52c66ec88fSEmmanuel Vadot      - description: DMA controller phandle and request line for I2S RX
53c66ec88fSEmmanuel Vadot      - description: DMA controller phandle and request line for I2S TX
54c66ec88fSEmmanuel Vadot
55c66ec88fSEmmanuel Vadot  dma-names:
56c66ec88fSEmmanuel Vadot    items:
57c66ec88fSEmmanuel Vadot      - const: rx
58c66ec88fSEmmanuel Vadot      - const: tx
59c66ec88fSEmmanuel Vadot
60c66ec88fSEmmanuel VadotadditionalProperties: false
61c66ec88fSEmmanuel Vadot
62c66ec88fSEmmanuel Vadotrequired:
63c66ec88fSEmmanuel Vadot  - compatible
64c66ec88fSEmmanuel Vadot  - reg
65c66ec88fSEmmanuel Vadot  - interrupts
66c66ec88fSEmmanuel Vadot  - clocks
67c66ec88fSEmmanuel Vadot  - clock-names
68c66ec88fSEmmanuel Vadot  - dmas
69c66ec88fSEmmanuel Vadot  - dma-names
70c66ec88fSEmmanuel Vadot  - '#sound-dai-cells'
71c66ec88fSEmmanuel Vadot
72c66ec88fSEmmanuel Vadotexamples:
73c66ec88fSEmmanuel Vadot  - |
74*8cc087a1SEmmanuel Vadot    #include <dt-bindings/clock/ingenic,jz4740-cgu.h>
75c66ec88fSEmmanuel Vadot    aic: audio-controller@10020000 {
76c66ec88fSEmmanuel Vadot      compatible = "ingenic,jz4740-i2s";
77c66ec88fSEmmanuel Vadot      reg = <0x10020000 0x38>;
78c66ec88fSEmmanuel Vadot
79c66ec88fSEmmanuel Vadot      #sound-dai-cells = <0>;
80c66ec88fSEmmanuel Vadot
81c66ec88fSEmmanuel Vadot      interrupt-parent = <&intc>;
82c66ec88fSEmmanuel Vadot      interrupts = <18>;
83c66ec88fSEmmanuel Vadot
84c66ec88fSEmmanuel Vadot      clocks = <&cgu JZ4740_CLK_AIC>,
85c66ec88fSEmmanuel Vadot               <&cgu JZ4740_CLK_I2S>,
86c66ec88fSEmmanuel Vadot               <&cgu JZ4740_CLK_EXT>,
87c66ec88fSEmmanuel Vadot               <&cgu JZ4740_CLK_PLL_HALF>;
88c66ec88fSEmmanuel Vadot      clock-names = "aic", "i2s", "ext", "pll half";
89c66ec88fSEmmanuel Vadot
90c66ec88fSEmmanuel Vadot      dmas = <&dmac 25 0xffffffff>, <&dmac 24 0xffffffff>;
91c66ec88fSEmmanuel Vadot      dma-names = "rx", "tx";
92c66ec88fSEmmanuel Vadot    };
93