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