devs.h 5.9 KB
Newer Older
1
/* arch/arm/plat-samsung/include/plat/devs.h
L
Linus Torvalds 已提交
2 3 4 5 6 7 8 9 10 11
 *
 * 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.
*/
12
#include <linux/platform_device.h>
L
Linus Torvalds 已提交
13

14 15 16 17 18 19
struct s3c24xx_uart_resources {
	struct resource		*resources;
	unsigned long		 nr_resources;
};

extern struct s3c24xx_uart_resources s3c2410_uart_resources[];
20
extern struct s3c24xx_uart_resources s3c64xx_uart_resources[];
21
extern struct s3c24xx_uart_resources s5p_uart_resources[];
22

L
Linus Torvalds 已提交
23
extern struct platform_device *s3c24xx_uart_devs[];
24
extern struct platform_device *s3c24xx_uart_src[];
L
Linus Torvalds 已提交
25

B
Ben Dooks 已提交
26 27
extern struct platform_device s3c_device_timer[];

28 29
extern struct platform_device s3c64xx_device_iis0;
extern struct platform_device s3c64xx_device_iis1;
30
extern struct platform_device s3c64xx_device_iisv4;
31

32 33 34
extern struct platform_device s3c64xx_device_spi0;
extern struct platform_device s3c64xx_device_spi1;

35
extern struct platform_device samsung_asoc_dma;
36

37 38 39
extern struct platform_device s3c64xx_device_pcm0;
extern struct platform_device s3c64xx_device_pcm1;

40 41
extern struct platform_device s3c64xx_device_ac97;

42
extern struct platform_device s3c_device_ts;
43

44
extern struct platform_device s3c_device_fb;
45
extern struct platform_device s3c_device_ohci;
L
Linus Torvalds 已提交
46 47
extern struct platform_device s3c_device_lcd;
extern struct platform_device s3c_device_wdt;
48
extern struct platform_device s3c_device_i2c0;
B
Ben Dooks 已提交
49
extern struct platform_device s3c_device_i2c1;
50
extern struct platform_device s3c_device_i2c2;
51 52 53 54 55
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 已提交
56 57 58
extern struct platform_device s3c_device_rtc;
extern struct platform_device s3c_device_adc;
extern struct platform_device s3c_device_sdi;
59
extern struct platform_device s3c_device_iis;
60
extern struct platform_device s3c_device_hwmon;
61 62 63
extern struct platform_device s3c_device_hsmmc0;
extern struct platform_device s3c_device_hsmmc1;
extern struct platform_device s3c_device_hsmmc2;
64
extern struct platform_device s3c_device_hsmmc3;
65
extern struct platform_device s3c_device_cfcon;
L
Linus Torvalds 已提交
66 67 68 69

extern struct platform_device s3c_device_spi0;
extern struct platform_device s3c_device_spi1;

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

80 81
extern struct platform_device s3c_device_hwmon;

L
Linus Torvalds 已提交
82
extern struct platform_device s3c_device_nand;
83 84
extern struct platform_device s3c_device_onenand;
extern struct platform_device s3c64xx_device_onenand1;
85
extern struct platform_device s5p_device_onenand;
L
Linus Torvalds 已提交
86 87

extern struct platform_device s3c_device_usbgadget;
88
extern struct platform_device s3c_device_usb_hsotg;
L
Linus Torvalds 已提交
89

90 91 92 93 94 95 96
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;
97
extern struct platform_device s5pv210_device_spdif;
98

99 100 101 102 103 104 105 106
extern struct platform_device s5pv310_device_ac97;
extern struct platform_device s5pv310_device_pcm0;
extern struct platform_device s5pv310_device_pcm1;
extern struct platform_device s5pv310_device_pcm2;
extern struct platform_device s5pv310_device_i2s0;
extern struct platform_device s5pv310_device_i2s1;
extern struct platform_device s5pv310_device_i2s2;
extern struct platform_device s5pv310_device_spdif;
107
extern struct platform_device s5pv310_device_pd[];
108

109 110 111 112
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;
113
extern struct platform_device s5p6442_device_spi;
114

115 116 117
extern struct platform_device s5p6440_device_pcm;
extern struct platform_device s5p6440_device_iis;

K
Kukjin Kim 已提交
118
extern struct platform_device s5p6450_device_iis0;
119 120
extern struct platform_device s5p6450_device_iis1;
extern struct platform_device s5p6450_device_iis2;
K
Kukjin Kim 已提交
121 122
extern struct platform_device s5p6450_device_pcm0;

123 124 125 126 127 128
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;
129
extern struct platform_device s5pc100_device_spdif;
130

131 132
extern struct platform_device samsung_device_keypad;

133 134 135 136
extern struct platform_device s5p_device_fimc0;
extern struct platform_device s5p_device_fimc1;
extern struct platform_device s5p_device_fimc2;

137 138 139
extern struct platform_device s5p_device_mipi_csis0;
extern struct platform_device s5p_device_mipi_csis1;

140 141
extern struct platform_device s5pv310_device_sysmmu;

L
Linus Torvalds 已提交
142 143 144 145 146
/* s3c2440 specific devices */

#ifdef CONFIG_CPU_S3C2440

extern struct platform_device s3c_device_camif;
147
extern struct platform_device s3c_device_ac97;
L
Linus Torvalds 已提交
148 149

#endif
150 151 152 153 154 155 156 157 158 159 160 161

/**
 * 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);