aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Dooks <ben-linux@fluff.org>2008-07-03 06:24:38 -0400
committerBen Dooks <ben-linux@fluff.org>2008-07-03 11:51:27 -0400
commitb9db83af69e4c61107803c85872d01a45949e052 (patch)
treeef42609ee08a38b8b271679dd5cf2f840e559559
parentb7a12d1923f12aa00a68347a3ad97c43ecf55667 (diff)
[ARM] ANUBIS: Move to using ata_platform driver (libata)
Change the (as yet unused) IDE bus on the Simtec Anubis board to use pata_platform and thus libata to provide IDE support. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
-rw-r--r--arch/arm/mach-s3c2440/Kconfig1
-rw-r--r--arch/arm/mach-s3c2440/mach-anubis.c26
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
245struct pata_platform_info anubis_ide_platdata = {
246 .ioport_shift = 5,
247};
248
244static struct resource anubis_ide0_resource[] = { 249static 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
260static struct platform_device anubis_device_ide0 = { 265static 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
267static struct resource anubis_ide1_resource[] = { 276static 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
284static struct platform_device anubis_device_ide1 = { 292static 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 */