blob: b1b48d683101a1a03ff1498c996a971b626f26eb [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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
7title: Amlogic AXG Audio FIFO controllers
8
9maintainers:
10 - Jerome Brunet <jbrunet@baylibre.com>
11
12properties:
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
54required:
55 - compatible
56 - reg
57 - "#sound-dai-cells"
58 - clocks
59 - interrupts
60 - resets
61 - amlogic,fifo-depth
62
63allOf:
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
93unevaluatedProperties: false
94
95examples:
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 };