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