1665308c0SSameer Pujar# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2665308c0SSameer Pujar%YAML 1.2 3665308c0SSameer Pujar--- 4665308c0SSameer Pujar$id: http://devicetree.org/schemas/sound/nvidia,tegra210-ahub.yaml# 5665308c0SSameer Pujar$schema: http://devicetree.org/meta-schemas/core.yaml# 6665308c0SSameer Pujar 7dd3cb467SAndrew Lunntitle: Tegra210 AHUB 8665308c0SSameer Pujar 9665308c0SSameer Pujardescription: | 10665308c0SSameer Pujar The Audio Hub (AHUB) comprises a collection of hardware accelerators 11665308c0SSameer Pujar for audio pre-processing, post-processing and a programmable full 12665308c0SSameer Pujar crossbar for routing audio data across these accelerators. It has 13665308c0SSameer Pujar external interfaces such as I2S, DMIC, DSPK. It interfaces with ADMA 14665308c0SSameer Pujar engine through ADMAIF. 15665308c0SSameer Pujar 16665308c0SSameer Pujarmaintainers: 17665308c0SSameer Pujar - Jon Hunter <jonathanh@nvidia.com> 18665308c0SSameer Pujar - Sameer Pujar <spujar@nvidia.com> 19665308c0SSameer Pujar 20665308c0SSameer Pujarproperties: 21665308c0SSameer Pujar $nodename: 22665308c0SSameer Pujar pattern: "^ahub@[0-9a-f]*$" 23665308c0SSameer Pujar 24665308c0SSameer Pujar compatible: 25665308c0SSameer Pujar oneOf: 26665308c0SSameer Pujar - enum: 27665308c0SSameer Pujar - nvidia,tegra210-ahub 28665308c0SSameer Pujar - nvidia,tegra186-ahub 29fed44d6cSSameer Pujar - nvidia,tegra234-ahub 30665308c0SSameer Pujar - items: 31665308c0SSameer Pujar - const: nvidia,tegra194-ahub 32665308c0SSameer Pujar - const: nvidia,tegra186-ahub 33665308c0SSameer Pujar 34665308c0SSameer Pujar reg: 35665308c0SSameer Pujar maxItems: 1 36665308c0SSameer Pujar 37665308c0SSameer Pujar clocks: 38665308c0SSameer Pujar maxItems: 1 39665308c0SSameer Pujar 40665308c0SSameer Pujar clock-names: 41665308c0SSameer Pujar const: ahub 42665308c0SSameer Pujar 43665308c0SSameer Pujar assigned-clocks: 44665308c0SSameer Pujar maxItems: 1 45665308c0SSameer Pujar 46665308c0SSameer Pujar assigned-clock-parents: 47665308c0SSameer Pujar maxItems: 1 48665308c0SSameer Pujar 49665308c0SSameer Pujar assigned-clock-rates: 50665308c0SSameer Pujar maxItems: 1 51665308c0SSameer Pujar 52665308c0SSameer Pujar "#address-cells": 53*6427569fSThierry Reding enum: [ 1, 2 ] 54665308c0SSameer Pujar 55665308c0SSameer Pujar "#size-cells": 56*6427569fSThierry Reding enum: [ 1, 2 ] 57665308c0SSameer Pujar 58665308c0SSameer Pujar ranges: true 59665308c0SSameer Pujar 609e0f86fdSSameer Pujar ports: 619c1e0439SRob Herring $ref: /schemas/graph.yaml#/properties/ports 629e0f86fdSSameer Pujar description: | 639e0f86fdSSameer Pujar Contains list of ACIF (Audio CIF) port nodes for AHUB (Audio Hub). 649e0f86fdSSameer Pujar These are connected to ACIF interfaces of AHUB clients. Thus the 659e0f86fdSSameer Pujar number of port nodes depend on the number of clients that AHUB may 669e0f86fdSSameer Pujar have depending on the SoC revision. 679e0f86fdSSameer Pujar 688b01a0d0SRob Herring patternProperties: 699c1e0439SRob Herring '^port@[0-9]': 709c1e0439SRob Herring $ref: audio-graph-port.yaml# 719c1e0439SRob Herring unevaluatedProperties: false 729c1e0439SRob Herring 739c1e0439SRob HerringpatternProperties: 748b01a0d0SRob Herring '^i2s@[0-9a-f]+$': 758b01a0d0SRob Herring type: object 768b01a0d0SRob Herring 778b01a0d0SRob Herring '^dmic@[0-9a-f]+$': 788b01a0d0SRob Herring type: object 798b01a0d0SRob Herring $ref: nvidia,tegra210-dmic.yaml# 808b01a0d0SRob Herring 818b01a0d0SRob Herring '^admaif@[0-9a-f]+$': 828b01a0d0SRob Herring type: object 838b01a0d0SRob Herring $ref: nvidia,tegra210-admaif.yaml# 848b01a0d0SRob Herring 858b01a0d0SRob Herring '^dspk@[0-9a-f]+$': 868b01a0d0SRob Herring type: object 878b01a0d0SRob Herring $ref: nvidia,tegra186-dspk.yaml# 888b01a0d0SRob Herring 89aa56a9deSSameer Pujar '^mvc@[0-9a-f]+$': 90aa56a9deSSameer Pujar type: object 91aa56a9deSSameer Pujar $ref: nvidia,tegra210-mvc.yaml# 92aa56a9deSSameer Pujar 93aa56a9deSSameer Pujar '^sfc@[0-9a-f]+$': 94aa56a9deSSameer Pujar type: object 95aa56a9deSSameer Pujar $ref: nvidia,tegra210-sfc.yaml# 96aa56a9deSSameer Pujar 97aa56a9deSSameer Pujar '^amx@[0-9a-f]+$': 98aa56a9deSSameer Pujar type: object 99aa56a9deSSameer Pujar $ref: nvidia,tegra210-amx.yaml# 100aa56a9deSSameer Pujar 101aa56a9deSSameer Pujar '^adx@[0-9a-f]+$': 102aa56a9deSSameer Pujar type: object 103aa56a9deSSameer Pujar $ref: nvidia,tegra210-adx.yaml# 104aa56a9deSSameer Pujar 105aa56a9deSSameer Pujar '^amixer@[0-9a-f]+$': 106aa56a9deSSameer Pujar type: object 107aa56a9deSSameer Pujar $ref: nvidia,tegra210-mixer.yaml# 108aa56a9deSSameer Pujar 109c54ce1a1SSameer Pujar '^asrc@[0-9a-f]+$': 110c54ce1a1SSameer Pujar type: object 111c54ce1a1SSameer Pujar $ref: nvidia,tegra186-asrc.yaml# 112c54ce1a1SSameer Pujar 11345c6c5e0SSameer Pujar '^processing-engine@[0-9a-f]+$': 11445c6c5e0SSameer Pujar type: object 11545c6c5e0SSameer Pujar $ref: nvidia,tegra210-ope.yaml# 11645c6c5e0SSameer Pujar 117665308c0SSameer Pujarrequired: 118665308c0SSameer Pujar - compatible 119665308c0SSameer Pujar - reg 120665308c0SSameer Pujar - clocks 121665308c0SSameer Pujar - clock-names 122665308c0SSameer Pujar - assigned-clocks 123665308c0SSameer Pujar - assigned-clock-parents 124665308c0SSameer Pujar - "#address-cells" 125665308c0SSameer Pujar - "#size-cells" 126665308c0SSameer Pujar - ranges 127665308c0SSameer Pujar 1289c1e0439SRob HerringadditionalProperties: false 1296a0e321eSRob Herring 130665308c0SSameer Pujarexamples: 131665308c0SSameer Pujar - | 132665308c0SSameer Pujar #include<dt-bindings/clock/tegra210-car.h> 133665308c0SSameer Pujar 134665308c0SSameer Pujar ahub@702d0800 { 135665308c0SSameer Pujar compatible = "nvidia,tegra210-ahub"; 136665308c0SSameer Pujar reg = <0x702d0800 0x800>; 137665308c0SSameer Pujar clocks = <&tegra_car TEGRA210_CLK_D_AUDIO>; 138665308c0SSameer Pujar clock-names = "ahub"; 139665308c0SSameer Pujar assigned-clocks = <&tegra_car TEGRA210_CLK_D_AUDIO>; 140665308c0SSameer Pujar assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>; 141665308c0SSameer Pujar #address-cells = <1>; 142665308c0SSameer Pujar #size-cells = <1>; 143665308c0SSameer Pujar ranges = <0x702d0000 0x702d0000 0x0000e400>; 144665308c0SSameer Pujar 145665308c0SSameer Pujar // All AHUB child nodes below 146665308c0SSameer Pujar admaif@702d0000 { 147665308c0SSameer Pujar compatible = "nvidia,tegra210-admaif"; 148665308c0SSameer Pujar reg = <0x702d0000 0x800>; 149665308c0SSameer Pujar dmas = <&adma 1>, <&adma 1>, 150665308c0SSameer Pujar <&adma 2>, <&adma 2>, 151665308c0SSameer Pujar <&adma 3>, <&adma 3>, 152665308c0SSameer Pujar <&adma 4>, <&adma 4>, 153665308c0SSameer Pujar <&adma 5>, <&adma 5>, 154665308c0SSameer Pujar <&adma 6>, <&adma 6>, 155665308c0SSameer Pujar <&adma 7>, <&adma 7>, 156665308c0SSameer Pujar <&adma 8>, <&adma 8>, 157665308c0SSameer Pujar <&adma 9>, <&adma 9>, 158665308c0SSameer Pujar <&adma 10>, <&adma 10>; 159665308c0SSameer Pujar dma-names = "rx1", "tx1", 160665308c0SSameer Pujar "rx2", "tx2", 161665308c0SSameer Pujar "rx3", "tx3", 162665308c0SSameer Pujar "rx4", "tx4", 163665308c0SSameer Pujar "rx5", "tx5", 164665308c0SSameer Pujar "rx6", "tx6", 165665308c0SSameer Pujar "rx7", "tx7", 166665308c0SSameer Pujar "rx8", "tx8", 167665308c0SSameer Pujar "rx9", "tx9", 168665308c0SSameer Pujar "rx10", "tx10"; 169665308c0SSameer Pujar }; 170665308c0SSameer Pujar 171665308c0SSameer Pujar i2s@702d1000 { 172665308c0SSameer Pujar compatible = "nvidia,tegra210-i2s"; 173665308c0SSameer Pujar reg = <0x702d1000 0x100>; 174665308c0SSameer Pujar clocks = <&tegra_car TEGRA210_CLK_I2S0>; 175665308c0SSameer Pujar clock-names = "i2s"; 176665308c0SSameer Pujar assigned-clocks = <&tegra_car TEGRA210_CLK_I2S0>; 177665308c0SSameer Pujar assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>; 178665308c0SSameer Pujar assigned-clock-rates = <1536000>; 179665308c0SSameer Pujar sound-name-prefix = "I2S1"; 180665308c0SSameer Pujar }; 181665308c0SSameer Pujar 182665308c0SSameer Pujar dmic@702d4000 { 183665308c0SSameer Pujar compatible = "nvidia,tegra210-dmic"; 184665308c0SSameer Pujar reg = <0x702d4000 0x100>; 185665308c0SSameer Pujar clocks = <&tegra_car TEGRA210_CLK_DMIC1>; 186665308c0SSameer Pujar clock-names = "dmic"; 187665308c0SSameer Pujar assigned-clocks = <&tegra_car TEGRA210_CLK_DMIC1>; 188665308c0SSameer Pujar assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>; 189665308c0SSameer Pujar assigned-clock-rates = <3072000>; 190665308c0SSameer Pujar sound-name-prefix = "DMIC1"; 191665308c0SSameer Pujar }; 192665308c0SSameer Pujar 193665308c0SSameer Pujar // More child nodes to follow 194665308c0SSameer Pujar }; 195665308c0SSameer Pujar 196665308c0SSameer Pujar... 197