xref: /freebsd/sys/contrib/device-tree/Bindings/sound/fsl,esai.yaml (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
1*7d0873ebSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*7d0873ebSEmmanuel Vadot%YAML 1.2
3*7d0873ebSEmmanuel Vadot---
4*7d0873ebSEmmanuel Vadot$id: http://devicetree.org/schemas/sound/fsl,esai.yaml#
5*7d0873ebSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*7d0873ebSEmmanuel Vadot
7*7d0873ebSEmmanuel Vadottitle: Freescale Enhanced Serial Audio Interface (ESAI) Controller
8*7d0873ebSEmmanuel Vadot
9*7d0873ebSEmmanuel Vadotmaintainers:
10*7d0873ebSEmmanuel Vadot  - Shengjiu Wang <shengjiu.wang@nxp.com>
11*7d0873ebSEmmanuel Vadot  - Frank Li <Frank.Li@nxp.com>
12*7d0873ebSEmmanuel Vadot
13*7d0873ebSEmmanuel Vadotdescription:
14*7d0873ebSEmmanuel Vadot  The Enhanced Serial Audio Interface (ESAI) provides a full-duplex serial port
15*7d0873ebSEmmanuel Vadot  for serial communication with a variety of serial devices, including industry
16*7d0873ebSEmmanuel Vadot  standard codecs, Sony/Phillips Digital Interface (S/PDIF) transceivers, and
17*7d0873ebSEmmanuel Vadot  other DSPs. It has up to six transmitters and four receivers.
18*7d0873ebSEmmanuel Vadot
19*7d0873ebSEmmanuel Vadotproperties:
20*7d0873ebSEmmanuel Vadot  compatible:
21*7d0873ebSEmmanuel Vadot    enum:
22*7d0873ebSEmmanuel Vadot      - fsl,imx35-esai
23*7d0873ebSEmmanuel Vadot      - fsl,imx6ull-esai
24*7d0873ebSEmmanuel Vadot      - fsl,imx8qm-esai
25*7d0873ebSEmmanuel Vadot      - fsl,vf610-esai
26*7d0873ebSEmmanuel Vadot
27*7d0873ebSEmmanuel Vadot  reg:
28*7d0873ebSEmmanuel Vadot    maxItems: 1
29*7d0873ebSEmmanuel Vadot
30*7d0873ebSEmmanuel Vadot  interrupts:
31*7d0873ebSEmmanuel Vadot    maxItems: 1
32*7d0873ebSEmmanuel Vadot
33*7d0873ebSEmmanuel Vadot  clocks:
34*7d0873ebSEmmanuel Vadot    minItems: 3
35*7d0873ebSEmmanuel Vadot    items:
36*7d0873ebSEmmanuel Vadot      - description:
37*7d0873ebSEmmanuel Vadot          The core clock used to access registers.
38*7d0873ebSEmmanuel Vadot      - description:
39*7d0873ebSEmmanuel Vadot          The esai baud clock for esai controller used to
40*7d0873ebSEmmanuel Vadot          derive HCK, SCK and FS.
41*7d0873ebSEmmanuel Vadot      - description:
42*7d0873ebSEmmanuel Vadot          The system clock derived from ahb clock used to
43*7d0873ebSEmmanuel Vadot          derive HCK, SCK and FS.
44*7d0873ebSEmmanuel Vadot      - description:
45*7d0873ebSEmmanuel Vadot          The spba clock is required when ESAI is placed as a
46*7d0873ebSEmmanuel Vadot          bus slave of the Shared Peripheral Bus and when two
47*7d0873ebSEmmanuel Vadot          or more bus masters (CPU, DMA or DSP) try to access
48*7d0873ebSEmmanuel Vadot          it. This property is optional depending on the SoC
49*7d0873ebSEmmanuel Vadot          design.
50*7d0873ebSEmmanuel Vadot
51*7d0873ebSEmmanuel Vadot  clock-names:
52*7d0873ebSEmmanuel Vadot    minItems: 3
53*7d0873ebSEmmanuel Vadot    items:
54*7d0873ebSEmmanuel Vadot      - const: core
55*7d0873ebSEmmanuel Vadot      - const: extal
56*7d0873ebSEmmanuel Vadot      - const: fsys
57*7d0873ebSEmmanuel Vadot      - const: spba
58*7d0873ebSEmmanuel Vadot
59*7d0873ebSEmmanuel Vadot  dmas:
60*7d0873ebSEmmanuel Vadot    minItems: 2
61*7d0873ebSEmmanuel Vadot    maxItems: 2
62*7d0873ebSEmmanuel Vadot
63*7d0873ebSEmmanuel Vadot  dma-names:
64*7d0873ebSEmmanuel Vadot    items:
65*7d0873ebSEmmanuel Vadot      - const: rx
66*7d0873ebSEmmanuel Vadot      - const: tx
67*7d0873ebSEmmanuel Vadot
68*7d0873ebSEmmanuel Vadot  fsl,fifo-depth:
69*7d0873ebSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
70*7d0873ebSEmmanuel Vadot    default: 64
71*7d0873ebSEmmanuel Vadot    description:
72*7d0873ebSEmmanuel Vadot      The number of elements in the transmit and receive
73*7d0873ebSEmmanuel Vadot      FIFOs. This number is the maximum allowed value for
74*7d0873ebSEmmanuel Vadot      TFCR[TFWM] or RFCR[RFWM].
75*7d0873ebSEmmanuel Vadot
76*7d0873ebSEmmanuel Vadot  fsl,esai-synchronous:
77*7d0873ebSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
78*7d0873ebSEmmanuel Vadot    description:
79*7d0873ebSEmmanuel Vadot      This is a boolean property. If present, indicating
80*7d0873ebSEmmanuel Vadot      that ESAI would work in the synchronous mode, which
81*7d0873ebSEmmanuel Vadot      means all the settings for Receiving would be
82*7d0873ebSEmmanuel Vadot      duplicated from Transmission related registers.
83*7d0873ebSEmmanuel Vadot
84*7d0873ebSEmmanuel Vadot  big-endian:
85*7d0873ebSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
86*7d0873ebSEmmanuel Vadot    description:
87*7d0873ebSEmmanuel Vadot      If this property is absent, the native endian mode
88*7d0873ebSEmmanuel Vadot      will be in use as default, or the big endian mode
89*7d0873ebSEmmanuel Vadot      will be in use for all the device registers.
90*7d0873ebSEmmanuel Vadot
91*7d0873ebSEmmanuel Vadotrequired:
92*7d0873ebSEmmanuel Vadot  - compatible
93*7d0873ebSEmmanuel Vadot  - reg
94*7d0873ebSEmmanuel Vadot  - interrupts
95*7d0873ebSEmmanuel Vadot  - clocks
96*7d0873ebSEmmanuel Vadot  - clock-names
97*7d0873ebSEmmanuel Vadot  - dmas
98*7d0873ebSEmmanuel Vadot  - dma-names
99*7d0873ebSEmmanuel Vadot
100*7d0873ebSEmmanuel VadotunevaluatedProperties: false
101*7d0873ebSEmmanuel Vadot
102*7d0873ebSEmmanuel VadotallOf:
103*7d0873ebSEmmanuel Vadot  - $ref: dai-common.yaml#
104*7d0873ebSEmmanuel Vadot
105*7d0873ebSEmmanuel Vadotexamples:
106*7d0873ebSEmmanuel Vadot  - |
107*7d0873ebSEmmanuel Vadot    esai@2024000 {
108*7d0873ebSEmmanuel Vadot      compatible = "fsl,imx35-esai";
109*7d0873ebSEmmanuel Vadot      reg = <0x02024000 0x4000>;
110*7d0873ebSEmmanuel Vadot      interrupts = <0 51 0x04>;
111*7d0873ebSEmmanuel Vadot      clocks = <&clks 208>, <&clks 118>, <&clks 208>;
112*7d0873ebSEmmanuel Vadot      clock-names = "core", "extal", "fsys";
113*7d0873ebSEmmanuel Vadot      dmas = <&sdma 23 21 0>, <&sdma 24 21 0>;
114*7d0873ebSEmmanuel Vadot      dma-names = "rx", "tx";
115*7d0873ebSEmmanuel Vadot      fsl,fifo-depth = <128>;
116*7d0873ebSEmmanuel Vadot      fsl,esai-synchronous;
117*7d0873ebSEmmanuel Vadot      big-endian;
118*7d0873ebSEmmanuel Vadot    };
119