1be944d42SStephen WarrenNVIDIA Tegra30 AHUB (Audio Hub)
2be944d42SStephen Warren
3be944d42SStephen WarrenRequired properties:
4193c9d23SPaul Walmsley- compatible : For Tegra30, must contain "nvidia,tegra30-ahub".  For Tegra114,
5193c9d23SPaul Walmsley  must contain "nvidia,tegra114-ahub".  For Tegra124, must contain
6193c9d23SPaul Walmsley  "nvidia,tegra124-ahub".  Otherwise, must contain "nvidia,<chip>-ahub",
7193c9d23SPaul Walmsley  plus at least one of the above, where <chip> is tegra132.
8be944d42SStephen Warren- reg : Should contain the register physical address and length for each of
995d36075SStephen Warren  the AHUB's register blocks.
1095d36075SStephen Warren  - Tegra30 requires 2 entries, for the APBIF and AHUB/AUDIO register blocks.
1195d36075SStephen Warren  - Tegra114 requires an additional entry, for the APBIF2 register block.
12be944d42SStephen Warren- interrupts : Should contain AHUB interrupt
13d8f64797SStephen Warren- clocks : Must contain an entry for each entry in clock-names.
14d8f64797SStephen Warren  See ../clocks/clock-bindings.txt for details.
1595d36075SStephen Warren- clock-names : Must include the following entries:
1607999587SStephen Warren  - d_audio
1707999587SStephen Warren  - apbif
1807999587SStephen Warren- resets : Must contain an entry for each entry in reset-names.
1907999587SStephen Warren  See ../reset/reset.txt for details.
2007999587SStephen Warren- reset-names : Must include the following entries:
21d8f64797SStephen Warren  Tegra30 and later:
22d8f64797SStephen Warren  - d_audio
23d8f64797SStephen Warren  - apbif
24d8f64797SStephen Warren  - i2s0
25d8f64797SStephen Warren  - i2s1
26d8f64797SStephen Warren  - i2s2
27d8f64797SStephen Warren  - i2s3
28d8f64797SStephen Warren  - i2s4
29d8f64797SStephen Warren  - dam0
30d8f64797SStephen Warren  - dam1
31d8f64797SStephen Warren  - dam2
3207999587SStephen Warren  - spdif
33d8f64797SStephen Warren  Tegra114 and later additionally require:
34d8f64797SStephen Warren  - amx
35d8f64797SStephen Warren  - adx
36f1d6ff79SStephen Warren  Tegra124 and later additionally require:
37f1d6ff79SStephen Warren  - amx1
38f1d6ff79SStephen Warren  - adx1
39f1d6ff79SStephen Warren  - afc0
40f1d6ff79SStephen Warren  - afc1
41f1d6ff79SStephen Warren  - afc2
42f1d6ff79SStephen Warren  - afc3
43f1d6ff79SStephen Warren  - afc4
44f1d6ff79SStephen Warren  - afc5
45be944d42SStephen Warren- ranges : The bus address mapping for the configlink register bus.
46be944d42SStephen Warren  Can be empty since the mapping is 1:1.
47ed520c90SStephen Warren- dmas : Must contain an entry for each entry in clock-names.
48ed520c90SStephen Warren  See ../dma/dma.txt for details.
49ed520c90SStephen Warren- dma-names : Must include the following entries:
50ed520c90SStephen Warren  - rx0 .. rx<n>
51ed520c90SStephen Warren  - tx0 .. tx<n>
52ed520c90SStephen Warren  ... where n is:
53ed520c90SStephen Warren  Tegra30: 3
54ed520c90SStephen Warren  Tegra114, Tegra124: 9
55be944d42SStephen Warren- #address-cells : For the configlink bus. Should be <1>;
56be944d42SStephen Warren- #size-cells : For the configlink bus. Should be <1>.
57be944d42SStephen Warren
58be944d42SStephen WarrenAHUB client modules need to specify the IDs of their CIFs (Client InterFaces).
59be944d42SStephen WarrenFor RX CIFs, the numbers indicate the register number within AHUB routing
60be944d42SStephen Warrenregister space (APBIF 0..3 RX, I2S 0..5 RX, DAM 0..2 RX 0..1, SPDIF RX 0..1).
61be944d42SStephen WarrenFor TX CIFs, the numbers indicate the bit position within the AHUB routing
62be944d42SStephen Warrenregisters (APBIF 0..3 TX, I2S 0..5 TX, DAM 0..2 TX, SPDIF TX 0..1).
63be944d42SStephen Warren
64be944d42SStephen WarrenExample:
65be944d42SStephen Warren
66be944d42SStephen Warrenahub@70080000 {
67be944d42SStephen Warren	compatible = "nvidia,tegra30-ahub";
68be944d42SStephen Warren	reg = <0x70080000 0x200 0x70080200 0x100>;
69be944d42SStephen Warren	interrupts = < 0 103 0x04 >;
70be944d42SStephen Warren	nvidia,dma-request-selector = <&apbdma 1>;
7107999587SStephen Warren	clocks = <&tegra_car 106>, <&tegra_car 107>;
7207999587SStephen Warren	clock-names = "d_audio", "apbif";
7307999587SStephen Warren	resets = <&tegra_car 106>, <&tegra_car 107>, <&tegra_car 30>,
7495d36075SStephen Warren		<&tegra_car 11>, <&tegra_car 18>, <&tegra_car 101>,
7595d36075SStephen Warren		<&tegra_car 102>, <&tegra_car 108>, <&tegra_car 109>,
7607999587SStephen Warren		<&tegra_car 110>, <&tegra_car 10>;
7707999587SStephen Warren	reset-names = "d_audio", "apbif", "i2s0", "i2s1", "i2s2",
7895d36075SStephen Warren		"i2s3", "i2s4", "dam0", "dam1", "dam2",
7907999587SStephen Warren		"spdif";
80ed520c90SStephen Warren	dmas = <&apbdma 1>, <&apbdma 1>;
81ed520c90SStephen Warren	       <&apbdma 2>, <&apbdma 2>;
82ed520c90SStephen Warren	       <&apbdma 3>, <&apbdma 3>;
83ed520c90SStephen Warren	       <&apbdma 4>, <&apbdma 4>;
84ed520c90SStephen Warren	dma-names = "rx0", "tx0", "rx1", "tx1", "rx2", "tx2", "rx3", "tx3";
85be944d42SStephen Warren	ranges;
86be944d42SStephen Warren	#address-cells = <1>;
87be944d42SStephen Warren	#size-cells = <1>;
88be944d42SStephen Warren};
89