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