devs.h 6.0 KB
Newer Older
1
/* arch/arm/plat-samsung/include/plat/devs.h
K
Kukjin Kim 已提交
2 3 4
 *
 * Copyright (c) 2011 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
L
Linus Torvalds 已提交
5 6 7 8 9 10 11 12 13 14
 *
 * Copyright (c) 2004 Simtec Electronics
 * Ben Dooks <ben@simtec.co.uk>
 *
 * Header file for s3c2410 standard platform devices
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
*/
15
#include <linux/platform_device.h>
L
Linus Torvalds 已提交
16

17 18 19 20 21 22
struct s3c24xx_uart_resources {
	struct resource		*resources;
	unsigned long		 nr_resources;
};

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[];
25

L
Linus Torvalds 已提交
26
extern struct platform_device *s3c24xx_uart_devs[];
27
extern struct platform_device *s3c24xx_uart_src[];
L
Linus Torvalds 已提交
28

B
Ben Dooks 已提交
29 30
extern struct platform_device s3c_device_timer[];

31 32
extern struct platform_device s3c64xx_device_iis0;
extern struct platform_device s3c64xx_device_iis1;
33
extern struct platform_device s3c64xx_device_iisv4;
34

35 36 37
extern struct platform_device s3c64xx_device_spi0;
extern struct platform_device s3c64xx_device_spi1;

38
extern struct platform_device samsung_asoc_dma;
39

40 41 42
extern struct platform_device s3c64xx_device_pcm0;
extern struct platform_device s3c64xx_device_pcm1;

43 44
extern struct platform_device s3c64xx_device_ac97;

45
extern struct platform_device s3c_device_ts;
46

47
extern struct platform_device s3c_device_fb;
48
extern struct platform_device s3c_device_ohci;
L
Linus Torvalds 已提交
49 50
extern struct platform_device s3c_device_lcd;
extern struct platform_device s3c_device_wdt;
51
extern struct platform_device s3c_device_i2c0;
B
Ben Dooks 已提交
52
extern struct platform_device s3c_device_i2c1;
53
extern struct platform_device s3c_device_i2c2;
54 55 56 57 58
extern struct platform_device s3c_device_i2c3;
extern struct platform_device s3c_device_i2c4;
extern struct platform_device s3c_device_i2c5;
extern struct platform_device s3c_device_i2c6;
extern struct platform_device s3c_device_i2c7;
L
Linus Torvalds 已提交
59 60 61
extern struct platform_device s3c_device_rtc;
extern struct platform_device s3c_device_adc;
extern struct platform_device s3c_device_sdi;
62
extern struct platform_device s3c_device_iis;
63
extern struct platform_device s3c_device_hwmon;
64 65 66
extern struct platform_device s3c_device_hsmmc0;
extern struct platform_device s3c_device_hsmmc1;
extern struct platform_device s3c_device_hsmmc2;
67
extern struct platform_device s3c_device_hsmmc3;
68
extern struct platform_device s3c_device_cfcon;
L
Linus Torvalds 已提交
69 70 71 72

extern struct platform_device s3c_device_spi0;
extern struct platform_device s3c_device_spi1;

73 74 75
extern struct platform_device s5pc100_device_spi0;
extern struct platform_device s5pc100_device_spi1;
extern struct platform_device s5pc100_device_spi2;
76 77
extern struct platform_device s5pv210_device_spi0;
extern struct platform_device s5pv210_device_spi1;
78 79
extern struct platform_device s5p6440_device_spi0;
extern struct platform_device s5p6440_device_spi1;
K
Kukjin Kim 已提交
80 81
extern struct platform_device s5p6450_device_spi0;
extern struct platform_device s5p6450_device_spi1;
82

83 84
extern struct platform_device s3c_device_hwmon;

L
Linus Torvalds 已提交
85
extern struct platform_device s3c_device_nand;
86 87
extern struct platform_device s3c_device_onenand;
extern struct platform_device s3c64xx_device_onenand1;
88
extern struct platform_device s5p_device_onenand;
L
Linus Torvalds 已提交
89 90

extern struct platform_device s3c_device_usbgadget;
91
extern struct platform_device s3c_device_usb_hsotg;
L
Linus Torvalds 已提交
92

93 94 95 96 97 98 99
extern struct platform_device s5pv210_device_ac97;
extern struct platform_device s5pv210_device_pcm0;
extern struct platform_device s5pv210_device_pcm1;
extern struct platform_device s5pv210_device_pcm2;
extern struct platform_device s5pv210_device_iis0;
extern struct platform_device s5pv210_device_iis1;
extern struct platform_device s5pv210_device_iis2;
100
extern struct platform_device s5pv210_device_spdif;
101

K
Kukjin Kim 已提交
102 103 104 105 106 107 108 109 110
extern struct platform_device exynos4_device_ac97;
extern struct platform_device exynos4_device_pcm0;
extern struct platform_device exynos4_device_pcm1;
extern struct platform_device exynos4_device_pcm2;
extern struct platform_device exynos4_device_i2s0;
extern struct platform_device exynos4_device_i2s1;
extern struct platform_device exynos4_device_i2s2;
extern struct platform_device exynos4_device_spdif;
extern struct platform_device exynos4_device_pd[];
111

112 113 114 115
extern struct platform_device s5p6442_device_pcm0;
extern struct platform_device s5p6442_device_pcm1;
extern struct platform_device s5p6442_device_iis0;
extern struct platform_device s5p6442_device_iis1;
116
extern struct platform_device s5p6442_device_spi;
117

118 119 120
extern struct platform_device s5p6440_device_pcm;
extern struct platform_device s5p6440_device_iis;

K
Kukjin Kim 已提交
121
extern struct platform_device s5p6450_device_iis0;
122 123
extern struct platform_device s5p6450_device_iis1;
extern struct platform_device s5p6450_device_iis2;
K
Kukjin Kim 已提交
124 125
extern struct platform_device s5p6450_device_pcm0;

126 127 128 129 130 131
extern struct platform_device s5pc100_device_ac97;
extern struct platform_device s5pc100_device_pcm0;
extern struct platform_device s5pc100_device_pcm1;
extern struct platform_device s5pc100_device_iis0;
extern struct platform_device s5pc100_device_iis1;
extern struct platform_device s5pc100_device_iis2;
132
extern struct platform_device s5pc100_device_spdif;
133

134 135
extern struct platform_device samsung_device_keypad;

136 137 138 139
extern struct platform_device s5p_device_fimc0;
extern struct platform_device s5p_device_fimc1;
extern struct platform_device s5p_device_fimc2;

140 141 142
extern struct platform_device s5p_device_mipi_csis0;
extern struct platform_device s5p_device_mipi_csis1;

K
Kukjin Kim 已提交
143
extern struct platform_device exynos4_device_sysmmu;
144

L
Linus Torvalds 已提交
145 146 147 148 149
/* s3c2440 specific devices */

#ifdef CONFIG_CPU_S3C2440

extern struct platform_device s3c_device_camif;
150
extern struct platform_device s3c_device_ac97;
L
Linus Torvalds 已提交
151 152

#endif
153 154 155 156 157 158 159 160 161 162 163 164

/**
 * s3c_set_platdata() - helper for setting platform data
 * @pd: The default platform data for this device.
 * @pdsize: The size of the platform data.
 * @pdev: Pointer to the device to fill in.
 *
 * This helper replaces a number of calls that copy and then set the
 * platform data of the device.
 */
extern void *s3c_set_platdata(void *pd, size_t pdsize,
			      struct platform_device *pdev);