summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2012-10-17 20:04:24 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2012-10-21 10:33:48 +0200
commit9af8dccf3637c2f24b6421b8095104a371465a60 (patch)
tree56001a20d7aa0f5e32e30ca0b543c83ded16f8e3 /arch
parent70ecd92d05ad8976a290ec69860bf4c4baad961d (diff)
downloadbarebox-9af8dccf3637c2f24b6421b8095104a371465a60.tar.gz
barebox-9af8dccf3637c2f24b6421b8095104a371465a60.tar.xz
at91sam9x5: add pmecc support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-at91/at91sam9x5_devices.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/arch/arm/mach-at91/at91sam9x5_devices.c b/arch/arm/mach-at91/at91sam9x5_devices.c
index 26a380d2ce..4e59d8ddbc 100644
--- a/arch/arm/mach-at91/at91sam9x5_devices.c
+++ b/arch/arm/mach-at91/at91sam9x5_devices.c
@@ -135,9 +135,19 @@ static struct resource nand_resources[] = {
},
[1] = {
.start = AT91_BASE_SYS + AT91_PMECC,
- .end = AT91_BASE_SYS + AT91_PMECC + 512 - 1,
+ .end = AT91_BASE_SYS + AT91_PMECC + 0x600 - 1,
.flags = IORESOURCE_MEM,
- }
+ },
+ [2] = {
+ .start = AT91_BASE_SYS + AT91_PMERRLOC,
+ .end = AT91_BASE_SYS + AT91_PMERRLOC + 0x200 - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [3] = {
+ .start = AT91SAM9X5_ROM_BASE,
+ .end = AT91SAM9X5_ROM_BASE + AT91SAM9X5_ROM_SIZE - 1,
+ .flags = IORESOURCE_MEM,
+ },
};
void __init at91_add_device_nand(struct atmel_nand_data *data)
@@ -150,6 +160,8 @@ void __init at91_add_device_nand(struct atmel_nand_data *data)
csa = at91_sys_read(AT91_MATRIX_EBICSA);
at91_sys_write(AT91_MATRIX_EBICSA, csa | AT91_MATRIX_EBI_CS3A_SMC_NANDFLASH);
+ data->pmecc_lookup_table_offset = 0x8000;
+
/* enable pin */
if (data->enable_pin)
at91_set_gpio_output(data->enable_pin, 1);