xref: /linux/Documentation/devicetree/bindings/sound/fsl,saif.yaml (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/sound/fsl,saif.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Freescale MXS Serial Audio Interface (SAIF)
8
9maintainers:
10  - Lukasz Majewski <lukma@denx.de>
11
12allOf:
13  - $ref: dai-common.yaml#
14
15description:
16  The SAIF is based on I2S module that is used to communicate with audio codecs,
17  but only with half-duplex manner (i.e. it can either transmit or receive PCM
18  audio).
19
20properties:
21  compatible:
22    const: fsl,imx28-saif
23
24  reg:
25    maxItems: 1
26
27  "#sound-dai-cells":
28    const: 0
29
30  interrupts:
31    maxItems: 1
32
33  dmas:
34    maxItems: 1
35
36  dma-names:
37    const: rx-tx
38
39  "#clock-cells":
40    description: Configure the I2S device as MCLK clock provider.
41    const: 0
42
43  clocks:
44    maxItems: 1
45
46  fsl,saif-master:
47    description: Indicate that saif is a slave and its phandle points to master
48    $ref: /schemas/types.yaml#/definitions/phandle
49
50required:
51  - compatible
52  - reg
53  - "#sound-dai-cells"
54  - interrupts
55  - dmas
56  - dma-names
57  - clocks
58
59unevaluatedProperties: false
60
61examples:
62  - |
63    saif0: saif@80042000 {
64        compatible = "fsl,imx28-saif";
65        reg = <0x80042000 2000>;
66        #sound-dai-cells = <0>;
67        interrupts = <59>;
68        dmas = <&dma_apbx 4>;
69        dma-names = "rx-tx";
70        #clock-cells = <0>;
71        clocks = <&clks 53>;
72    };
73  - |
74    saif1: saif@80046000 {
75        compatible = "fsl,imx28-saif";
76        reg = <0x80046000 2000>;
77        #sound-dai-cells = <0>;
78        interrupts = <58>;
79        dmas = <&dma_apbx 5>;
80        dma-names = "rx-tx";
81        clocks = <&clks 53>;
82        fsl,saif-master = <&saif0>;
83    };
84