Linux 6.7-rc7
[linux-modified.git] / Documentation / devicetree / bindings / sound / st,stm32-spdifrx.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/st,stm32-spdifrx.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: STMicroelectronics STM32 S/PDIF receiver (SPDIFRX)
8
9 maintainers:
10   - Olivier Moysan <olivier.moysan@foss.st.com>
11
12 description: |
13   The SPDIFRX peripheral, is designed to receive an S/PDIF flow compliant with
14   IEC-60958 and IEC-61937.
15
16 allOf:
17   - $ref: dai-common.yaml#
18
19 properties:
20   compatible:
21     enum:
22       - st,stm32h7-spdifrx
23
24   "#sound-dai-cells":
25     const: 0
26
27   reg:
28     maxItems: 1
29
30   clocks:
31     maxItems: 1
32
33   clock-names:
34     items:
35       - const: kclk
36
37   interrupts:
38     maxItems: 1
39
40   dmas:
41     items:
42       - description: audio data capture DMA
43       - description: IEC status bits capture DMA
44
45   dma-names:
46     items:
47       - const: rx
48       - const: rx-ctrl
49
50   resets:
51     maxItems: 1
52
53 required:
54   - compatible
55   - "#sound-dai-cells"
56   - reg
57   - clocks
58   - clock-names
59   - interrupts
60   - dmas
61   - dma-names
62
63 unevaluatedProperties: false
64
65 examples:
66   - |
67     #include <dt-bindings/interrupt-controller/arm-gic.h>
68     #include <dt-bindings/clock/stm32mp1-clks.h>
69     spdifrx: spdifrx@40004000 {
70         compatible = "st,stm32h7-spdifrx";
71         #sound-dai-cells = <0>;
72         reg = <0x40004000 0x400>;
73         clocks = <&rcc SPDIF_K>;
74         clock-names = "kclk";
75         interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
76         dmas = <&dmamux1 2 93 0x400 0x0>,
77                <&dmamux1 3 94 0x400 0x0>;
78         dma-names = "rx", "rx-ctrl";
79         pinctrl-0 = <&spdifrx_pins>;
80         pinctrl-names = "default";
81     };
82
83 ...