[ARM] 4755/1: [AT91] NAND update
authorAndrew Victor <linux@maxim.org.za>
Wed, 23 Jan 2008 08:21:02 +0000 (09:21 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 26 Jan 2008 15:00:32 +0000 (15:00 +0000)
Map the complete memory region (SZ_256M) as is done on the other AT91
processors.

The SMC_SMARTMEDIA bit should be set in the EBI controller to enable
the hardware NAND logic.
  (Patch from Sascha Erlacher)

Signed-off-by: Andrew Victor <linux@maxim.org.za>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-at91/at91rm9200_devices.c
arch/arm/mach-at91/at91sam9260_devices.c
arch/arm/mach-at91/at91sam9261_devices.c
arch/arm/mach-at91/at91sam9263_devices.c

index cebea41..a264726 100644 (file)
@@ -376,7 +376,7 @@ static struct at91_nand_data nand_data;
 static struct resource nand_resources[] = {
        {
                .start  = NAND_BASE,
-               .end    = NAND_BASE + SZ_8M - 1,
+               .end    = NAND_BASE + SZ_256M - 1,
                .flags  = IORESOURCE_MEM,
        }
 };
index 2e3db13..8acd62b 100644 (file)
@@ -290,7 +290,7 @@ static struct at91_nand_data nand_data;
 static struct resource nand_resources[] = {
        {
                .start  = NAND_BASE,
-               .end    = NAND_BASE + SZ_8M - 1,
+               .end    = NAND_BASE + SZ_256M - 1,
                .flags  = IORESOURCE_MEM,
        }
 };
@@ -313,7 +313,7 @@ void __init at91_add_device_nand(struct at91_nand_data *data)
                return;
 
        csa = at91_sys_read(AT91_MATRIX_EBICSA);
-       at91_sys_write(AT91_MATRIX_EBICSA, csa | AT91_MATRIX_CS3A_SMC);
+       at91_sys_write(AT91_MATRIX_EBICSA, csa | AT91_MATRIX_CS3A_SMC_SMARTMEDIA);
 
        /* set the bus interface characteristics */
        at91_sys_write(AT91_SMC_SETUP(3), AT91_SMC_NWESETUP_(0) | AT91_SMC_NCS_WRSETUP_(0)
index 266ccf0..ba84ba6 100644 (file)
@@ -233,7 +233,7 @@ void __init at91_add_device_nand(struct at91_nand_data *data)
                return;
 
        csa = at91_sys_read(AT91_MATRIX_EBICSA);
-       at91_sys_write(AT91_MATRIX_EBICSA, csa | AT91_MATRIX_CS3A_SMC);
+       at91_sys_write(AT91_MATRIX_EBICSA, csa | AT91_MATRIX_CS3A_SMC_SMARTMEDIA);
 
        /* set the bus interface characteristics */
        at91_sys_write(AT91_SMC_SETUP(3), AT91_SMC_NWESETUP_(0) | AT91_SMC_NCS_WRSETUP_(0)
index f83ef62..c025f5c 100644 (file)
@@ -383,7 +383,7 @@ void __init at91_add_device_nand(struct at91_nand_data *data)
                return;
 
        csa = at91_sys_read(AT91_MATRIX_EBI0CSA);
-       at91_sys_write(AT91_MATRIX_EBI0CSA, csa | AT91_MATRIX_EBI0_CS3A_SMC);
+       at91_sys_write(AT91_MATRIX_EBI0CSA, csa | AT91_MATRIX_EBI0_CS3A_SMC_SMARTMEDIA);
 
        /* set the bus interface characteristics */
        at91_sys_write(AT91_SMC_SETUP(3), AT91_SMC_NWESETUP_(0) | AT91_SMC_NCS_WRSETUP_(0)