]> nv-tegra.nvidia Code Review - linux-3.10.git/blob - arch/arm/plat-samsung/include/plat/devs.h
Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm
[linux-3.10.git] / arch / arm / plat-samsung / include / plat / devs.h
1 /* arch/arm/plat-samsung/include/plat/devs.h
2  *
3  * Copyright (c) 2011 Samsung Electronics Co., Ltd.
4  *              http://www.samsung.com
5  *
6  * Copyright (c) 2004 Simtec Electronics
7  * Ben Dooks <ben@simtec.co.uk>
8  *
9  * Header file for s3c2410 standard platform devices
10  *
11  * This program is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU General Public License version 2 as
13  * published by the Free Software Foundation.
14 */
15
16 #ifndef __PLAT_DEVS_H
17 #define __PLAT_DEVS_H __FILE__
18
19 #include <linux/platform_device.h>
20
21 struct s3c24xx_uart_resources {
22         struct resource         *resources;
23         unsigned long            nr_resources;
24 };
25
26 extern struct s3c24xx_uart_resources s3c2410_uart_resources[];
27 extern struct s3c24xx_uart_resources s3c64xx_uart_resources[];
28 extern struct s3c24xx_uart_resources s5p_uart_resources[];
29 extern struct s3c24xx_uart_resources exynos4_uart_resources[];
30 extern struct s3c24xx_uart_resources exynos5_uart_resources[];
31
32 extern struct platform_device *s3c24xx_uart_devs[];
33 extern struct platform_device *s3c24xx_uart_src[];
34
35 extern struct platform_device s3c64xx_device_ac97;
36 extern struct platform_device s3c64xx_device_iis0;
37 extern struct platform_device s3c64xx_device_iis1;
38 extern struct platform_device s3c64xx_device_iisv4;
39 extern struct platform_device s3c64xx_device_onenand1;
40 extern struct platform_device s3c64xx_device_pcm0;
41 extern struct platform_device s3c64xx_device_pcm1;
42 extern struct platform_device s3c64xx_device_spi0;
43 extern struct platform_device s3c64xx_device_spi1;
44 extern struct platform_device s3c64xx_device_spi2;
45
46 extern struct platform_device s3c_device_adc;
47 extern struct platform_device s3c_device_cfcon;
48 extern struct platform_device s3c_device_fb;
49 extern struct platform_device s3c_device_hwmon;
50 extern struct platform_device s3c_device_hsmmc0;
51 extern struct platform_device s3c_device_hsmmc1;
52 extern struct platform_device s3c_device_hsmmc2;
53 extern struct platform_device s3c_device_hsmmc3;
54 extern struct platform_device s3c_device_i2c0;
55 extern struct platform_device s3c_device_i2c1;
56 extern struct platform_device s3c_device_i2c2;
57 extern struct platform_device s3c_device_i2c3;
58 extern struct platform_device s3c_device_i2c4;
59 extern struct platform_device s3c_device_i2c5;
60 extern struct platform_device s3c_device_i2c6;
61 extern struct platform_device s3c_device_i2c7;
62 extern struct platform_device s3c_device_iis;
63 extern struct platform_device s3c_device_lcd;
64 extern struct platform_device s3c_device_nand;
65 extern struct platform_device s3c_device_ohci;
66 extern struct platform_device s3c_device_onenand;
67 extern struct platform_device s3c_device_rtc;
68 extern struct platform_device s3c_device_sdi;
69 extern struct platform_device s3c_device_spi0;
70 extern struct platform_device s3c_device_spi1;
71 extern struct platform_device s3c_device_ts;
72 extern struct platform_device s3c_device_timer[];
73 extern struct platform_device s3c_device_usbgadget;
74 extern struct platform_device s3c_device_usb_hsotg;
75 extern struct platform_device s3c_device_usb_hsudc;
76 extern struct platform_device s3c_device_wdt;
77
78 extern struct platform_device s5p_device_ehci;
79 extern struct platform_device s5p_device_fimc0;
80 extern struct platform_device s5p_device_fimc1;
81 extern struct platform_device s5p_device_fimc2;
82 extern struct platform_device s5p_device_fimc3;
83 extern struct platform_device s5p_device_fimc_md;
84 extern struct platform_device s5p_device_jpeg;
85 extern struct platform_device s5p_device_g2d;
86 extern struct platform_device s5p_device_fimd0;
87 extern struct platform_device s5p_device_hdmi;
88 extern struct platform_device s5p_device_i2c_hdmiphy;
89 extern struct platform_device s5p_device_mfc;
90 extern struct platform_device s5p_device_mfc_l;
91 extern struct platform_device s5p_device_mfc_r;
92 extern struct platform_device s5p_device_mipi_csis0;
93 extern struct platform_device s5p_device_mipi_csis1;
94 extern struct platform_device s5p_device_mixer;
95 extern struct platform_device s5p_device_onenand;
96 extern struct platform_device s5p_device_sdo;
97
98 extern struct platform_device s5p6440_device_iis;
99 extern struct platform_device s5p6440_device_pcm;
100
101 extern struct platform_device s5p6450_device_iis0;
102 extern struct platform_device s5p6450_device_iis1;
103 extern struct platform_device s5p6450_device_iis2;
104 extern struct platform_device s5p6450_device_pcm0;
105
106
107 extern struct platform_device s5pc100_device_ac97;
108 extern struct platform_device s5pc100_device_iis0;
109 extern struct platform_device s5pc100_device_iis1;
110 extern struct platform_device s5pc100_device_iis2;
111 extern struct platform_device s5pc100_device_pcm0;
112 extern struct platform_device s5pc100_device_pcm1;
113 extern struct platform_device s5pc100_device_spdif;
114
115 extern struct platform_device s5pv210_device_ac97;
116 extern struct platform_device s5pv210_device_iis0;
117 extern struct platform_device s5pv210_device_iis1;
118 extern struct platform_device s5pv210_device_iis2;
119 extern struct platform_device s5pv210_device_pcm0;
120 extern struct platform_device s5pv210_device_pcm1;
121 extern struct platform_device s5pv210_device_pcm2;
122 extern struct platform_device s5pv210_device_spdif;
123
124 extern struct platform_device exynos4_device_ac97;
125 extern struct platform_device exynos4_device_ahci;
126 extern struct platform_device exynos4_device_dwmci;
127 extern struct platform_device exynos4_device_i2s0;
128 extern struct platform_device exynos4_device_i2s1;
129 extern struct platform_device exynos4_device_i2s2;
130 extern struct platform_device exynos4_device_ohci;
131 extern struct platform_device exynos4_device_pcm0;
132 extern struct platform_device exynos4_device_pcm1;
133 extern struct platform_device exynos4_device_pcm2;
134 extern struct platform_device exynos4_device_spdif;
135
136 extern struct platform_device exynos_device_drm;
137
138 extern struct platform_device samsung_asoc_dma;
139 extern struct platform_device samsung_asoc_idma;
140 extern struct platform_device samsung_device_keypad;
141
142 /* s3c2440 specific devices */
143
144 #ifdef CONFIG_CPU_S3C2440
145
146 extern struct platform_device s3c_device_camif;
147 extern struct platform_device s3c_device_ac97;
148
149 #endif
150
151 /**
152  * s3c_set_platdata() - helper for setting platform data
153  * @pd: The default platform data for this device.
154  * @pdsize: The size of the platform data.
155  * @pdev: Pointer to the device to fill in.
156  *
157  * This helper replaces a number of calls that copy and then set the
158  * platform data of the device.
159  */
160 extern void *s3c_set_platdata(void *pd, size_t pdsize,
161                               struct platform_device *pdev);
162
163 #endif /* __PLAT_DEVS_H */