blob: 097d0e458ab952e7180de0e36e5fcc3418b172bb [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 *
3 * Copyright (c) 2004 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk>
5 *
6 * Header file for s3c2410 standard platform devices
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
Linus Torvalds1da177e2005-04-16 15:20:36 -070011*/
Russell Kingd052d1b2005-10-29 19:07:23 +010012#include <linux/platform_device.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070013
Ben Dooks66a9b492006-06-18 23:04:05 +010014struct s3c24xx_uart_resources {
15 struct resource *resources;
16 unsigned long nr_resources;
17};
18
19extern struct s3c24xx_uart_resources s3c2410_uart_resources[];
Ben Dooks0241cbb2008-10-21 14:06:46 +010020extern struct s3c24xx_uart_resources s3c64xx_uart_resources[];
Kukjin Kim501dae92010-01-14 08:23:53 +090021extern struct s3c24xx_uart_resources s5p_uart_resources[];
Ben Dooks66a9b492006-06-18 23:04:05 +010022
Linus Torvalds1da177e2005-04-16 15:20:36 -070023extern struct platform_device *s3c24xx_uart_devs[];
Ben Dooks66a9b492006-06-18 23:04:05 +010024extern struct platform_device *s3c24xx_uart_src[];
Linus Torvalds1da177e2005-04-16 15:20:36 -070025
Ben Dooks6fc601e2008-07-01 13:17:24 +010026extern struct platform_device s3c_device_timer[];
27
Mark Brown52da2192009-06-03 20:08:38 +010028extern struct platform_device s3c64xx_device_iis0;
29extern struct platform_device s3c64xx_device_iis1;
Mark Brownd06a49e2009-06-03 20:08:39 +010030extern struct platform_device s3c64xx_device_iisv4;
Mark Brown52da2192009-06-03 20:08:38 +010031
Jassi Brar6a2b4112010-01-18 17:32:02 +090032extern struct platform_device s3c64xx_device_spi0;
33extern struct platform_device s3c64xx_device_spi1;
34
Jassi Braracf1aef2009-11-17 16:53:56 +090035extern struct platform_device s3c64xx_device_pcm0;
36extern struct platform_device s3c64xx_device_pcm1;
37
Jassi Brarde6985b2010-02-12 10:38:51 +000038extern struct platform_device s3c64xx_device_ac97;
39
Arnaud Patardce8877b2009-12-23 19:25:05 +000040extern struct platform_device s3c_device_ts;
Jassi Brarde6985b2010-02-12 10:38:51 +000041
Ben Dooks58435f72008-11-19 15:41:31 +000042extern struct platform_device s3c_device_fb;
Ben Dooksb8132482009-11-23 00:13:39 +000043extern struct platform_device s3c_device_ohci;
Linus Torvalds1da177e2005-04-16 15:20:36 -070044extern struct platform_device s3c_device_lcd;
45extern struct platform_device s3c_device_wdt;
Ben Dooks3e1b7762008-10-31 16:14:40 +000046extern struct platform_device s3c_device_i2c0;
Ben Dooks1aba8342008-10-31 16:14:55 +000047extern struct platform_device s3c_device_i2c1;
Marek Szyprowskic8d833b2010-05-20 08:13:06 +020048extern struct platform_device s3c_device_i2c2;
Linus Torvalds1da177e2005-04-16 15:20:36 -070049extern struct platform_device s3c_device_rtc;
50extern struct platform_device s3c_device_adc;
51extern struct platform_device s3c_device_sdi;
Ben Dooksa3c79902009-06-23 16:30:02 +010052extern struct platform_device s3c_device_iis;
Ben Dooksad14ff32009-04-17 12:36:44 +010053extern struct platform_device s3c_device_hwmon;
Ben Dooks5b323c72008-10-31 16:14:28 +000054extern struct platform_device s3c_device_hsmmc0;
55extern struct platform_device s3c_device_hsmmc1;
56extern struct platform_device s3c_device_hsmmc2;
Hyuk Leeb3c674b2010-06-10 15:22:16 +090057extern struct platform_device s3c_device_hsmmc3;
Abhilash Kesavandb900052010-06-08 16:38:20 +090058extern struct platform_device s3c_device_cfcon;
Linus Torvalds1da177e2005-04-16 15:20:36 -070059
60extern struct platform_device s3c_device_spi0;
61extern struct platform_device s3c_device_spi1;
62
Jassi Brar7c3943f2010-05-18 16:43:34 +090063extern struct platform_device s5pc100_device_spi0;
64extern struct platform_device s5pc100_device_spi1;
65extern struct platform_device s5pc100_device_spi2;
Jassi Brarf0c303a2010-05-18 16:43:37 +090066extern struct platform_device s5pv210_device_spi0;
67extern struct platform_device s5pv210_device_spi1;
Jassi Braref2f07d2010-05-18 16:43:40 +090068extern struct platform_device s5p6440_device_spi0;
69extern struct platform_device s5p6440_device_spi1;
Jassi Brar7c3943f2010-05-18 16:43:34 +090070
Ben Dooksc197cec2009-07-18 10:12:25 +010071extern struct platform_device s3c_device_hwmon;
72
Linus Torvalds1da177e2005-04-16 15:20:36 -070073extern struct platform_device s3c_device_nand;
Marek Szyprowski999304b2010-05-20 08:59:05 +020074extern struct platform_device s3c_device_onenand;
75extern struct platform_device s3c64xx_device_onenand1;
76extern struct platform_device s5pc110_device_onenand;
Linus Torvalds1da177e2005-04-16 15:20:36 -070077
Linus Torvalds1da177e2005-04-16 15:20:36 -070078extern struct platform_device s3c_device_usbgadget;
Ben Dooksf0e1fa72009-05-16 22:05:27 +010079extern struct platform_device s3c_device_usb_hsotg;
Linus Torvalds1da177e2005-04-16 15:20:36 -070080
Jassi Brar602bf0c2010-05-18 16:02:26 +090081extern struct platform_device s5pv210_device_ac97;
82extern struct platform_device s5pv210_device_pcm0;
83extern struct platform_device s5pv210_device_pcm1;
84extern struct platform_device s5pv210_device_pcm2;
85extern struct platform_device s5pv210_device_iis0;
86extern struct platform_device s5pv210_device_iis1;
87extern struct platform_device s5pv210_device_iis2;
88
Jassi Brar070c8082010-05-18 16:02:50 +090089extern struct platform_device s5p6442_device_pcm0;
90extern struct platform_device s5p6442_device_pcm1;
91extern struct platform_device s5p6442_device_iis0;
92extern struct platform_device s5p6442_device_iis1;
Jassi Brare8a39312010-05-18 16:43:45 +090093extern struct platform_device s5p6442_device_spi;
Jassi Brar070c8082010-05-18 16:02:50 +090094
Jassi Brar08885d02010-05-18 16:03:02 +090095extern struct platform_device s5p6440_device_pcm;
96extern struct platform_device s5p6440_device_iis;
97
Jassi Brar9e4ed5c32010-05-18 16:02:39 +090098extern struct platform_device s5pc100_device_ac97;
99extern struct platform_device s5pc100_device_pcm0;
100extern struct platform_device s5pc100_device_pcm1;
101extern struct platform_device s5pc100_device_iis0;
102extern struct platform_device s5pc100_device_iis1;
103extern struct platform_device s5pc100_device_iis2;
104
Linus Torvalds1da177e2005-04-16 15:20:36 -0700105/* s3c2440 specific devices */
106
107#ifdef CONFIG_CPU_S3C2440
108
109extern struct platform_device s3c_device_camif;
Mark Brownd91e9a72009-08-05 18:29:57 +0100110extern struct platform_device s3c_device_ac97;
Linus Torvalds1da177e2005-04-16 15:20:36 -0700111
112#endif
Ben Dooks3911dab2010-06-10 12:57:15 +0900113
114/**
115 * s3c_set_platdata() - helper for setting platform data
116 * @pd: The default platform data for this device.
117 * @pdsize: The size of the platform data.
118 * @pdev: Pointer to the device to fill in.
119 *
120 * This helper replaces a number of calls that copy and then set the
121 * platform data of the device.
122 */
123extern void *s3c_set_platdata(void *pd, size_t pdsize,
124 struct platform_device *pdev);