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