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