xref: /freebsd/sys/contrib/device-tree/Bindings/sound/nvidia,tegra20-i2s.yaml (revision e67e85659c0de33e617e5fbf1028c6e8b49eee53)
1*e67e8565SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*e67e8565SEmmanuel Vadot%YAML 1.2
3*e67e8565SEmmanuel Vadot---
4*e67e8565SEmmanuel Vadot$id: http://devicetree.org/schemas/sound/nvidia,tegra20-i2s.yaml#
5*e67e8565SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*e67e8565SEmmanuel Vadot
7*e67e8565SEmmanuel Vadottitle: NVIDIA Tegra20 I2S Controller
8*e67e8565SEmmanuel Vadot
9*e67e8565SEmmanuel Vadotdescription: |
10*e67e8565SEmmanuel Vadot  The I2S Controller streams synchronous serial audio data between system
11*e67e8565SEmmanuel Vadot  memory and an external audio device. The controller supports the I2S Left
12*e67e8565SEmmanuel Vadot  Justified Mode, Right Justified Mode, and DSP mode formats.
13*e67e8565SEmmanuel Vadot
14*e67e8565SEmmanuel Vadotmaintainers:
15*e67e8565SEmmanuel Vadot  - Thierry Reding <treding@nvidia.com>
16*e67e8565SEmmanuel Vadot  - Jon Hunter <jonathanh@nvidia.com>
17*e67e8565SEmmanuel Vadot
18*e67e8565SEmmanuel Vadotproperties:
19*e67e8565SEmmanuel Vadot  compatible:
20*e67e8565SEmmanuel Vadot    const: nvidia,tegra20-i2s
21*e67e8565SEmmanuel Vadot
22*e67e8565SEmmanuel Vadot  reg:
23*e67e8565SEmmanuel Vadot    maxItems: 1
24*e67e8565SEmmanuel Vadot
25*e67e8565SEmmanuel Vadot  resets:
26*e67e8565SEmmanuel Vadot    maxItems: 1
27*e67e8565SEmmanuel Vadot
28*e67e8565SEmmanuel Vadot  reset-names:
29*e67e8565SEmmanuel Vadot    const: i2s
30*e67e8565SEmmanuel Vadot
31*e67e8565SEmmanuel Vadot  interrupts:
32*e67e8565SEmmanuel Vadot    maxItems: 1
33*e67e8565SEmmanuel Vadot
34*e67e8565SEmmanuel Vadot  clocks:
35*e67e8565SEmmanuel Vadot    minItems: 1
36*e67e8565SEmmanuel Vadot
37*e67e8565SEmmanuel Vadot  dmas:
38*e67e8565SEmmanuel Vadot    minItems: 2
39*e67e8565SEmmanuel Vadot
40*e67e8565SEmmanuel Vadot  dma-names:
41*e67e8565SEmmanuel Vadot    items:
42*e67e8565SEmmanuel Vadot      - const: rx
43*e67e8565SEmmanuel Vadot      - const: tx
44*e67e8565SEmmanuel Vadot
45*e67e8565SEmmanuel Vadot  nvidia,fixed-parent-rate:
46*e67e8565SEmmanuel Vadot    description: |
47*e67e8565SEmmanuel Vadot      Specifies whether board prefers parent clock to stay at a fixed rate.
48*e67e8565SEmmanuel Vadot      This allows multiple Tegra20 audio components work simultaneously by
49*e67e8565SEmmanuel Vadot      limiting number of supportable audio rates.
50*e67e8565SEmmanuel Vadot    type: boolean
51*e67e8565SEmmanuel Vadot
52*e67e8565SEmmanuel Vadotrequired:
53*e67e8565SEmmanuel Vadot  - compatible
54*e67e8565SEmmanuel Vadot  - reg
55*e67e8565SEmmanuel Vadot  - resets
56*e67e8565SEmmanuel Vadot  - reset-names
57*e67e8565SEmmanuel Vadot  - interrupts
58*e67e8565SEmmanuel Vadot  - clocks
59*e67e8565SEmmanuel Vadot  - dmas
60*e67e8565SEmmanuel Vadot  - dma-names
61*e67e8565SEmmanuel Vadot
62*e67e8565SEmmanuel VadotadditionalProperties: false
63*e67e8565SEmmanuel Vadot
64*e67e8565SEmmanuel Vadotexamples:
65*e67e8565SEmmanuel Vadot  - |
66*e67e8565SEmmanuel Vadot    i2s@70002800 {
67*e67e8565SEmmanuel Vadot        compatible = "nvidia,tegra20-i2s";
68*e67e8565SEmmanuel Vadot        reg = <0x70002800 0x200>;
69*e67e8565SEmmanuel Vadot        interrupts = <45>;
70*e67e8565SEmmanuel Vadot        clocks = <&tegra_car 11>;
71*e67e8565SEmmanuel Vadot        resets = <&tegra_car 11>;
72*e67e8565SEmmanuel Vadot        reset-names = "i2s";
73*e67e8565SEmmanuel Vadot        dmas = <&apbdma 21>, <&apbdma 21>;
74*e67e8565SEmmanuel Vadot        dma-names = "rx", "tx";
75*e67e8565SEmmanuel Vadot    };
76*e67e8565SEmmanuel Vadot
77*e67e8565SEmmanuel Vadot...
78