blob: b15805f4de979727ad03681f95c12cc29ef92833 [file] [log] [blame]
Ben Dooksc116c1d2010-01-29 09:02:12 +00001/* arch/arm/plat-samsung/include/plat/devs.h
Linus Torvalds1da177e2005-04-16 15:20:36 -07002 *
Kukjin Kim3db3ae52011-02-14 16:22:36 +09003 * Copyright (c) 2011 Samsung Electronics Co., Ltd.
4 * http://www.samsung.com
5 *
Linus Torvalds1da177e2005-04-16 15:20:36 -07006 * 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.
Linus Torvalds1da177e2005-04-16 15:20:36 -070014*/
MyungJoo Hambb8bb572011-06-22 18:03:21 +090015
16#ifndef __PLAT_DEVS_H
17#define __PLAT_DEVS_H __FILE__
18
Russell Kingd052d1b2005-10-29 19:07:23 +010019#include <linux/platform_device.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070020
Ben Dooks66a9b492006-06-18 23:04:05 +010021struct s3c24xx_uart_resources {
22 struct resource *resources;
23 unsigned long nr_resources;
24};
25
26extern struct s3c24xx_uart_resources s3c2410_uart_resources[];
Ben Dooks0241cbb2008-10-21 14:06:46 +010027extern struct s3c24xx_uart_resources s3c64xx_uart_resources[];
Kukjin Kim501dae92010-01-14 08:23:53 +090028extern struct s3c24xx_uart_resources s5p_uart_resources[];
Ben Dooks66a9b492006-06-18 23:04:05 +010029
Linus Torvalds1da177e2005-04-16 15:20:36 -070030extern struct platform_device *s3c24xx_uart_devs[];
Ben Dooks66a9b492006-06-18 23:04:05 +010031extern struct platform_device *s3c24xx_uart_src[];
Linus Torvalds1da177e2005-04-16 15:20:36 -070032
Ben Dooks6fc601e2008-07-01 13:17:24 +010033extern struct platform_device s3c_device_timer[];
34
Mark Brown52da2192009-06-03 20:08:38 +010035extern struct platform_device s3c64xx_device_iis0;
36extern struct platform_device s3c64xx_device_iis1;
Mark Brownd06a49e2009-06-03 20:08:39 +010037extern struct platform_device s3c64xx_device_iisv4;
Mark Brown52da2192009-06-03 20:08:38 +010038
Jassi Brar6a2b41112010-01-18 17:32:02 +090039extern struct platform_device s3c64xx_device_spi0;
40extern struct platform_device s3c64xx_device_spi1;
41
Jassi Brar83e37b8e2010-11-22 15:35:53 +090042extern struct platform_device samsung_asoc_dma;
Sangbeom Kim2839cc12011-07-21 14:12:19 +090043extern struct platform_device samsung_asoc_idma;
Liam Girdwoodf0fba2a2010-03-17 20:15:21 +000044
Jassi Braracf1aef2009-11-17 16:53:56 +090045extern struct platform_device s3c64xx_device_pcm0;
46extern struct platform_device s3c64xx_device_pcm1;
47
Jassi Brarde6985b2010-02-12 10:38:51 +000048extern struct platform_device s3c64xx_device_ac97;
49
Arnaud Patardce8877b2009-12-23 19:25:05 +000050extern struct platform_device s3c_device_ts;
Jassi Brarde6985b2010-02-12 10:38:51 +000051
Ben Dooks58435f72008-11-19 15:41:31 +000052extern struct platform_device s3c_device_fb;
Jonghun Hane61b1702011-07-21 15:46:26 +090053extern struct platform_device s5p_device_fimd0;
Ben Dooksb8132482009-11-23 00:13:39 +000054extern struct platform_device s3c_device_ohci;
Linus Torvalds1da177e2005-04-16 15:20:36 -070055extern struct platform_device s3c_device_lcd;
56extern struct platform_device s3c_device_wdt;
Ben Dooks3e1b7762008-10-31 16:14:40 +000057extern struct platform_device s3c_device_i2c0;
Ben Dooks1aba8342008-10-31 16:14:55 +000058extern struct platform_device s3c_device_i2c1;
Marek Szyprowskic8d833b2010-05-20 08:13:06 +020059extern struct platform_device s3c_device_i2c2;
Kyungmin Parkb7a98252010-10-12 07:49:24 +090060extern struct platform_device s3c_device_i2c3;
61extern struct platform_device s3c_device_i2c4;
62extern struct platform_device s3c_device_i2c5;
63extern struct platform_device s3c_device_i2c6;
64extern struct platform_device s3c_device_i2c7;
Tomasz Stanislawskic40e7e02011-09-16 18:44:36 +090065extern struct platform_device s5p_device_i2c_hdmiphy;
Linus Torvalds1da177e2005-04-16 15:20:36 -070066extern struct platform_device s3c_device_rtc;
67extern struct platform_device s3c_device_adc;
68extern struct platform_device s3c_device_sdi;
Ben Dooksa3c79902009-06-23 16:30:02 +010069extern struct platform_device s3c_device_iis;
Ben Dooksad14ff32009-04-17 12:36:44 +010070extern struct platform_device s3c_device_hwmon;
Ben Dooks5b323c72008-10-31 16:14:28 +000071extern struct platform_device s3c_device_hsmmc0;
72extern struct platform_device s3c_device_hsmmc1;
73extern struct platform_device s3c_device_hsmmc2;
Hyuk Leeb3c674b2010-06-10 15:22:16 +090074extern struct platform_device s3c_device_hsmmc3;
Abhilash Kesavandb900052010-06-08 16:38:20 +090075extern struct platform_device s3c_device_cfcon;
Linus Torvalds1da177e2005-04-16 15:20:36 -070076
77extern struct platform_device s3c_device_spi0;
78extern struct platform_device s3c_device_spi1;
79
Jassi Brar7c3943f2010-05-18 16:43:34 +090080extern struct platform_device s5pc100_device_spi0;
81extern struct platform_device s5pc100_device_spi1;
82extern struct platform_device s5pc100_device_spi2;
Jassi Brarf0c303a2010-05-18 16:43:37 +090083extern struct platform_device s5pv210_device_spi0;
84extern struct platform_device s5pv210_device_spi1;
Padmavathi Venna457d4fe2011-05-31 14:10:51 -070085extern struct platform_device s5p64x0_device_spi0;
86extern struct platform_device s5p64x0_device_spi1;
Jassi Brar7c3943f2010-05-18 16:43:34 +090087
Ben Dooksc197cec2009-07-18 10:12:25 +010088extern struct platform_device s3c_device_hwmon;
89
Linus Torvalds1da177e2005-04-16 15:20:36 -070090extern struct platform_device s3c_device_nand;
Marek Szyprowski999304b2010-05-20 08:59:05 +020091extern struct platform_device s3c_device_onenand;
92extern struct platform_device s3c64xx_device_onenand1;
Kukjin Kim13904fb2010-08-27 13:56:54 +090093extern struct platform_device s5p_device_onenand;
Linus Torvalds1da177e2005-04-16 15:20:36 -070094
Linus Torvalds1da177e2005-04-16 15:20:36 -070095extern struct platform_device s3c_device_usbgadget;
Thomas Abraham4a98f592011-05-07 22:26:53 +020096extern struct platform_device s3c_device_usb_hsudc;
Ben Dooksf0e1fa72009-05-16 22:05:27 +010097extern struct platform_device s3c_device_usb_hsotg;
Linus Torvalds1da177e2005-04-16 15:20:36 -070098
Jassi Brar602bf0c2010-05-18 16:02:26 +090099extern struct platform_device s5pv210_device_ac97;
100extern struct platform_device s5pv210_device_pcm0;
101extern struct platform_device s5pv210_device_pcm1;
102extern struct platform_device s5pv210_device_pcm2;
103extern struct platform_device s5pv210_device_iis0;
104extern struct platform_device s5pv210_device_iis1;
105extern struct platform_device s5pv210_device_iis2;
Seungwhan Youn494edad2010-10-14 10:35:24 +0900106extern struct platform_device s5pv210_device_spdif;
Jassi Brar602bf0c2010-05-18 16:02:26 +0900107
Kukjin Kim3db3ae52011-02-14 16:22:36 +0900108extern struct platform_device exynos4_device_ac97;
109extern struct platform_device exynos4_device_pcm0;
110extern struct platform_device exynos4_device_pcm1;
111extern struct platform_device exynos4_device_pcm2;
112extern struct platform_device exynos4_device_i2s0;
113extern struct platform_device exynos4_device_i2s1;
114extern struct platform_device exynos4_device_i2s2;
115extern struct platform_device exynos4_device_spdif;
116extern struct platform_device exynos4_device_pd[];
Abhilash Kesavan40360212011-03-15 18:35:24 +0900117extern struct platform_device exynos4_device_ahci;
Seungwon Jeond7919582011-07-21 00:34:58 +0900118extern struct platform_device exynos4_device_dwmci;
Jassi Brar460ed692010-11-19 08:49:44 +0900119
Jassi Brar08885d02010-05-18 16:03:02 +0900120extern struct platform_device s5p6440_device_pcm;
121extern struct platform_device s5p6440_device_iis;
122
Kukjin Kime661faa2010-09-08 19:21:23 +0900123extern struct platform_device s5p6450_device_iis0;
Rajeshwari Shindee0b9c882010-12-21 09:44:42 +0900124extern struct platform_device s5p6450_device_iis1;
125extern struct platform_device s5p6450_device_iis2;
Kukjin Kime661faa2010-09-08 19:21:23 +0900126extern struct platform_device s5p6450_device_pcm0;
127
Jassi Brar9e4ed5c32010-05-18 16:02:39 +0900128extern struct platform_device s5pc100_device_ac97;
129extern struct platform_device s5pc100_device_pcm0;
130extern struct platform_device s5pc100_device_pcm1;
131extern struct platform_device s5pc100_device_iis0;
132extern struct platform_device s5pc100_device_iis1;
133extern struct platform_device s5pc100_device_iis2;
Seungwhan Youn068b4322010-10-14 10:35:23 +0900134extern struct platform_device s5pc100_device_spdif;
Jassi Brar9e4ed5c32010-05-18 16:02:39 +0900135
Joonyoung Shim995c48a2010-08-06 19:26:10 +0900136extern struct platform_device samsung_device_keypad;
137
Sylwester Nawrocki33c14ff2010-08-05 18:16:31 +0900138extern struct platform_device s5p_device_fimc0;
139extern struct platform_device s5p_device_fimc1;
140extern struct platform_device s5p_device_fimc2;
Sylwester Nawrocki604eefe2011-03-12 08:58:01 +0900141extern struct platform_device s5p_device_fimc3;
Sylwester Nawrocki33c14ff2010-08-05 18:16:31 +0900142
Kamil Debski0f75a962011-07-21 16:42:30 +0900143extern struct platform_device s5p_device_mfc;
144extern struct platform_device s5p_device_mfc_l;
145extern struct platform_device s5p_device_mfc_r;
Sylwester Nawrocki3bbef1b2010-12-17 15:08:07 +0900146extern struct platform_device s5p_device_mipi_csis0;
147extern struct platform_device s5p_device_mipi_csis1;
148
Joonyoung Shim3e112662011-04-08 13:22:09 +0900149extern struct platform_device s5p_device_ehci;
150
Kukjin Kim3db3ae52011-02-14 16:22:36 +0900151extern struct platform_device exynos4_device_sysmmu;
Donguk Ryuccbc8762011-01-13 13:40:29 +0900152
Linus Torvalds1da177e2005-04-16 15:20:36 -0700153/* s3c2440 specific devices */
154
155#ifdef CONFIG_CPU_S3C2440
156
157extern struct platform_device s3c_device_camif;
Mark Brownd91e9a72009-08-05 18:29:57 +0100158extern struct platform_device s3c_device_ac97;
Linus Torvalds1da177e2005-04-16 15:20:36 -0700159
160#endif
Ben Dooks3911dab2010-06-10 12:57:15 +0900161
162/**
163 * s3c_set_platdata() - helper for setting platform data
164 * @pd: The default platform data for this device.
165 * @pdsize: The size of the platform data.
166 * @pdev: Pointer to the device to fill in.
167 *
168 * This helper replaces a number of calls that copy and then set the
169 * platform data of the device.
170 */
171extern void *s3c_set_platdata(void *pd, size_t pdsize,
172 struct platform_device *pdev);
MyungJoo Hambb8bb572011-06-22 18:03:21 +0900173
174#endif /* __PLAT_DEVS_H */