116 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/sound/nvidia,tegra210-i2s.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Tegra210 I2S Controller8 9description: |10 The Inter-IC Sound (I2S) controller implements full-duplex,11 bi-directional and single direction point-to-point serial12 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 - const: nvidia,tegra210-i2s29 - items:30 - enum:31 - nvidia,tegra234-i2s32 - nvidia,tegra194-i2s33 - nvidia,tegra186-i2s34 - const: nvidia,tegra210-i2s35 36 reg:37 maxItems: 138 39 clocks:40 minItems: 141 items:42 - description: I2S bit clock43 - description:44 Sync input clock, which can act as clock source to other I/O45 modules in AHUB. The Tegra I2S driver sets this clock rate as46 per bit clock rate. I/O module which wants to use this clock47 as source, can mention this clock as parent in the DT bindings.48 This is an optional clock entry, since it is only required when49 some other I/O wants to reference from a particular I2Sx50 instance.51 52 clock-names:53 minItems: 154 items:55 - const: i2s56 - const: sync_input57 58 assigned-clocks:59 minItems: 160 maxItems: 261 62 assigned-clock-parents:63 minItems: 164 maxItems: 265 66 assigned-clock-rates:67 minItems: 168 maxItems: 269 70 sound-name-prefix:71 pattern: "^I2S[1-9]$"72 73 ports:74 $ref: /schemas/graph.yaml#/properties/ports75 properties:76 port@0:77 $ref: audio-graph-port.yaml#78 unevaluatedProperties: false79 description: |80 I2S ACIF (Audio Client Interface) port connected to the81 corresponding AHUB (Audio Hub) ACIF port.82 83 port@1:84 $ref: audio-graph-port.yaml#85 unevaluatedProperties: false86 description: |87 I2S DAP (Digital Audio Port) interface which can be connected88 to external audio codec for playback or capture.89 90required:91 - compatible92 - reg93 - clocks94 - clock-names95 - assigned-clocks96 - assigned-clock-parents97 98additionalProperties: false99 100examples:101 - |102 #include<dt-bindings/clock/tegra210-car.h>103 104 i2s@702d1000 {105 compatible = "nvidia,tegra210-i2s";106 reg = <0x702d1000 0x100>;107 clocks = <&tegra_car TEGRA210_CLK_I2S0>;108 clock-names = "i2s";109 assigned-clocks = <&tegra_car TEGRA210_CLK_I2S0>;110 assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;111 assigned-clock-rates = <1536000>;112 sound-name-prefix = "I2S1";113 };114 115...116