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