xref: /linux/Documentation/devicetree/bindings/sound/nvidia,tegra210-i2s.yaml (revision 7ae9fb1b7ecbb5d85d07857943f677fd1a559b18)
1665308c0SSameer Pujar# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2665308c0SSameer Pujar%YAML 1.2
3665308c0SSameer Pujar---
4665308c0SSameer Pujar$id: http://devicetree.org/schemas/sound/nvidia,tegra210-i2s.yaml#
5665308c0SSameer Pujar$schema: http://devicetree.org/meta-schemas/core.yaml#
6665308c0SSameer Pujar
7dd3cb467SAndrew Lunntitle: Tegra210 I2S Controller
8665308c0SSameer Pujar
9665308c0SSameer Pujardescription: |
10665308c0SSameer Pujar  The Inter-IC Sound (I2S) controller implements full-duplex,
11665308c0SSameer Pujar  bi-directional and single direction point-to-point serial
12665308c0SSameer Pujar  interfaces. It can interface with I2S compatible devices.
13665308c0SSameer Pujar  I2S controller can operate both in master and slave mode.
14665308c0SSameer Pujar
15665308c0SSameer Pujarmaintainers:
16665308c0SSameer Pujar  - Jon Hunter <jonathanh@nvidia.com>
17665308c0SSameer Pujar  - Sameer Pujar <spujar@nvidia.com>
18665308c0SSameer Pujar
1982d3ec1dSSameer PujarallOf:
20*3fda8532SKrzysztof Kozlowski  - $ref: dai-common.yaml#
2182d3ec1dSSameer Pujar
22665308c0SSameer Pujarproperties:
23665308c0SSameer Pujar  $nodename:
24665308c0SSameer Pujar    pattern: "^i2s@[0-9a-f]*$"
25665308c0SSameer Pujar
26665308c0SSameer Pujar  compatible:
27665308c0SSameer Pujar    oneOf:
28665308c0SSameer Pujar      - const: nvidia,tegra210-i2s
29665308c0SSameer Pujar      - items:
30665308c0SSameer Pujar          - enum:
31fed44d6cSSameer Pujar              - nvidia,tegra234-i2s
32665308c0SSameer Pujar              - nvidia,tegra194-i2s
33665308c0SSameer Pujar              - nvidia,tegra186-i2s
34665308c0SSameer Pujar          - const: nvidia,tegra210-i2s
35665308c0SSameer Pujar
36665308c0SSameer Pujar  reg:
37665308c0SSameer Pujar    maxItems: 1
38665308c0SSameer Pujar
39665308c0SSameer Pujar  clocks:
40665308c0SSameer Pujar    minItems: 1
41665308c0SSameer Pujar    items:
42665308c0SSameer Pujar      - description: I2S bit clock
43665308c0SSameer Pujar      - description:
44665308c0SSameer Pujar          Sync input clock, which can act as clock source to other I/O
45665308c0SSameer Pujar          modules in AHUB. The Tegra I2S driver sets this clock rate as
46665308c0SSameer Pujar          per bit clock rate. I/O module which wants to use this clock
47665308c0SSameer Pujar          as source, can mention this clock as parent in the DT bindings.
48665308c0SSameer Pujar          This is an optional clock entry, since it is only required when
49665308c0SSameer Pujar          some other I/O wants to reference from a particular I2Sx
50665308c0SSameer Pujar          instance.
51665308c0SSameer Pujar
52665308c0SSameer Pujar  clock-names:
53665308c0SSameer Pujar    minItems: 1
54665308c0SSameer Pujar    items:
55665308c0SSameer Pujar      - const: i2s
56665308c0SSameer Pujar      - const: sync_input
57665308c0SSameer Pujar
58665308c0SSameer Pujar  assigned-clocks:
59665308c0SSameer Pujar    minItems: 1
60665308c0SSameer Pujar    maxItems: 2
61665308c0SSameer Pujar
62665308c0SSameer Pujar  assigned-clock-parents:
63665308c0SSameer Pujar    minItems: 1
64665308c0SSameer Pujar    maxItems: 2
65665308c0SSameer Pujar
66665308c0SSameer Pujar  assigned-clock-rates:
67665308c0SSameer Pujar    minItems: 1
68665308c0SSameer Pujar    maxItems: 2
69665308c0SSameer Pujar
70665308c0SSameer Pujar  sound-name-prefix:
71665308c0SSameer Pujar    pattern: "^I2S[1-9]$"
72665308c0SSameer Pujar
739e0f86fdSSameer Pujar  ports:
749c1e0439SRob Herring    $ref: /schemas/graph.yaml#/properties/ports
759e0f86fdSSameer Pujar    properties:
769e0f86fdSSameer Pujar      port@0:
779c1e0439SRob Herring        $ref: audio-graph-port.yaml#
789c1e0439SRob Herring        unevaluatedProperties: false
799e0f86fdSSameer Pujar        description: |
809e0f86fdSSameer Pujar          I2S ACIF (Audio Client Interface) port connected to the
819e0f86fdSSameer Pujar          corresponding AHUB (Audio Hub) ACIF port.
829e0f86fdSSameer Pujar
839e0f86fdSSameer Pujar      port@1:
849c1e0439SRob Herring        $ref: audio-graph-port.yaml#
859c1e0439SRob Herring        unevaluatedProperties: false
869e0f86fdSSameer Pujar        description: |
879e0f86fdSSameer Pujar          I2S DAP (Digital Audio Port) interface which can be connected
889e0f86fdSSameer Pujar          to external audio codec for playback or capture.
899e0f86fdSSameer Pujar
90665308c0SSameer Pujarrequired:
91665308c0SSameer Pujar  - compatible
92665308c0SSameer Pujar  - reg
93665308c0SSameer Pujar  - clocks
94665308c0SSameer Pujar  - clock-names
95665308c0SSameer Pujar  - assigned-clocks
96665308c0SSameer Pujar  - assigned-clock-parents
97665308c0SSameer Pujar
989c1e0439SRob HerringadditionalProperties: false
995be478f9SRob Herring
100665308c0SSameer Pujarexamples:
101665308c0SSameer Pujar  - |
102665308c0SSameer Pujar    #include<dt-bindings/clock/tegra210-car.h>
103665308c0SSameer Pujar
104665308c0SSameer Pujar    i2s@702d1000 {
105665308c0SSameer Pujar        compatible = "nvidia,tegra210-i2s";
106665308c0SSameer Pujar        reg = <0x702d1000 0x100>;
107665308c0SSameer Pujar        clocks = <&tegra_car TEGRA210_CLK_I2S0>;
108665308c0SSameer Pujar        clock-names = "i2s";
109665308c0SSameer Pujar        assigned-clocks = <&tegra_car TEGRA210_CLK_I2S0>;
110665308c0SSameer Pujar        assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
111665308c0SSameer Pujar        assigned-clock-rates = <1536000>;
112665308c0SSameer Pujar        sound-name-prefix = "I2S1";
113665308c0SSameer Pujar    };
114665308c0SSameer Pujar
115665308c0SSameer Pujar...
116