1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2c66ec88fSEmmanuel Vadot%YAML 1.2 3c66ec88fSEmmanuel Vadot--- 4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/sound/nvidia,tegra210-i2s.yaml# 5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c66ec88fSEmmanuel Vadot 77ef62cebSEmmanuel Vadottitle: Tegra210 I2S Controller 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadotdescription: | 10c66ec88fSEmmanuel Vadot The Inter-IC Sound (I2S) controller implements full-duplex, 11c66ec88fSEmmanuel Vadot bi-directional and single direction point-to-point serial 12c66ec88fSEmmanuel Vadot interfaces. It can interface with I2S compatible devices. 13c66ec88fSEmmanuel Vadot I2S controller can operate both in master and slave mode. 14c66ec88fSEmmanuel Vadot 15c66ec88fSEmmanuel Vadotmaintainers: 16c66ec88fSEmmanuel Vadot - Jon Hunter <jonathanh@nvidia.com> 17c66ec88fSEmmanuel Vadot - Sameer Pujar <spujar@nvidia.com> 18c66ec88fSEmmanuel Vadot 198cc087a1SEmmanuel VadotallOf: 20*8bab661aSEmmanuel Vadot - $ref: dai-common.yaml# 218cc087a1SEmmanuel Vadot 22c66ec88fSEmmanuel Vadotproperties: 23c66ec88fSEmmanuel Vadot $nodename: 24c66ec88fSEmmanuel Vadot pattern: "^i2s@[0-9a-f]*$" 25c66ec88fSEmmanuel Vadot 26c66ec88fSEmmanuel Vadot compatible: 27c66ec88fSEmmanuel Vadot oneOf: 28c66ec88fSEmmanuel Vadot - const: nvidia,tegra210-i2s 29c66ec88fSEmmanuel Vadot - items: 30c66ec88fSEmmanuel Vadot - enum: 31c9ccf3a3SEmmanuel Vadot - nvidia,tegra234-i2s 32c66ec88fSEmmanuel Vadot - nvidia,tegra194-i2s 33c66ec88fSEmmanuel Vadot - nvidia,tegra186-i2s 34c66ec88fSEmmanuel Vadot - const: nvidia,tegra210-i2s 35c66ec88fSEmmanuel Vadot 36c66ec88fSEmmanuel Vadot reg: 37c66ec88fSEmmanuel Vadot maxItems: 1 38c66ec88fSEmmanuel Vadot 39c66ec88fSEmmanuel Vadot clocks: 40c66ec88fSEmmanuel Vadot minItems: 1 41c66ec88fSEmmanuel Vadot items: 42c66ec88fSEmmanuel Vadot - description: I2S bit clock 43c66ec88fSEmmanuel Vadot - description: 44c66ec88fSEmmanuel Vadot Sync input clock, which can act as clock source to other I/O 45c66ec88fSEmmanuel Vadot modules in AHUB. The Tegra I2S driver sets this clock rate as 46c66ec88fSEmmanuel Vadot per bit clock rate. I/O module which wants to use this clock 47c66ec88fSEmmanuel Vadot as source, can mention this clock as parent in the DT bindings. 48c66ec88fSEmmanuel Vadot This is an optional clock entry, since it is only required when 49c66ec88fSEmmanuel Vadot some other I/O wants to reference from a particular I2Sx 50c66ec88fSEmmanuel Vadot instance. 51c66ec88fSEmmanuel Vadot 52c66ec88fSEmmanuel Vadot clock-names: 53c66ec88fSEmmanuel Vadot minItems: 1 54c66ec88fSEmmanuel Vadot items: 55c66ec88fSEmmanuel Vadot - const: i2s 56c66ec88fSEmmanuel Vadot - const: sync_input 57c66ec88fSEmmanuel Vadot 58c66ec88fSEmmanuel Vadot assigned-clocks: 59c66ec88fSEmmanuel Vadot minItems: 1 60c66ec88fSEmmanuel Vadot maxItems: 2 61c66ec88fSEmmanuel Vadot 62c66ec88fSEmmanuel Vadot assigned-clock-parents: 63c66ec88fSEmmanuel Vadot minItems: 1 64c66ec88fSEmmanuel Vadot maxItems: 2 65c66ec88fSEmmanuel Vadot 66c66ec88fSEmmanuel Vadot assigned-clock-rates: 67c66ec88fSEmmanuel Vadot minItems: 1 68c66ec88fSEmmanuel Vadot maxItems: 2 69c66ec88fSEmmanuel Vadot 70c66ec88fSEmmanuel Vadot sound-name-prefix: 71c66ec88fSEmmanuel Vadot pattern: "^I2S[1-9]$" 72c66ec88fSEmmanuel Vadot 735def4c47SEmmanuel Vadot ports: 742eb4d8dcSEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/ports 755def4c47SEmmanuel Vadot properties: 765def4c47SEmmanuel Vadot port@0: 772eb4d8dcSEmmanuel Vadot $ref: audio-graph-port.yaml# 782eb4d8dcSEmmanuel Vadot unevaluatedProperties: false 795def4c47SEmmanuel Vadot description: | 805def4c47SEmmanuel Vadot I2S ACIF (Audio Client Interface) port connected to the 815def4c47SEmmanuel Vadot corresponding AHUB (Audio Hub) ACIF port. 825def4c47SEmmanuel Vadot 835def4c47SEmmanuel Vadot port@1: 842eb4d8dcSEmmanuel Vadot $ref: audio-graph-port.yaml# 852eb4d8dcSEmmanuel Vadot unevaluatedProperties: false 865def4c47SEmmanuel Vadot description: | 875def4c47SEmmanuel Vadot I2S DAP (Digital Audio Port) interface which can be connected 885def4c47SEmmanuel Vadot to external audio codec for playback or capture. 895def4c47SEmmanuel Vadot 90c66ec88fSEmmanuel Vadotrequired: 91c66ec88fSEmmanuel Vadot - compatible 92c66ec88fSEmmanuel Vadot - reg 93c66ec88fSEmmanuel Vadot - clocks 94c66ec88fSEmmanuel Vadot - clock-names 95c66ec88fSEmmanuel Vadot - assigned-clocks 96c66ec88fSEmmanuel Vadot - assigned-clock-parents 97c66ec88fSEmmanuel Vadot 982eb4d8dcSEmmanuel VadotadditionalProperties: false 996be33864SEmmanuel Vadot 100c66ec88fSEmmanuel Vadotexamples: 101c66ec88fSEmmanuel Vadot - | 102c66ec88fSEmmanuel Vadot #include<dt-bindings/clock/tegra210-car.h> 103c66ec88fSEmmanuel Vadot 104c66ec88fSEmmanuel Vadot i2s@702d1000 { 105c66ec88fSEmmanuel Vadot compatible = "nvidia,tegra210-i2s"; 106c66ec88fSEmmanuel Vadot reg = <0x702d1000 0x100>; 107c66ec88fSEmmanuel Vadot clocks = <&tegra_car TEGRA210_CLK_I2S0>; 108c66ec88fSEmmanuel Vadot clock-names = "i2s"; 109c66ec88fSEmmanuel Vadot assigned-clocks = <&tegra_car TEGRA210_CLK_I2S0>; 110c66ec88fSEmmanuel Vadot assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>; 111c66ec88fSEmmanuel Vadot assigned-clock-rates = <1536000>; 112c66ec88fSEmmanuel Vadot sound-name-prefix = "I2S1"; 113c66ec88fSEmmanuel Vadot }; 114c66ec88fSEmmanuel Vadot 115c66ec88fSEmmanuel Vadot... 116