18c2ecf20Sopenharmony_ciNVIDIA Tegra30 AHUB (Audio Hub) 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ciRequired properties: 48c2ecf20Sopenharmony_ci- compatible : For Tegra30, must contain "nvidia,tegra30-ahub". For Tegra114, 58c2ecf20Sopenharmony_ci must contain "nvidia,tegra114-ahub". For Tegra124, must contain 68c2ecf20Sopenharmony_ci "nvidia,tegra124-ahub". Otherwise, must contain "nvidia,<chip>-ahub", 78c2ecf20Sopenharmony_ci plus at least one of the above, where <chip> is tegra132. 88c2ecf20Sopenharmony_ci- reg : Should contain the register physical address and length for each of 98c2ecf20Sopenharmony_ci the AHUB's register blocks. 108c2ecf20Sopenharmony_ci - Tegra30 requires 2 entries, for the APBIF and AHUB/AUDIO register blocks. 118c2ecf20Sopenharmony_ci - Tegra114 requires an additional entry, for the APBIF2 register block. 128c2ecf20Sopenharmony_ci- interrupts : Should contain AHUB interrupt 138c2ecf20Sopenharmony_ci- clocks : Must contain an entry for each entry in clock-names. 148c2ecf20Sopenharmony_ci See ../clocks/clock-bindings.txt for details. 158c2ecf20Sopenharmony_ci- clock-names : Must include the following entries: 168c2ecf20Sopenharmony_ci - d_audio 178c2ecf20Sopenharmony_ci - apbif 188c2ecf20Sopenharmony_ci- resets : Must contain an entry for each entry in reset-names. 198c2ecf20Sopenharmony_ci See ../reset/reset.txt for details. 208c2ecf20Sopenharmony_ci- reset-names : Must include the following entries: 218c2ecf20Sopenharmony_ci Tegra30 and later: 228c2ecf20Sopenharmony_ci - d_audio 238c2ecf20Sopenharmony_ci - apbif 248c2ecf20Sopenharmony_ci - i2s0 258c2ecf20Sopenharmony_ci - i2s1 268c2ecf20Sopenharmony_ci - i2s2 278c2ecf20Sopenharmony_ci - i2s3 288c2ecf20Sopenharmony_ci - i2s4 298c2ecf20Sopenharmony_ci - dam0 308c2ecf20Sopenharmony_ci - dam1 318c2ecf20Sopenharmony_ci - dam2 328c2ecf20Sopenharmony_ci - spdif 338c2ecf20Sopenharmony_ci Tegra114 and later additionally require: 348c2ecf20Sopenharmony_ci - amx 358c2ecf20Sopenharmony_ci - adx 368c2ecf20Sopenharmony_ci Tegra124 and later additionally require: 378c2ecf20Sopenharmony_ci - amx1 388c2ecf20Sopenharmony_ci - adx1 398c2ecf20Sopenharmony_ci - afc0 408c2ecf20Sopenharmony_ci - afc1 418c2ecf20Sopenharmony_ci - afc2 428c2ecf20Sopenharmony_ci - afc3 438c2ecf20Sopenharmony_ci - afc4 448c2ecf20Sopenharmony_ci - afc5 458c2ecf20Sopenharmony_ci- ranges : The bus address mapping for the configlink register bus. 468c2ecf20Sopenharmony_ci Can be empty since the mapping is 1:1. 478c2ecf20Sopenharmony_ci- dmas : Must contain an entry for each entry in clock-names. 488c2ecf20Sopenharmony_ci See ../dma/dma.txt for details. 498c2ecf20Sopenharmony_ci- dma-names : Must include the following entries: 508c2ecf20Sopenharmony_ci - rx0 .. rx<n> 518c2ecf20Sopenharmony_ci - tx0 .. tx<n> 528c2ecf20Sopenharmony_ci ... where n is: 538c2ecf20Sopenharmony_ci Tegra30: 3 548c2ecf20Sopenharmony_ci Tegra114, Tegra124: 9 558c2ecf20Sopenharmony_ci- #address-cells : For the configlink bus. Should be <1>; 568c2ecf20Sopenharmony_ci- #size-cells : For the configlink bus. Should be <1>. 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ciAHUB client modules need to specify the IDs of their CIFs (Client InterFaces). 598c2ecf20Sopenharmony_ciFor RX CIFs, the numbers indicate the register number within AHUB routing 608c2ecf20Sopenharmony_ciregister space (APBIF 0..3 RX, I2S 0..5 RX, DAM 0..2 RX 0..1, SPDIF RX 0..1). 618c2ecf20Sopenharmony_ciFor TX CIFs, the numbers indicate the bit position within the AHUB routing 628c2ecf20Sopenharmony_ciregisters (APBIF 0..3 TX, I2S 0..5 TX, DAM 0..2 TX, SPDIF TX 0..1). 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ciExample: 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ciahub@70080000 { 678c2ecf20Sopenharmony_ci compatible = "nvidia,tegra30-ahub"; 688c2ecf20Sopenharmony_ci reg = <0x70080000 0x200 0x70080200 0x100>; 698c2ecf20Sopenharmony_ci interrupts = < 0 103 0x04 >; 708c2ecf20Sopenharmony_ci nvidia,dma-request-selector = <&apbdma 1>; 718c2ecf20Sopenharmony_ci clocks = <&tegra_car 106>, <&tegra_car 107>; 728c2ecf20Sopenharmony_ci clock-names = "d_audio", "apbif"; 738c2ecf20Sopenharmony_ci resets = <&tegra_car 106>, <&tegra_car 107>, <&tegra_car 30>, 748c2ecf20Sopenharmony_ci <&tegra_car 11>, <&tegra_car 18>, <&tegra_car 101>, 758c2ecf20Sopenharmony_ci <&tegra_car 102>, <&tegra_car 108>, <&tegra_car 109>, 768c2ecf20Sopenharmony_ci <&tegra_car 110>, <&tegra_car 10>; 778c2ecf20Sopenharmony_ci reset-names = "d_audio", "apbif", "i2s0", "i2s1", "i2s2", 788c2ecf20Sopenharmony_ci "i2s3", "i2s4", "dam0", "dam1", "dam2", 798c2ecf20Sopenharmony_ci "spdif"; 808c2ecf20Sopenharmony_ci dmas = <&apbdma 1>, <&apbdma 1>; 818c2ecf20Sopenharmony_ci <&apbdma 2>, <&apbdma 2>; 828c2ecf20Sopenharmony_ci <&apbdma 3>, <&apbdma 3>; 838c2ecf20Sopenharmony_ci <&apbdma 4>, <&apbdma 4>; 848c2ecf20Sopenharmony_ci dma-names = "rx0", "tx0", "rx1", "tx1", "rx2", "tx2", "rx3", "tx3"; 858c2ecf20Sopenharmony_ci ranges; 868c2ecf20Sopenharmony_ci #address-cells = <1>; 878c2ecf20Sopenharmony_ci #size-cells = <1>; 888c2ecf20Sopenharmony_ci}; 89