linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / arch / arm / mach-s3c2410 / mach-anubis.c
index 60641d4..3e327b8 100644 (file)
@@ -60,12 +60,11 @@ static struct map_desc anubis_iodesc[] __initdata = {
        .virtual        = (u32)S3C24XX_VA_ISA_BYTE,
        .pfn            = __phys_to_pfn(0x0),
        .length         = SZ_4M,
-       .type           = MT_DEVICE,
+       .type           = MT_DEVICE
   }, {
        .virtual        = (u32)S3C24XX_VA_ISA_WORD,
        .pfn            = __phys_to_pfn(0x0),
-       .length         = SZ_4M,
-       .type           = MT_DEVICE,
+       .length         = SZ_4M, MT_DEVICE
   },
 
   /* we could possibly compress the next set down into a set of smaller tables
@@ -79,12 +78,36 @@ static struct map_desc anubis_iodesc[] __initdata = {
        .virtual        = (u32)ANUBIS_VA_CTRL1,
        .pfn            = __phys_to_pfn(ANUBIS_PA_CTRL1),
        .length         = SZ_4K,
-       .type           = MT_DEVICE,
+       .type           = MT_DEVICE
   }, {
        .virtual        = (u32)ANUBIS_VA_CTRL2,
        .pfn            = __phys_to_pfn(ANUBIS_PA_CTRL2),
        .length         = SZ_4K,
-       .type           = MT_DEVICE,
+       .type           =MT_DEVICE
+  },
+
+  /* IDE drives */
+
+  {
+       .virtual        = (u32)ANUBIS_IDEPRI,
+       .pfn            = __phys_to_pfn(S3C2410_CS3),
+       .length         = SZ_1M,
+       .type           = MT_DEVICE
+  }, {
+       .virtual        = (u32)ANUBIS_IDEPRIAUX,
+       .pfn            = __phys_to_pfn(S3C2410_CS3+(1<<26)),
+       .length         = SZ_1M,
+       .type           = MT_DEVICE
+  }, {
+       .virtual        = (u32)ANUBIS_IDESEC,
+       .pfn            = __phys_to_pfn(S3C2410_CS4),
+       .length         = SZ_1M,
+       .type           = MT_DEVICE
+  }, {
+       .virtual        = (u32)ANUBIS_IDESECAUX,
+       .pfn            = __phys_to_pfn(S3C2410_CS4+(1<<26)),
+       .length         = SZ_1M,
+       .type           = MT_DEVICE
   },
 };
 
@@ -103,12 +126,12 @@ static struct s3c24xx_uart_clksrc anubis_serial_clocks[] = {
                .name           = "pclk",
                .divisor        = 1,
                .min_baud       = 0,
-               .max_baud       = 0,
+               .max_baud       = 0.
        }
 };
 
 
