47360a4b54d6840a27c21eebd69326c0cbcefd0c
[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-2012 NVIDIA Corporation.
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
27 extern struct platform_device tegra_gpio_device;
28 extern struct platform_device tegra_pinmux_device;
29 extern struct platform_device tegra_sdhci_device1;
30 extern struct platform_device tegra_sdhci_device2;
31 extern struct platform_device tegra_sdhci_device3;
32 extern struct platform_device tegra_sdhci_device4;
33 extern struct platform_device tegra_i2c_device1;
34 extern struct platform_device tegra_i2c_device2;
35 extern struct platform_device tegra_i2c_device3;
36 extern struct platform_device tegra_i2c_device4;
37 extern struct platform_device tegra_kbc_device;
38 extern struct platform_device tegra_pci_device;
39 #ifndef CONFIG_ARCH_TEGRA_2x_SOC
40 extern struct platform_device tegra_i2c_device5;
41 #endif
42 extern struct platform_device tegra_spi_device1;
43 extern struct platform_device tegra_spi_device2;
44 extern struct platform_device tegra_spi_device3;
45 extern struct platform_device tegra_spi_device4;
46 extern struct platform_device tegra_spi_slave_device1;
47 extern struct platform_device tegra_spi_slave_device2;
48 extern struct platform_device tegra_spi_slave_device3;
49 extern struct platform_device tegra_spi_slave_device4;
50 #ifndef CONFIG_ARCH_TEGRA_2x_SOC
51 extern struct platform_device tegra_spi_device5;
52 extern struct platform_device tegra_spi_device6;
53 extern struct platform_device tegra_spi_slave_device5;
54 extern struct platform_device tegra_spi_slave_device6;
55 extern struct platform_device tegra_dtv_device;
56 #endif
57 extern struct platform_device tegra_ehci1_device;
58 extern struct platform_device tegra_ehci2_device;
59 extern struct platform_device tegra_ehci3_device;
60 extern struct platform_device tegra_uarta_device;
61 extern struct platform_device tegra_uartb_device;
62 extern struct platform_device tegra_uartc_device;
63 extern struct platform_device tegra_uartd_device;
64 extern struct platform_device tegra_uarte_device;
65 extern struct platform_device tegra_pmu_device;
66 extern struct platform_device tegra_i2s_device1;
67 extern struct platform_device tegra_i2s_device2;
68 extern struct platform_device tegra_spdif_device;
69 extern struct platform_device tegra_das_device;
70 extern struct platform_device spdif_dit_device;
71 extern struct platform_device bluetooth_dit_device;
72 extern struct platform_device baseband_dit_device;
73 extern struct platform_device tegra_tdm_pcm_device;
74 extern struct platform_device tegra_w1_device;
75 extern struct platform_device tegra_udc_device;
76 extern struct platform_device tegra_ehci1_device;
77 extern struct platform_device tegra_ehci2_device;
78 extern struct platform_device tegra_ehci3_device;
79 extern struct platform_device tegra_i2s_device1;
80 extern struct platform_device tegra_i2s_device2;
81 #ifndef CONFIG_ARCH_TEGRA_2x_SOC
82 extern struct platform_device tegra_i2s_device0;
83 extern struct platform_device tegra_i2s_device3;
84 extern struct platform_device tegra_i2s_device4;
85 extern struct platform_device tegra_ahub_device;
86 extern struct platform_device tegra_apbif0_device;
87 extern struct platform_device tegra_apbif1_device;
88 extern struct platform_device tegra_apbif2_device;
89 extern struct platform_device tegra_apbif3_device;
90 extern struct platform_device tegra_dam_device0;
91 extern struct platform_device tegra_dam_device1;
92 extern struct platform_device tegra_dam_device2;
93 extern struct platform_device tegra_hda_device;
94 extern struct platform_device tegra_sata_device;
95 #endif
96 #if defined(CONFIG_ARCH_TEGRA_2x_SOC)
97 extern struct platform_device tegra_gart_device;
98 #else
99 extern struct platform_device tegra_smmu_device;
100 #endif
101 extern struct platform_device tegra_wdt_device;
102 extern struct platform_device tegra_pwfm_device;
103 extern struct platform_device tegra_otg_device;
104 extern struct platform_device tegra_uarta_device;
105 extern struct platform_device tegra_uartb_device;
106 extern struct platform_device tegra_uartc_device;
107 extern struct platform_device tegra_uartd_device;
108 extern struct platform_device tegra_uarte_device;
109 extern struct platform_device tegra_avp_device;
110 extern struct nvhost_device tegra_grhost_device;
111 extern struct nvhost_device nvavp_device;
112 extern struct platform_device tegra_aes_device;
113 #if !defined(CONFIG_ARCH_TEGRA_2x_SOC)
114 extern struct platform_device tegra_tsensor_device;
115 #endif
116 extern struct platform_device tegra_nor_device;
117 extern struct platform_device debug_uarta_device;
118 extern struct platform_device debug_uartb_device;
119 extern struct platform_device debug_uartc_device;
120 extern struct platform_device debug_uartd_device;
121 #if !defined(CONFIG_ARCH_TEGRA_2x_SOC)
122 extern struct platform_device tegra_se_device;
123 extern struct platform_device debug_uarte_device;
124 #endif
125
126 extern struct nvhost_device tegra_disp1_device;
127 extern struct platform_device tegra_nvmap_device;
128 extern struct platform_device tegra30_emc_device;
129
130 void __init tegra_init_debug_uart_rate(void);
131
132 #endif