ARM: tegra: add apb dma device for t124 SOC
[linux-3.10.git] / arch / arm / mach-tegra / devices.h
1 /*
2  * Copyright (C) 2010,2011 Google, Inc.
3  *
4  * Author:
5  *      Colin Cross <ccross@android.com>
6  *      Erik Gilling <ccross@android.com>
7  *
8  * Copyright (C) 2010-2013 NVIDIA CORPORATION.  All rights reserved.
9  *
10  * This software is licensed under the terms of the GNU General Public
11  * License version 2, as published by the Free Software Foundation, and
12  * may be copied, distributed, and modified under those terms.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU General Public License for more details.
18  *
19  */
20
21 #ifndef __MACH_TEGRA_DEVICES_H
22 #define __MACH_TEGRA_DEVICES_H
23
24 #include <linux/platform_device.h>
25 #include <linux/nvhost.h>
26 #include <linux/platform_data/tegra_usb.h>
27
28 extern struct platform_device tegra_emc_device;
29 extern struct platform_device tegra_gpio_device;
30 extern struct platform_device tegra_pinmux_device;
31 extern struct platform_device tegra_sdhci_device1;
32 extern struct platform_device tegra_sdhci_device2;
33 extern struct platform_device tegra_sdhci_device3;
34 extern struct platform_device tegra_sdhci_device4;
35 extern struct platform_device tegra_i2c_device1;
36 extern struct platform_device tegra_i2c_device2;
37 extern struct platform_device tegra_i2c_device3;
38 extern struct platform_device tegra_i2c_device4;
39 extern struct platform_device tegra_kbc_device;
40 extern struct platform_device tegra_pci_device;
41 extern struct platform_device tegra_apbdma;
42 #ifndef CONFIG_ARCH_TEGRA_2x_SOC
43 extern struct platform_device tegra_i2c_device5;
44 #endif
45 extern struct platform_device tegra11_i2c_device1;
46 extern struct platform_device tegra11_i2c_device2;
47 extern struct platform_device tegra11_i2c_device3;
48 extern struct platform_device tegra11_i2c_device4;
49 #ifndef CONFIG_ARCH_TEGRA_2x_SOC
50 extern struct platform_device tegra11_i2c_device5;
51 #endif
52 extern struct platform_device tegra_spi_device1;
53 extern struct platform_device tegra_spi_device2;
54 extern struct platform_device tegra_spi_device3;
55 extern struct platform_device tegra_spi_device4;
56 extern struct platform_device tegra11_spi_device1;
57 extern struct platform_device tegra11_spi_device2;
58 extern struct platform_device tegra11_spi_device3;
59 extern struct platform_device tegra11_spi_device4;
60 extern struct platform_device tegra_spi_slave_device1;
61 extern struct platform_device tegra_spi_slave_device2;
62 extern struct platform_device tegra_spi_slave_device3;
63 extern struct platform_device tegra_spi_slave_device4;
64 extern struct platform_device tegra11_spi_slave_device1;
65 extern struct platform_device tegra11_spi_slave_device2;
66 extern struct platform_device tegra11_spi_slave_device3;
67 extern struct platform_device tegra11_spi_slave_device4;
68 #ifndef CONFIG_ARCH_TEGRA_2x_SOC
69 extern struct platform_device tegra11_spi_device5;
70 extern struct platform_device tegra11_spi_device6;
71 extern struct platform_device tegra11_spi_slave_device5;
72 extern struct platform_device tegra11_spi_slave_device6;
73 extern struct platform_device tegra_spi_device5;
74 extern struct platform_device tegra_spi_device6;
75 extern struct platform_device tegra_spi_slave_device5;
76 extern struct platform_device tegra_spi_slave_device6;
77 extern struct platform_device tegra_dtv_device;
78 #endif
79 extern struct platform_device tegra_ehci1_device;
80 extern struct platform_device tegra_ehci2_device;
81 extern struct platform_device tegra_ehci3_device;
82 extern struct platform_device tegra_uarta_device;
83 extern struct platform_device tegra_uartb_device;
84 extern struct platform_device tegra_uartc_device;
85 extern struct platform_device tegra_uartd_device;
86 extern struct platform_device tegra_uarte_device;
87 extern struct platform_device tegra_pmu_device;
88 extern struct platform_device tegra_i2s_device1;
89 extern struct platform_device tegra_i2s_device2;
90 extern struct platform_device tegra_spdif_device;
91 extern struct platform_device tegra_das_device;
92 extern struct platform_device spdif_dit_device;
93 extern struct platform_device bluetooth_dit_device;
94 extern struct platform_device baseband_dit_device;
95 extern struct platform_device tegra_tdm_pcm_device;
96 extern struct platform_device tegra_w1_device;
97 extern struct platform_device tegra_udc_device;
98 extern struct platform_device tegra_ehci1_device;
99 extern struct platform_device tegra_ehci2_device;
100 extern struct platform_device tegra_ehci3_device;
101 extern struct platform_device tegra_i2s_device1;
102 extern struct platform_device tegra_i2s_device2;
103 #ifndef CONFIG_ARCH_TEGRA_2x_SOC
104 extern struct platform_device tegra_i2s_device0;
105 extern struct platform_device tegra_i2s_device3;
106 extern struct platform_device tegra_i2s_device4;
107 extern struct platform_device tegra_ahub_device;
108 extern struct platform_device tegra_apbif0_device;
109 extern struct platform_device tegra_apbif1_device;
110 extern struct platform_device tegra_apbif2_device;
111 extern struct platform_device tegra_apbif3_device;
112 extern struct platform_device tegra_dam_device0;
113 extern struct platform_device tegra_dam_device1;
114 extern struct platform_device tegra_dam_device2;
115 #ifdef CONFIG_ARCH_TEGRA_14x_SOC
116 extern struct platform_device tegra_dmic_device0;
117 extern struct platform_device tegra_dmic_device1;
118 #endif
119 extern struct platform_device tegra_hda_device;
120 extern struct platform_device tegra_sata_device;
121 #endif
122 #if defined(CONFIG_ARCH_TEGRA_2x_SOC)
123 extern struct platform_device tegra_gart_device;
124 #else
125 extern struct platform_device tegra_smmu_device;
126 #endif
127 #if defined(CONFIG_ARCH_TEGRA_2x_SOC)
128 extern struct platform_device tegra_wdt_device;
129 #else
130 extern struct platform_device tegra_wdt0_device;
131 #endif
132 extern struct platform_device tegra_pwfm_device;
133 extern struct platform_device tegra_otg_device;
134 extern struct platform_device tegra_uarta_device;
135 extern struct platform_device tegra_uartb_device;
136 extern struct platform_device tegra_uartc_device;
137 extern struct platform_device tegra_uartd_device;
138 extern struct platform_device tegra_uarte_device;
139 extern struct platform_device tegra_avp_device;
140 extern struct platform_device nvavp_device;
141 extern struct platform_device tegra_aes_device;
142 #if defined(CONFIG_TEGRA_SKIN_THROTTLE)
143 extern struct platform_device tegra_skin_therm_est_device;
144 #endif
145 #if !defined(CONFIG_ARCH_TEGRA_2x_SOC)
146 extern struct platform_device tegra_tsensor_device;
147 #endif
148 extern struct platform_device tegra_nor_device;
149 extern struct platform_device debug_uarta_device;
150 extern struct platform_device debug_uartb_device;
151 extern struct platform_device debug_uartc_device;
152 extern struct platform_device debug_uartd_device;
153 #if !defined(CONFIG_ARCH_TEGRA_2x_SOC)
154 extern struct platform_device tegra_se_device;
155 extern struct platform_device tegra11_se_device;
156 extern struct platform_device debug_uarte_device;
157 #endif
158
159 extern struct platform_device tegra_disp1_device;
160 extern struct platform_device tegra_disp2_device;
161 extern struct platform_device tegra_nvmap_device;
162 extern struct platform_device tegra_xhci_device;
163 #ifndef CONFIG_ARCH_TEGRA_2x_SOC
164 extern struct platform_device tegra_cec_device;
165 #endif
166 #ifdef CONFIG_ARCH_TEGRA_HAS_CL_DVFS
167 extern struct platform_device tegra_cl_dvfs_device;
168 #endif
169 extern struct platform_device tegra_fuse_device;
170
171 #ifdef CONFIG_ARCH_TEGRA_14x_SOC
172 extern struct platform_device tegra14_i2c_device1;
173 extern struct platform_device tegra14_i2c_device2;
174 extern struct platform_device tegra14_i2c_device3;
175 extern struct platform_device tegra14_i2c_device4;
176 extern struct platform_device tegra14_i2c_device5;
177 extern struct platform_device tegra14_i2c_device6;
178 extern struct platform_device tegra_mipi_bif_device;
179 #endif
180
181 #if defined(CONFIG_ARCH_TEGRA_14x_SOC) || defined(CONFIG_ARCH_TEGRA_12x_SOC)
182 extern struct platform_device tegra14_i2c_device1;
183 extern struct platform_device tegra14_i2c_device2;
184 extern struct platform_device tegra14_i2c_device3;
185 extern struct platform_device tegra14_i2c_device4;
186 extern struct platform_device tegra14_i2c_device5;
187 extern struct platform_device tegra14_i2c_device6;
188 #endif
189
190 void __init tegra_init_debug_uart_rate(void);
191
192 #endif