diff options
Diffstat (limited to 'arch/arm/mach-at91/board-usb-a9263.c')
-rw-r--r-- | arch/arm/mach-at91/board-usb-a9263.c | 36 |
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 | ||
141 | static 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 | |||
159 | static 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 */ |