diff options
-rw-r--r-- | arch/arm/mach-s3c2440/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/mach-s3c2440/mach-anubis.c | 26 |
2 files changed, 20 insertions, 7 deletions
diff --git a/arch/arm/mach-s3c2440/Kconfig b/arch/arm/mach-s3c2440/Kconfig index f1915bd61d15..dcaa4dbebb37 100644 --- a/arch/arm/mach-s3c2440/Kconfig +++ b/arch/arm/mach-s3c2440/Kconfig | |||
@@ -29,6 +29,7 @@ config MACH_ANUBIS | |||
29 | bool "Simtec Electronics ANUBIS" | 29 | bool "Simtec Electronics ANUBIS" |
30 | select CPU_S3C2440 | 30 | select CPU_S3C2440 |
31 | select PM_SIMTEC if PM | 31 | select PM_SIMTEC if PM |
32 | select HAVE_PATA_PLATFORM | ||
32 | help | 33 | help |
33 | Say Y here if you are using the Simtec Electronics ANUBIS | 34 | Say Y here if you are using the Simtec Electronics ANUBIS |
34 | development system | 35 | development system |
diff --git a/arch/arm/mach-s3c2440/mach-anubis.c b/arch/arm/mach-s3c2440/mach-anubis.c index 47258915a2f9..26536a2dd82c 100644 --- a/arch/arm/mach-s3c2440/mach-anubis.c +++ b/arch/arm/mach-s3c2440/mach-anubis.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/init.h> | 17 | #include <linux/init.h> |
18 | #include <linux/serial_core.h> | 18 | #include <linux/serial_core.h> |
19 | #include <linux/platform_device.h> | 19 | #include <linux/platform_device.h> |
20 | #include <linux/ata_platform.h> | ||
20 | 21 | ||
21 | #include <linux/sm501.h> | 22 | #include <linux/sm501.h> |
22 | #include <linux/sm501-regs.h> | 23 | #include <linux/sm501-regs.h> |
@@ -241,14 +242,18 @@ static struct s3c2410_platform_nand anubis_nand_info = { | |||
241 | 242 | ||
242 | /* IDE channels */ | 243 | /* IDE channels */ |
243 | 244 | ||
245 | struct pata_platform_info anubis_ide_platdata = { | ||
246 | .ioport_shift = 5, | ||
247 | }; | ||
248 | |||
244 | static struct resource anubis_ide0_resource[] = { | 249 | static struct resource anubis_ide0_resource[] = { |
245 | { | 250 | { |
246 | .start = S3C2410_CS3, | 251 | .start = S3C2410_CS3, |
247 | .end = S3C2410_CS3 + (8*32) - 1, | 252 | .end = S3C2410_CS3 + (8*32) - 1, |
248 | .flags = IORESOURCE_MEM, | 253 | .flags = IORESOURCE_MEM, |
249 | }, { | 254 | }, { |
250 | .start = S3C2410_CS3 + (1<<26), | 255 | .start = S3C2410_CS3 + (1<<26) + (6*32), |
251 | .end = S3C2410_CS3 + (1<<26) + (8*32) - 1, | 256 | .end = S3C2410_CS3 + (1<<26) + (7*32) - 1, |
252 | .flags = IORESOURCE_MEM, | 257 | .flags = IORESOURCE_MEM, |
253 | }, { | 258 | }, { |
254 | .start = IRQ_IDE0, | 259 | .start = IRQ_IDE0, |
@@ -258,10 +263,14 @@ static struct resource anubis_ide0_resource[] = { | |||
258 | }; | 263 | }; |
259 | 264 | ||
260 | static struct platform_device anubis_device_ide0 = { | 265 | static struct platform_device anubis_device_ide0 = { |
261 | .name = "simtec-ide", | 266 | .name = "pata_platform", |
262 | .id = 0, | 267 | .id = 0, |
263 | .num_resources = ARRAY_SIZE(anubis_ide0_resource), | 268 | .num_resources = ARRAY_SIZE(anubis_ide0_resource), |
264 | .resource = anubis_ide0_resource, | 269 | .resource = anubis_ide0_resource, |
270 | .dev = { | ||
271 | .platform_data = &anubis_ide_platdata, | ||
272 | .coherent_dma_mask = ~0, | ||
273 | }, | ||
265 | }; | 274 | }; |
266 | 275 | ||
267 | static struct resource anubis_ide1_resource[] = { | 276 | static struct resource anubis_ide1_resource[] = { |
@@ -270,8 +279,8 @@ static struct resource anubis_ide1_resource[] = { | |||
270 | .end = S3C2410_CS4 + (8*32) - 1, | 279 | .end = S3C2410_CS4 + (8*32) - 1, |
271 | .flags = IORESOURCE_MEM, | 280 | .flags = IORESOURCE_MEM, |
272 | }, { | 281 | }, { |
273 | .start = S3C2410_CS4 + (1<<26), | 282 | .start = S3C2410_CS4 + (1<<26) + (6*32), |
274 | .end = S3C2410_CS4 + (1<<26) + (8*32) - 1, | 283 | .end = S3C2410_CS4 + (1<<26) + (7*32) - 1, |
275 | .flags = IORESOURCE_MEM, | 284 | .flags = IORESOURCE_MEM, |
276 | }, { | 285 | }, { |
277 | .start = IRQ_IDE0, | 286 | .start = IRQ_IDE0, |
@@ -280,12 +289,15 @@ static struct resource anubis_ide1_resource[] = { | |||
280 | }, | 289 | }, |
281 | }; | 290 | }; |
282 | 291 | ||
283 | |||
284 | static struct platform_device anubis_device_ide1 = { | 292 | static struct platform_device anubis_device_ide1 = { |
285 | .name = "simtec-ide", | 293 | .name = "pata_platform", |
286 | .id = 1, | 294 | .id = 1, |
287 | .num_resources = ARRAY_SIZE(anubis_ide1_resource), | 295 | .num_resources = ARRAY_SIZE(anubis_ide1_resource), |
288 | .resource = anubis_ide1_resource, | 296 | .resource = anubis_ide1_resource, |
297 | .dev = { | ||
298 | .platform_data = &anubis_ide_platdata, | ||
299 | .coherent_dma_mask = ~0, | ||
300 | }, | ||
289 | }; | 301 | }; |
290 | 302 | ||
291 | /* Asix AX88796 10/100 ethernet controller */ | 303 | /* Asix AX88796 10/100 ethernet controller */ |