xref: /linux/Documentation/devicetree/bindings/sound/amlogic,axg-spdifin.yaml (revision 0526b56cbc3c489642bd6a5fe4b718dea7ef0ee8)
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-spdifin.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Amlogic Audio AXG SPDIF Input
8
9maintainers:
10  - Jerome Brunet <jbrunet@baylibre.com>
11
12properties:
13  compatible:
14    oneOf:
15      - const: amlogic,axg-spdifin
16      - items:
17          - enum:
18              - amlogic,g12a-spdifin
19              - amlogic,sm1-spdifin
20          - const: amlogic,axg-spdifin
21
22  reg:
23    maxItems: 1
24
25  "#sound-dai-cells":
26    const: 0
27
28  clocks:
29    items:
30      - description: Peripheral clock
31      - description: SPDIF input reference clock
32
33  clock-names:
34    items:
35      - const: pclk
36      - const: refclk
37
38  interrupts:
39    maxItems: 1
40
41  resets:
42    maxItems: 1
43
44required:
45  - compatible
46  - reg
47  - "#sound-dai-cells"
48  - clocks
49  - clock-names
50  - interrupts
51
52allOf:
53  - $ref: dai-common.yaml#
54
55  - if:
56      properties:
57        compatible:
58          contains:
59            enum:
60              - amlogic,g12a-spdifin
61              - amlogic,sm1-spdifin
62    then:
63      required:
64        - resets
65
66    else:
67      properties:
68        resets: false
69
70unevaluatedProperties: false
71
72examples:
73  - |
74    #include <dt-bindings/clock/axg-audio-clkc.h>
75    #include <dt-bindings/interrupt-controller/irq.h>
76    #include <dt-bindings/interrupt-controller/arm-gic.h>
77
78    audio-controller@400 {
79        compatible = "amlogic,axg-spdifin";
80        reg = <0x400 0x30>;
81        #sound-dai-cells = <0>;
82        interrupts = <GIC_SPI 87 IRQ_TYPE_EDGE_RISING>;
83        clocks = <&clkc_audio AUD_CLKID_SPDIFIN>,
84                 <&clkc_audio AUD_CLKID_SPDIFIN_CLK>;
85        clock-names = "pclk", "refclk";
86    };
87