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: audio-graph-port.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 maxItems: 2 41 items: 42 - description: I2S bit clock 43 - description: 44 Sync input clock, which can act as clock source to other I/O 45 modules in AHUB. The Tegra I2S driver sets this clock rate as 46 per bit clock rate. I/O module which wants to use this clock 47 as source, can mention this clock as parent in the DT bindings. 48 This is an optional clock entry, since it is only required when 49 some other I/O wants to reference from a particular I2Sx 50 instance. 51 52 clock-names: 53 minItems: 1 54 maxItems: 2 55 items: 56 - const: i2s 57 - const: sync_input 58 59 assigned-clocks: 60 minItems: 1 61 maxItems: 2 62 63 assigned-clock-parents: 64 minItems: 1 65 maxItems: 2 66 67 assigned-clock-rates: 68 minItems: 1 69 maxItems: 2 70 71 sound-name-prefix: 72 pattern: "^I2S[1-9]$" 73 $ref: /schemas/types.yaml#/definitions/string 74 description: 75 Used as prefix for sink/source names of the component. Must be a 76 unique string among multiple instances of the same component. 77 The name can be "I2S1" or "I2S2" ... "I2Sx", where x depends 78 on the maximum available instances on a Tegra SoC. 79 80 ports: 81 type: object 82 properties: 83 port@0: 84 description: | 85 I2S ACIF (Audio Client Interface) port connected to the 86 corresponding AHUB (Audio Hub) ACIF port. 87 88 port@1: 89 description: | 90 I2S DAP (Digital Audio Port) interface which can be connected 91 to external audio codec for playback or capture. 92 93required: 94 - compatible 95 - reg 96 - clocks 97 - clock-names 98 - assigned-clocks 99 - assigned-clock-parents 100 101unevaluatedProperties: false 102 103examples: 104 - | 105 #include<dt-bindings/clock/tegra210-car.h> 106 107 i2s@702d1000 { 108 compatible = "nvidia,tegra210-i2s"; 109 reg = <0x702d1000 0x100>; 110 clocks = <&tegra_car TEGRA210_CLK_I2S0>; 111 clock-names = "i2s"; 112 assigned-clocks = <&tegra_car TEGRA210_CLK_I2S0>; 113 assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>; 114 assigned-clock-rates = <1536000>; 115 sound-name-prefix = "I2S1"; 116 }; 117 118... 119