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 Device Tree Bindings 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: name-prefix.yaml# 21 22properties: 23 $nodename: 24 pattern: "^i2s@[0-9a-f]*$" 25 26 compatible: 27 oneOf: 28 - const: nvidia,tegra210-i2s 29 - items: 30 - enum: 31 - nvidia,tegra194-i2s 32 - nvidia,tegra186-i2s 33 - const: nvidia,tegra210-i2s 34 35 reg: 36 maxItems: 1 37 38 clocks: 39 minItems: 1 40 items: 41 - description: I2S bit clock 42 - description: 43 Sync input clock, which can act as clock source to other I/O 44 modules in AHUB. The Tegra I2S driver sets this clock rate as 45 per bit clock rate. I/O module which wants to use this clock 46 as source, can mention this clock as parent in the DT bindings. 47 This is an optional clock entry, since it is only required when 48 some other I/O wants to reference from a particular I2Sx 49 instance. 50 51 clock-names: 52 minItems: 1 53 items: 54 - const: i2s 55 - const: sync_input 56 57 assigned-clocks: 58 minItems: 1 59 maxItems: 2 60 61 assigned-clock-parents: 62 minItems: 1 63 maxItems: 2 64 65 assigned-clock-rates: 66 minItems: 1 67 maxItems: 2 68 69 sound-name-prefix: 70 pattern: "^I2S[1-9]$" 71 72 ports: 73 $ref: /schemas/graph.yaml#/properties/ports 74 properties: 75 port@0: 76 $ref: audio-graph-port.yaml# 77 unevaluatedProperties: false 78 description: | 79 I2S ACIF (Audio Client Interface) port connected to the 80 corresponding AHUB (Audio Hub) ACIF port. 81 82 port@1: 83 $ref: audio-graph-port.yaml# 84 unevaluatedProperties: false 85 description: | 86 I2S DAP (Digital Audio Port) interface which can be connected 87 to external audio codec for playback or capture. 88 89required: 90 - compatible 91 - reg 92 - clocks 93 - clock-names 94 - assigned-clocks 95 - assigned-clock-parents 96 97additionalProperties: false 98 99examples: 100 - | 101 #include<dt-bindings/clock/tegra210-car.h> 102 103 i2s@702d1000 { 104 compatible = "nvidia,tegra210-i2s"; 105 reg = <0x702d1000 0x100>; 106 clocks = <&tegra_car TEGRA210_CLK_I2S0>; 107 clock-names = "i2s"; 108 assigned-clocks = <&tegra_car TEGRA210_CLK_I2S0>; 109 assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>; 110 assigned-clock-rates = <1536000>; 111 sound-name-prefix = "I2S1"; 112 }; 113 114... 115