Linux 6.7-rc7
[linux-modified.git] / Documentation / devicetree / bindings / sound / amlogic,axg-fifo.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/sound/amlogic,axg-fifo.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Amlogic AXG Audio FIFO controllers
8
9 maintainers:
10   - Jerome Brunet <jbrunet@baylibre.com>
11
12 properties:
13   compatible:
14     oneOf:
15       - enum:
16           - amlogic,axg-toddr
17           - amlogic,axg-frddr
18       - items:
19           - enum:
20               - amlogic,g12a-toddr
21               - amlogic,sm1-toddr
22           - const: amlogic,axg-toddr
23       - items:
24           - enum:
25               - amlogic,g12a-frddr
26               - amlogic,sm1-frddr
27           - const: amlogic,axg-frddr
28
29   reg:
30     maxItems: 1
31
32   "#sound-dai-cells":
33     const: 0
34
35   clocks:
36     items:
37       - description: Peripheral clock
38
39   interrupts:
40     maxItems: 1
41
42   resets:
43     minItems: 1
44     maxItems: 2
45
46   reset-names:
47     minItems: 1
48     maxItems: 2
49
50   amlogic,fifo-depth:
51     $ref: /schemas/types.yaml#/definitions/uint32
52     description: Size of the controller's fifo in bytes
53
54 required:
55   - compatible
56   - reg
57   - "#sound-dai-cells"
58   - clocks
59   - interrupts
60   - resets
61   - amlogic,fifo-depth
62
63 allOf:
64   - $ref: dai-common.yaml#
65   - if:
66       properties:
67         compatible:
68           contains:
69             enum:
70               - amlogic,g12a-toddr
71               - amlogic,sm1-toddr
72               - amlogic,g12a-frddr
73               - amlogic,sm1-frddr
74
75     then:
76       properties:
77         resets:
78           minItems: 2
79         reset-names:
80           items:
81             - const: arb
82             - const: rst
83       required:
84         - reset-names
85
86     else:
87       properties:
88         resets:
89           maxItems: 1
90         reset-names:
91           const: arb
92
93 unevaluatedProperties: false
94
95 examples:
96   - |
97     #include <dt-bindings/clock/axg-audio-clkc.h>
98     #include <dt-bindings/interrupt-controller/irq.h>
99     #include <dt-bindings/interrupt-controller/arm-gic.h>
100     #include <dt-bindings/reset/amlogic,meson-axg-audio-arb.h>
101     #include <dt-bindings/reset/amlogic,meson-g12a-audio-reset.h>
102
103     audio-controller@1c0 {
104         compatible = "amlogic,g12a-frddr", "amlogic,axg-frddr";
105         reg = <0x1c0 0x1c>;
106         #sound-dai-cells = <0>;
107         clocks = <&clkc_audio AUD_CLKID_FRDDR_A>;
108         interrupts = <GIC_SPI 88 IRQ_TYPE_EDGE_RISING>;
109         resets = <&arb>, <&clkc_audio AUD_RESET_FRDDR_A>;
110         reset-names = "arb", "rst";
111         amlogic,fifo-depth = <512>;
112     };