1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
4 $id: http://devicetree.org/schemas/sound/nvidia,tegra210-ahub.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Tegra210 AHUB Device Tree Bindings
10 The Audio Hub (AHUB) comprises a collection of hardware accelerators
11 for audio pre-processing, post-processing and a programmable full
12 crossbar for routing audio data across these accelerators. It has
13 external interfaces such as I2S, DMIC, DSPK. It interfaces with ADMA
14 engine through ADMAIF.
17 - Jon Hunter <jonathanh@nvidia.com>
18 - Sameer Pujar <spujar@nvidia.com>
22 pattern: "^ahub@[0-9a-f]*$"
27 - nvidia,tegra210-ahub
28 - nvidia,tegra186-ahub
29 - nvidia,tegra234-ahub
31 - const: nvidia,tegra194-ahub
32 - const: nvidia,tegra186-ahub
46 assigned-clock-parents:
61 $ref: /schemas/graph.yaml#/properties/ports
63 Contains list of ACIF (Audio CIF) port nodes for AHUB (Audio Hub).
64 These are connected to ACIF interfaces of AHUB clients. Thus the
65 number of port nodes depend on the number of clients that AHUB may
66 have depending on the SoC revision.
70 $ref: audio-graph-port.yaml#
71 unevaluatedProperties: false
79 $ref: nvidia,tegra210-dmic.yaml#
83 $ref: nvidia,tegra210-admaif.yaml#
87 $ref: nvidia,tegra186-dspk.yaml#
91 $ref: nvidia,tegra210-mvc.yaml#
95 $ref: nvidia,tegra210-sfc.yaml#
99 $ref: nvidia,tegra210-amx.yaml#
103 $ref: nvidia,tegra210-adx.yaml#
105 '^amixer@[0-9a-f]+$':
107 $ref: nvidia,tegra210-mixer.yaml#
111 $ref: nvidia,tegra186-asrc.yaml#
119 - assigned-clock-parents
124 additionalProperties: false
128 #include<dt-bindings/clock/tegra210-car.h>
131 compatible = "nvidia,tegra210-ahub";
132 reg = <0x702d0800 0x800>;
133 clocks = <&tegra_car TEGRA210_CLK_D_AUDIO>;
134 clock-names = "ahub";
135 assigned-clocks = <&tegra_car TEGRA210_CLK_D_AUDIO>;
136 assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
137 #address-cells = <1>;
139 ranges = <0x702d0000 0x702d0000 0x0000e400>;
141 // All AHUB child nodes below
143 compatible = "nvidia,tegra210-admaif";
144 reg = <0x702d0000 0x800>;
145 dmas = <&adma 1>, <&adma 1>,
146 <&adma 2>, <&adma 2>,
147 <&adma 3>, <&adma 3>,
148 <&adma 4>, <&adma 4>,
149 <&adma 5>, <&adma 5>,
150 <&adma 6>, <&adma 6>,
151 <&adma 7>, <&adma 7>,
152 <&adma 8>, <&adma 8>,
153 <&adma 9>, <&adma 9>,
154 <&adma 10>, <&adma 10>;
155 dma-names = "rx1", "tx1",
168 compatible = "nvidia,tegra210-i2s";
169 reg = <0x702d1000 0x100>;
170 clocks = <&tegra_car TEGRA210_CLK_I2S0>;
172 assigned-clocks = <&tegra_car TEGRA210_CLK_I2S0>;
173 assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
174 assigned-clock-rates = <1536000>;
175 sound-name-prefix = "I2S1";
179 compatible = "nvidia,tegra210-dmic";
180 reg = <0x702d4000 0x100>;
181 clocks = <&tegra_car TEGRA210_CLK_DMIC1>;
182 clock-names = "dmic";
183 assigned-clocks = <&tegra_car TEGRA210_CLK_DMIC1>;
184 assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
185 assigned-clock-rates = <3072000>;
186 sound-name-prefix = "DMIC1";
189 // More child nodes to follow