diff options
author | Andrew Victor <linux@maxim.org.za> | 2008-10-06 15:01:00 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-12-01 12:18:10 -0500 |
commit | 461d3b4dcf2b3b92f819b668d16b36a87046fd98 (patch) | |
tree | b4a2f88b992997a5c7d7771f6e9c4376e6489d44 /arch/arm/mach-at91/at91sam9263_devices.c | |
parent | 6781002bec5237ee8ac1e1daeb0ba976e780a884 (diff) |
[ARM] 5288/1: [AT91] Remove SMC configuration from devices.c files
In at91_add_device_nand(), do not configure the Static Memory
controller with specific timing values.
The *_devices.c files are board independent, and the SMC timing values
are specific to the NAND devices that are installed on the board.
The board-specific files are now responsible for configuring the
Static Memory controller (if the don't want to leave it up to a
bootloader).
Signed-off-by: Andrew Victor <linux@maxim.org.za>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-at91/at91sam9263_devices.c')
-rw-r--r-- | arch/arm/mach-at91/at91sam9263_devices.c | 17 |
1 files changed, 1 insertions, 16 deletions
diff --git a/arch/arm/mach-at91/at91sam9263_devices.c b/arch/arm/mach-at91/at91sam9263_devices.c index 8b884083f76d..b753cb879d8e 100644 --- a/arch/arm/mach-at91/at91sam9263_devices.c +++ b/arch/arm/mach-at91/at91sam9263_devices.c | |||
@@ -382,7 +382,7 @@ static struct platform_device at91sam9263_nand_device = { | |||
382 | 382 | ||
383 | void __init at91_add_device_nand(struct atmel_nand_data *data) | 383 | void __init at91_add_device_nand(struct atmel_nand_data *data) |
384 | { | 384 | { |
385 | unsigned long csa, mode; | 385 | unsigned long csa; |
386 | 386 | ||
387 | if (!data) | 387 | if (!data) |
388 | return; | 388 | return; |
@@ -390,21 +390,6 @@ void __init at91_add_device_nand(struct atmel_nand_data *data) | |||
390 | csa = at91_sys_read(AT91_MATRIX_EBI0CSA); | 390 | csa = at91_sys_read(AT91_MATRIX_EBI0CSA); |
391 | at91_sys_write(AT91_MATRIX_EBI0CSA, csa | AT91_MATRIX_EBI0_CS3A_SMC_SMARTMEDIA); | 391 | at91_sys_write(AT91_MATRIX_EBI0CSA, csa | AT91_MATRIX_EBI0_CS3A_SMC_SMARTMEDIA); |
392 | 392 | ||
393 | /* set the bus interface characteristics */ | ||
394 | at91_sys_write(AT91_SMC_SETUP(3), AT91_SMC_NWESETUP_(1) | AT91_SMC_NCS_WRSETUP_(0) | ||
395 | | AT91_SMC_NRDSETUP_(1) | AT91_SMC_NCS_RDSETUP_(0)); | ||
396 | |||
397 | at91_sys_write(AT91_SMC_PULSE(3), AT91_SMC_NWEPULSE_(3) | AT91_SMC_NCS_WRPULSE_(3) | ||
398 | | AT91_SMC_NRDPULSE_(3) | AT91_SMC_NCS_RDPULSE_(3)); | ||
399 | |||
400 | at91_sys_write(AT91_SMC_CYCLE(3), AT91_SMC_NWECYCLE_(5) | AT91_SMC_NRDCYCLE_(5)); | ||
401 | |||
402 | if (data->bus_width_16) | ||
403 | mode = AT91_SMC_DBW_16; | ||
404 | else | ||
405 | mode = AT91_SMC_DBW_8; | ||
406 | at91_sys_write(AT91_SMC_MODE(3), mode | AT91_SMC_READMODE | AT91_SMC_WRITEMODE | AT91_SMC_EXNWMODE_DISABLE | AT91_SMC_TDF_(2)); | ||
407 | |||
408 | /* enable pin */ | 393 | /* enable pin */ |
409 | if (data->enable_pin) | 394 | if (data->enable_pin) |
410 | at91_set_gpio_output(data->enable_pin, 1); | 395 | at91_set_gpio_output(data->enable_pin, 1); |