| NVIDIA Tegra30 AHUB (Audio Hub) |
| |
| Required properties: |
| - compatible : "nvidia,tegra30-ahub", "nvidia,tegra114-ahub", etc. |
| - reg : Should contain the register physical address and length for each of |
| the AHUB's register blocks. |
| - Tegra30 requires 2 entries, for the APBIF and AHUB/AUDIO register blocks. |
| - Tegra114 requires an additional entry, for the APBIF2 register block. |
| - interrupts : Should contain AHUB interrupt |
| - nvidia,dma-request-selector : A list of the DMA channel specifiers. Each |
| entry contains the Tegra DMA controller's phandle and request selector. |
| If a single entry is present, the request selectors for the channels are |
| assumed to be contiguous, and increment from this value. |
| If multiple values are given, one value must be given per channel. |
| - clocks : Must contain an entry for each required entry in clock-names. |
| - clock-names : Must include the following entries: |
| - Tegra30: Requires d_audio, apbif, i2s0, i2s1, i2s2, i2s3, i2s4, dam0, |
| dam1, dam2, spdif_in. |
| - Tegra114: Additionally requires amx, adx. |
| - ranges : The bus address mapping for the configlink register bus. |
| Can be empty since the mapping is 1:1. |
| - #address-cells : For the configlink bus. Should be <1>; |
| - #size-cells : For the configlink bus. Should be <1>. |
| |
| AHUB client modules need to specify the IDs of their CIFs (Client InterFaces). |
| For RX CIFs, the numbers indicate the register number within AHUB routing |
| register space (APBIF 0..3 RX, I2S 0..5 RX, DAM 0..2 RX 0..1, SPDIF RX 0..1). |
| For TX CIFs, the numbers indicate the bit position within the AHUB routing |
| registers (APBIF 0..3 TX, I2S 0..5 TX, DAM 0..2 TX, SPDIF TX 0..1). |
| |
| Example: |
| |
| ahub@70080000 { |
| compatible = "nvidia,tegra30-ahub"; |
| reg = <0x70080000 0x200 0x70080200 0x100>; |
| interrupts = < 0 103 0x04 >; |
| nvidia,dma-request-selector = <&apbdma 1>; |
| clocks = <&tegra_car 106>, <&tegra_car 107>, <&tegra_car 30>, |
| <&tegra_car 11>, <&tegra_car 18>, <&tegra_car 101>, |
| <&tegra_car 102>, <&tegra_car 108>, <&tegra_car 109>, |
| <&tegra_car 110>, <&tegra_car 162>; |
| clock-names = "d_audio", "apbif", "i2s0", "i2s1", "i2s2", |
| "i2s3", "i2s4", "dam0", "dam1", "dam2", |
| "spdif_in"; |
| ranges; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| }; |