提交 22823558 编写于 作者: A Andrew Victor 提交者: Russell King

[ARM] 4755/1: [AT91] NAND update

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: NAndrew Victor <linux@maxim.org.za>
Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
上级 bfbc3266
...@@ -376,7 +376,7 @@ static struct at91_nand_data nand_data; ...@@ -376,7 +376,7 @@ static struct at91_nand_data nand_data;
static struct resource nand_resources[] = { static struct resource nand_resources[] = {
{ {
.start = NAND_BASE, .start = NAND_BASE,
.end = NAND_BASE + SZ_8M - 1, .end = NAND_BASE + SZ_256M - 1,
.flags = IORESOURCE_MEM, .flags = IORESOURCE_MEM,
} }
}; };
......
...@@ -290,7 +290,7 @@ static struct at91_nand_data nand_data; ...@@ -290,7 +290,7 @@ static struct at91_nand_data nand_data;
static struct resource nand_resources[] = { static struct resource nand_resources[] = {
{ {
.start = NAND_BASE, .start = NAND_BASE,
.end = NAND_BASE + SZ_8M - 1, .end = NAND_BASE + SZ_256M - 1,
.flags = IORESOURCE_MEM, .flags = IORESOURCE_MEM,
} }
}; };
...@@ -313,7 +313,7 @@ void __init at91_add_device_nand(struct at91_nand_data *data) ...@@ -313,7 +313,7 @@ void __init at91_add_device_nand(struct at91_nand_data *data)
return; return;
csa = at91_sys_read(AT91_MATRIX_EBICSA); 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 */ /* set the bus interface characteristics */
at91_sys_write(AT91_SMC_SETUP(3), AT91_SMC_NWESETUP_(0) | AT91_SMC_NCS_WRSETUP_(0) at91_sys_write(AT91_SMC_SETUP(3), AT91_SMC_NWESETUP_(0) | AT91_SMC_NCS_WRSETUP_(0)
......
...@@ -233,7 +233,7 @@ void __init at91_add_device_nand(struct at91_nand_data *data) ...@@ -233,7 +233,7 @@ void __init at91_add_device_nand(struct at91_nand_data *data)
return; return;
csa = at91_sys_read(AT91_MATRIX_EBICSA); 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 */ /* set the bus interface characteristics */
at91_sys_write(AT91_SMC_SETUP(3), AT91_SMC_NWESETUP_(0) | AT91_SMC_NCS_WRSETUP_(0) at91_sys_write(AT91_SMC_SETUP(3), AT91_SMC_NWESETUP_(0) | AT91_SMC_NCS_WRSETUP_(0)
......
...@@ -383,7 +383,7 @@ void __init at91_add_device_nand(struct at91_nand_data *data) ...@@ -383,7 +383,7 @@ void __init at91_add_device_nand(struct at91_nand_data *data)
return; return;
csa = at91_sys_read(AT91_MATRIX_EBI0CSA); 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 */ /* set the bus interface characteristics */
at91_sys_write(AT91_SMC_SETUP(3), AT91_SMC_NWESETUP_(0) | AT91_SMC_NCS_WRSETUP_(0) at91_sys_write(AT91_SMC_SETUP(3), AT91_SMC_NWESETUP_(0) | AT91_SMC_NCS_WRSETUP_(0)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册