-static struct s3c2410_uartcfg anubis_uartcfgs[] __initdata = {
+static struct s3c2410_uartcfg anubis_uartcfgs[] = {
        [0] = {
                .hwport      = 0,
                .flags       = 0,
@@ -116,7 +139,7 @@ static struct s3c2410_uartcfg anubis_uartcfgs[] __initdata = {
                .ulcon       = ULCON,
                .ufcon       = UFCON,
                .clocks      = anubis_serial_clocks,
-               .clocks_size = ARRAY_SIZE(anubis_serial_clocks),
+               .clocks_size = ARRAY_SIZE(anubis_serial_clocks)
        },
        [1] = {
                .hwport      = 2,
@@ -125,7 +148,7 @@ static struct s3c2410_uartcfg anubis_uartcfgs[] __initdata = {
                .ulcon       = ULCON,
                .ufcon       = UFCON,
                .clocks      = anubis_serial_clocks,
-               .clocks_size = ARRAY_SIZE(anubis_serial_clocks),
+               .clocks_size = ARRAY_SIZE(anubis_serial_clocks)
        },
 };
 
@@ -139,7 +162,7 @@ static struct mtd_partition anubis_default_nand_part[] = {
        [0] = {
                .name   = "Boot Agent",
                .size   = SZ_16K,
-               .offset = 0,
+               .offset = 0
        },
        [1] = {
                .name   = "/boot",
@@ -171,21 +194,21 @@ static struct s3c2410_nand_set anubis_nand_sets[] = {
                .nr_chips       = 1,
                .nr_map         = external_map,
                .nr_partitions  = ARRAY_SIZE(anubis_default_nand_part),
-               .partitions     = anubis_default_nand_part,
+               .partitions     = anubis_default_nand_part
        },
        [0] = {
                .name           = "chip0",
                .nr_chips       = 1,
                .nr_map         = chip0_map,
                .nr_partitions  = ARRAY_SIZE(anubis_default_nand_part),
-               .partitions     = anubis_default_nand_part,
+               .partitions     = anubis_default_nand_part
        },
        [2] = {
                .name           = "chip1",
                .nr_chips       = 1,
                .nr_map         = chip1_map,
                .nr_partitions  = ARRAY_SIZE(anubis_default_nand_part),
-               .partitions     = anubis_default_nand_part,
+               .partitions     = anubis_default_nand_part
        },
 };
 
@@ -209,61 +232,13 @@ static void anubis_nand_select(struct s3c2410_nand_set *set, int slot)
 
 static struct s3c2410_platform_nand anubis_nand_info = {
        .tacls          = 25,
-       .twrph0         = 55,
-       .twrph1         = 40,
+       .twrph0         = 80,
+       .twrph1         = 80,
        .nr_sets        = ARRAY_SIZE(anubis_nand_sets),
        .sets           = anubis_nand_sets,
        .select_chip    = anubis_nand_select,
 };
 
-/* IDE channels */
-
-static struct resource anubis_ide0_resource[] = {
-       {
-               .start  = S3C2410_CS3,
-               .end    = S3C2410_CS3 + (8*32) - 1,
-               .flags  = IORESOURCE_MEM,
-       }, {
-               .start  = S3C2410_CS3 + (1<<26),
-               .end    = S3C2410_CS3 + (1<<26) + (8*32) - 1,
-               .flags  = IORESOURCE_MEM,
-       }, {
-               .start  = IRQ_IDE0,
-               .end    = IRQ_IDE0,
-               .flags  = IORESOURCE_IRQ,
-       },
-};
-
-static struct platform_device anubis_device_ide0 = {
-       .name           = "simtec-ide",
-       .id             = 0,
-       .num_resources  = ARRAY_SIZE(anubis_ide0_resource),
-       .resource       = anubis_ide0_resource,
-};
-
-static struct resource anubis_ide1_resource[] = {
-       {
-               .start  = S3C2410_CS4,
-               .end    = S3C2410_CS4 + (8*32) - 1,
-               .flags  = IORESOURCE_MEM,
-       }, {
-               .start  = S3C2410_CS4 + (1<<26),
-               .end    = S3C2410_CS4 + (1<<26) + (8*32) - 1,
-               .flags  = IORESOURCE_MEM,
-       }, {
-               .start  = IRQ_IDE0,
-               .end    = IRQ_IDE0,
-               .flags  = IORESOURCE_IRQ,
-       },
-};
-
-
-static struct platform_device anubis_device_ide1 = {
-       .name           = "simtec-ide",
-       .id             = 1,
-       .num_resources  = ARRAY_SIZE(anubis_ide1_resource),
-       .resource       = anubis_ide1_resource,
-};
 
 /* Standard Anubis devices */
 
@@ -274,8 +249,6 @@ static struct platform_device *anubis_devices[] __initdata = {
        &s3c_device_i2c,
        &s3c_device_rtc,
        &s3c_device_nand,
-       &anubis_device_ide0,
-       &anubis_device_ide1,
 };
 
 static struct clk *anubis_clocks[] = {
@@ -290,7 +263,7 @@ static struct s3c24xx_board anubis_board __initdata = {
        .devices       = anubis_devices,
        .devices_count = ARRAY_SIZE(anubis_devices),
        .clocks        = anubis_clocks,
-       .clocks_count  = ARRAY_SIZE(anubis_clocks),
+       .clocks_count  = ARRAY_SIZE(anubis_clocks)
 };
 
 static void __init anubis_map_io(void)