1 /* arch/arm/plat-samsung/include/plat/devs.h
3 * Copyright (c) 2011 Samsung Electronics Co., Ltd.
4 * http://www.samsung.com
6 * Copyright (c) 2004 Simtec Electronics
7 * Ben Dooks <ben@simtec.co.uk>
9 * Header file for s3c2410 standard platform devices
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.
15 #include <linux/platform_device.h>
17 struct s3c24xx_uart_resources {
18 struct resource *resources;
19 unsigned long nr_resources;
22 extern struct s3c24xx_uart_resources s3c2410_uart_resources[];
23 extern struct s3c24xx_uart_resources s3c64xx_uart_resources[];
24 extern struct s3c24xx_uart_resources s5p_uart_resources[];
26 extern struct platform_device *s3c24xx_uart_devs[];
27 extern struct platform_device *s3c24xx_uart_src[];
29 extern struct platform_device s3c_device_timer[];
31 extern struct platform_device s3c64xx_device_iis0;
32 extern struct platform_device s3c64xx_device_iis1;
33 extern struct platform_device s3c64xx_device_iisv4;
35 extern struct platform_device s3c64xx_device_spi0;
36 extern struct platform_device s3c64xx_device_spi1;
38 extern struct platform_device samsung_asoc_dma;
40 extern struct platform_device s3c64xx_device_pcm0;
41 extern struct platform_device s3c64xx_device_pcm1;
43 extern struct platform_device s3c64xx_device_ac97;
45 extern struct platform_device s3c_device_ts;
47 extern struct platform_device s3c_device_fb;
48 extern struct platform_device s3c_device_ohci;
49 extern struct platform_device s3c_device_lcd;
50 extern struct platform_device s3c_device_wdt;
51 extern struct platform_device s3c_device_i2c0;
52 extern struct platform_device s3c_device_i2c1;
53 extern struct platform_device s3c_device_i2c2;
54 extern struct platform_device s3c_device_i2c3;
55 extern struct platform_device s3c_device_i2c4;
56 extern struct platform_device s3c_device_i2c5;
57 extern struct platform_device s3c_device_i2c6;
58 extern struct platform_device s3c_device_i2c7;
59 extern struct platform_device s3c_device_rtc;
60 extern struct platform_device s3c_device_adc;
61 extern struct platform_device s3c_device_sdi;
62 extern struct platform_device s3c_device_iis;
63 extern struct platform_device s3c_device_hwmon;
64 extern struct platform_device s3c_device_hsmmc0;
65 extern struct platform_device s3c_device_hsmmc1;
66 extern struct platform_device s3c_device_hsmmc2;
67 extern struct platform_device s3c_device_hsmmc3;
68 extern struct platform_device s3c_device_cfcon;
70 extern struct platform_device s3c_device_spi0;
71 extern struct platform_device s3c_device_spi1;
73 extern struct platform_device s5pc100_device_spi0;
74 extern struct platform_device s5pc100_device_spi1;
75 extern struct platform_device s5pc100_device_spi2;
76 extern struct platform_device s5pv210_device_spi0;
77 extern struct platform_device s5pv210_device_spi1;
78 extern struct platform_device s5p6440_device_spi0;
79 extern struct platform_device s5p6440_device_spi1;
80 extern struct platform_device s5p6450_device_spi0;
81 extern struct platform_device s5p6450_device_spi1;
83 extern struct platform_device s3c_device_hwmon;
85 extern struct platform_device s3c_device_nand;
86 extern struct platform_device s3c_device_onenand;
87 extern struct platform_device s3c64xx_device_onenand1;
88 extern struct platform_device s5p_device_onenand;
90 extern struct platform_device s3c_device_usbgadget;
91 extern struct platform_device s3c_device_usb_hsotg;
93 extern struct platform_device s5pv210_device_ac97;
94 extern struct platform_device s5pv210_device_pcm0;
95 extern struct platform_device s5pv210_device_pcm1;
96 extern struct platform_device s5pv210_device_pcm2;
97 extern struct platform_device s5pv210_device_iis0;
98 extern struct platform_device s5pv210_device_iis1;
99 extern struct platform_device s5pv210_device_iis2;
100 extern struct platform_device s5pv210_device_spdif;
102 extern struct platform_device exynos4_device_ac97;
103 extern struct platform_device exynos4_device_pcm0;
104 extern struct platform_device exynos4_device_pcm1;
105 extern struct platform_device exynos4_device_pcm2;
106 extern struct platform_device exynos4_device_i2s0;
107 extern struct platform_device exynos4_device_i2s1;
108 extern struct platform_device exynos4_device_i2s2;
109 extern struct platform_device exynos4_device_spdif;
110 extern struct platform_device exynos4_device_pd[];
111 extern struct platform_device exynos4_device_ahci;
113 extern struct platform_device s5p6442_device_pcm0;
114 extern struct platform_device s5p6442_device_pcm1;
115 extern struct platform_device s5p6442_device_iis0;
116 extern struct platform_device s5p6442_device_iis1;
117 extern struct platform_device s5p6442_device_spi;
119 extern struct platform_device s5p6440_device_pcm;
120 extern struct platform_device s5p6440_device_iis;
122 extern struct platform_device s5p6450_device_iis0;
123 extern struct platform_device s5p6450_device_iis1;
124 extern struct platform_device s5p6450_device_iis2;
125 extern struct platform_device s5p6450_device_pcm0;
127 extern struct platform_device s5pc100_device_ac97;
128 extern struct platform_device s5pc100_device_pcm0;
129 extern struct platform_device s5pc100_device_pcm1;
130 extern struct platform_device s5pc100_device_iis0;
131 extern struct platform_device s5pc100_device_iis1;
132 extern struct platform_device s5pc100_device_iis2;
133 extern struct platform_device s5pc100_device_spdif;
135 extern struct platform_device samsung_device_keypad;
137 extern struct platform_device s5p_device_fimc0;
138 extern struct platform_device s5p_device_fimc1;
139 extern struct platform_device s5p_device_fimc2;
140 extern struct platform_device s5p_device_fimc3;
142 extern struct platform_device s5p_device_mipi_csis0;
143 extern struct platform_device s5p_device_mipi_csis1;
145 extern struct platform_device exynos4_device_sysmmu;
147 /* s3c2440 specific devices */
149 #ifdef CONFIG_CPU_S3C2440
151 extern struct platform_device s3c_device_camif;
152 extern struct platform_device s3c_device_ac97;
157 * s3c_set_platdata() - helper for setting platform data
158 * @pd: The default platform data for this device.
159 * @pdsize: The size of the platform data.
160 * @pdev: Pointer to the device to fill in.
162 * This helper replaces a number of calls that copy and then set the
163 * platform data of the device.
165 extern void *s3c_set_platdata(void *pd, size_t pdsize,
166 struct platform_device *pdev);