aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-at91/board-usb-a9263.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-at91/board-usb-a9263.c')
-rw-r--r--arch/arm/mach-at91/board-usb-a9263.c36
1 files changed, 30 insertions, 6 deletions
diff --git a/arch/arm/mach-at91/board-usb-a9263.c b/arch/arm/mach-at91/board-usb-a9263.c
index 391b566c4571..d96405b7d578 100644
--- a/arch/arm/mach-at91/board-usb-a9263.c
+++ b/arch/arm/mach-at91/board-usb-a9263.c
@@ -40,8 +40,10 @@
40#include <mach/hardware.h> 40#include <mach/hardware.h>
41#include <mach/board.h> 41#include <mach/board.h>
42#include <mach/gpio.h> 42#include <mach/gpio.h>
43#include <mach/at91sam9_smc.h>
43#include <mach/at91_shdwc.h> 44#include <mach/at91_shdwc.h>
44 45
46#include "sam9_smc.h"
45#include "generic.h" 47#include "generic.h"
46 48
47 49
@@ -134,13 +136,35 @@ static struct atmel_nand_data __initdata ek_nand_data = {
134 .rdy_pin = AT91_PIN_PA22, 136 .rdy_pin = AT91_PIN_PA22,
135 .enable_pin = AT91_PIN_PD15, 137 .enable_pin = AT91_PIN_PD15,
136 .partition_info = nand_partitions, 138 .partition_info = nand_partitions,
137#if defined(CONFIG_MTD_NAND_ATMEL_BUSWIDTH_16)
138 .bus_width_16 = 1,
139#else
140 .bus_width_16 = 0,
141#endif
142}; 139};
143 140
141static struct sam9_smc_config __initdata ek_nand_smc_config = {
142 .ncs_read_setup = 0,
143 .nrd_setup = 1,
144 .ncs_write_setup = 0,
145 .nwe_setup = 1,
146
147 .ncs_read_pulse = 3,
148 .nrd_pulse = 3,
149 .ncs_write_pulse = 3,
150 .nwe_pulse = 3,
151
152 .read_cycle = 5,
153 .write_cycle = 5,
154
155 .mode = AT91_SMC_READMODE | AT91_SMC_WRITEMODE | AT91_SMC_EXNWMODE_DISABLE | AT91_SMC_DBW_8,
156 .tdf_cycles = 2,
157};
158
159static void __init ek_add_device_nand(void)
160{
161 /* configure chip-select 3 (NAND) */
162 sam9_smc_configure(3, &ek_nand_smc_config);
163
164 at91_add_device_nand(&ek_nand_data);
165}
166
167
144/* 168/*
145 * GPIO Buttons 169 * GPIO Buttons
146 */ 170 */
@@ -206,7 +230,7 @@ static void __init ek_board_init(void)
206 /* Ethernet */ 230 /* Ethernet */
207 at91_add_device_eth(&ek_macb_data); 231 at91_add_device_eth(&ek_macb_data);
208 /* NAND */ 232 /* NAND */
209 at91_add_device_nand(&ek_nand_data); 233 ek_add_device_nand();
210 /* I2C */ 234 /* I2C */
211 at91_add_device_i2c(NULL, 0); 235 at91_add_device_i2c(NULL, 0);
212 /* Push Buttons */ 236 /* Push Buttons */