xref: /freebsd/sys/contrib/device-tree/Bindings/sound/davinci-mcbsp.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/davinci-mcbsp.yaml#
5*7d0873ebSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*7d0873ebSEmmanuel Vadot
7*7d0873ebSEmmanuel Vadottitle: McBSP Controller for TI SoCs
8*7d0873ebSEmmanuel Vadot
9*7d0873ebSEmmanuel Vadotmaintainers:
10*7d0873ebSEmmanuel Vadot  - Bastien Curutchet <bastien.curutchet@bootlin.com>
11*7d0873ebSEmmanuel Vadot
12*7d0873ebSEmmanuel VadotallOf:
13*7d0873ebSEmmanuel Vadot  - $ref: dai-common.yaml#
14*7d0873ebSEmmanuel Vadot
15*7d0873ebSEmmanuel Vadotproperties:
16*7d0873ebSEmmanuel Vadot  compatible:
17*7d0873ebSEmmanuel Vadot    enum:
18*7d0873ebSEmmanuel Vadot      - ti,da850-mcbsp
19*7d0873ebSEmmanuel Vadot
20*7d0873ebSEmmanuel Vadot  reg:
21*7d0873ebSEmmanuel Vadot    minItems: 1
22*7d0873ebSEmmanuel Vadot    items:
23*7d0873ebSEmmanuel Vadot      - description: CFG registers
24*7d0873ebSEmmanuel Vadot      - description: data registers
25*7d0873ebSEmmanuel Vadot
26*7d0873ebSEmmanuel Vadot  reg-names:
27*7d0873ebSEmmanuel Vadot    minItems: 1
28*7d0873ebSEmmanuel Vadot    items:
29*7d0873ebSEmmanuel Vadot      - const: mpu
30*7d0873ebSEmmanuel Vadot      - const: dat
31*7d0873ebSEmmanuel Vadot
32*7d0873ebSEmmanuel Vadot  dmas:
33*7d0873ebSEmmanuel Vadot    items:
34*7d0873ebSEmmanuel Vadot      - description: transmission DMA channel
35*7d0873ebSEmmanuel Vadot      - description: reception DMA channel
36*7d0873ebSEmmanuel Vadot
37*7d0873ebSEmmanuel Vadot  dma-names:
38*7d0873ebSEmmanuel Vadot    items:
39*7d0873ebSEmmanuel Vadot      - const: tx
40*7d0873ebSEmmanuel Vadot      - const: rx
41*7d0873ebSEmmanuel Vadot
42*7d0873ebSEmmanuel Vadot  interrupts:
43*7d0873ebSEmmanuel Vadot    items:
44*7d0873ebSEmmanuel Vadot      - description: RX interrupt
45*7d0873ebSEmmanuel Vadot      - description: TX interrupt
46*7d0873ebSEmmanuel Vadot
47*7d0873ebSEmmanuel Vadot  interrupt-names:
48*7d0873ebSEmmanuel Vadot    items:
49*7d0873ebSEmmanuel Vadot      - const: rx
50*7d0873ebSEmmanuel Vadot      - const: tx
51*7d0873ebSEmmanuel Vadot
52*7d0873ebSEmmanuel Vadot  clocks:
53*7d0873ebSEmmanuel Vadot    minItems: 1
54*7d0873ebSEmmanuel Vadot    items:
55*7d0873ebSEmmanuel Vadot      - description: functional clock
56*7d0873ebSEmmanuel Vadot      - description: external input clock for sample rate generator.
57*7d0873ebSEmmanuel Vadot
58*7d0873ebSEmmanuel Vadot  clock-names:
59*7d0873ebSEmmanuel Vadot    minItems: 1
60*7d0873ebSEmmanuel Vadot    items:
61*7d0873ebSEmmanuel Vadot      - const: fck
62*7d0873ebSEmmanuel Vadot      - const: clks
63*7d0873ebSEmmanuel Vadot
64*7d0873ebSEmmanuel Vadot  power-domains:
65*7d0873ebSEmmanuel Vadot    maxItems: 1
66*7d0873ebSEmmanuel Vadot
67*7d0873ebSEmmanuel Vadot  "#sound-dai-cells":
68*7d0873ebSEmmanuel Vadot    const: 0
69*7d0873ebSEmmanuel Vadot
70*7d0873ebSEmmanuel Vadot  ti,T1-framing-tx:
71*7d0873ebSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
72*7d0873ebSEmmanuel Vadot    description:
73*7d0873ebSEmmanuel Vadot      If the property is present, tx data delay is set to 2 bit clock periods.
74*7d0873ebSEmmanuel Vadot      McBSP will insert a blank period (high-impedance period) before the first
75*7d0873ebSEmmanuel Vadot      data bit. This can be used to interface to T1-framing devices.
76*7d0873ebSEmmanuel Vadot
77*7d0873ebSEmmanuel Vadot  ti,T1-framing-rx:
78*7d0873ebSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
79*7d0873ebSEmmanuel Vadot    description:
80*7d0873ebSEmmanuel Vadot      If the property is present, rx data delay is set to 2 bit clock periods.
81*7d0873ebSEmmanuel Vadot      McBSP will discard the bit preceding the data stream (called framing bit).
82*7d0873ebSEmmanuel Vadot      This can be used to interface to T1-framing devices.
83*7d0873ebSEmmanuel Vadot
84*7d0873ebSEmmanuel Vadotrequired:
85*7d0873ebSEmmanuel Vadot  - "#sound-dai-cells"
86*7d0873ebSEmmanuel Vadot  - compatible
87*7d0873ebSEmmanuel Vadot  - reg
88*7d0873ebSEmmanuel Vadot  - reg-names
89*7d0873ebSEmmanuel Vadot  - dmas
90*7d0873ebSEmmanuel Vadot  - dma-names
91*7d0873ebSEmmanuel Vadot  - clocks
92*7d0873ebSEmmanuel Vadot
93*7d0873ebSEmmanuel VadotunevaluatedProperties: false
94*7d0873ebSEmmanuel Vadot
95*7d0873ebSEmmanuel Vadotexamples:
96*7d0873ebSEmmanuel Vadot  - |
97*7d0873ebSEmmanuel Vadot    mcbsp0@1d10000 {
98*7d0873ebSEmmanuel Vadot      #sound-dai-cells = <0>;
99*7d0873ebSEmmanuel Vadot      compatible = "ti,da850-mcbsp";
100*7d0873ebSEmmanuel Vadot      pinctrl-names = "default";
101*7d0873ebSEmmanuel Vadot      pinctrl-0 = <&mcbsp0_pins>;
102*7d0873ebSEmmanuel Vadot
103*7d0873ebSEmmanuel Vadot      reg = <0x111000 0x1000>,
104*7d0873ebSEmmanuel Vadot            <0x311000 0x1000>;
105*7d0873ebSEmmanuel Vadot      reg-names = "mpu", "dat";
106*7d0873ebSEmmanuel Vadot      interrupts = <97>, <98>;
107*7d0873ebSEmmanuel Vadot      interrupt-names = "rx", "tx";
108*7d0873ebSEmmanuel Vadot      dmas = <&edma0 3 1>,
109*7d0873ebSEmmanuel Vadot             <&edma0 2 1>;
110*7d0873ebSEmmanuel Vadot      dma-names = "tx", "rx";
111*7d0873ebSEmmanuel Vadot
112*7d0873ebSEmmanuel Vadot      clocks = <&psc1 14>;
113*7d0873ebSEmmanuel Vadot    };
114