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