diff options
Diffstat (limited to 'arch/arm/mach-at91/board-qil-a9260.c')
-rw-r--r-- | arch/arm/mach-at91/board-qil-a9260.c | 35 |
1 files changed, 29 insertions, 6 deletions
diff --git a/arch/arm/mach-at91/board-qil-a9260.c b/arch/arm/mach-at91/board-qil-a9260.c index cfb4571a2e27..4cff9a7e61d2 100644 --- a/arch/arm/mach-at91/board-qil-a9260.c +++ b/arch/arm/mach-at91/board-qil-a9260.c | |||
@@ -41,8 +41,10 @@ | |||
41 | #include <mach/hardware.h> | 41 | #include <mach/hardware.h> |
42 | #include <mach/board.h> | 42 | #include <mach/board.h> |
43 | #include <mach/gpio.h> | 43 | #include <mach/gpio.h> |
44 | #include <mach/at91sam9_smc.h> | ||
44 | #include <mach/at91_shdwc.h> | 45 | #include <mach/at91_shdwc.h> |
45 | 46 | ||
47 | #include "sam9_smc.h" | ||
46 | #include "generic.h" | 48 | #include "generic.h" |
47 | 49 | ||
48 | 50 | ||
@@ -147,13 +149,34 @@ static struct atmel_nand_data __initdata ek_nand_data = { | |||
147 | .rdy_pin = AT91_PIN_PC13, | 149 | .rdy_pin = AT91_PIN_PC13, |
148 | .enable_pin = AT91_PIN_PC14, | 150 | .enable_pin = AT91_PIN_PC14, |
149 | .partition_info = nand_partitions, | 151 | .partition_info = nand_partitions, |
150 | #if defined(CONFIG_MTD_NAND_ATMEL_BUSWIDTH_16) | ||
151 | .bus_width_16 = 1, | ||
152 | #else | ||
153 | .bus_width_16 = 0, | ||
154 | #endif | ||
155 | }; | 152 | }; |
156 | 153 | ||
154 | static struct sam9_smc_config __initdata ek_nand_smc_config = { | ||
155 | .ncs_read_setup = 0, | ||
156 | .nrd_setup = 1, | ||
157 | .ncs_write_setup = 0, | ||
158 | .nwe_setup = 1, | ||
159 | |||
160 | .ncs_read_pulse = 3, | ||
161 | .nrd_pulse = 3, | ||
162 | .ncs_write_pulse = 3, | ||
163 | .nwe_pulse = 3, | ||
164 | |||
165 | .read_cycle = 5, | ||
166 | .write_cycle = 5, | ||
167 | |||
168 | .mode = AT91_SMC_READMODE | AT91_SMC_WRITEMODE | AT91_SMC_EXNWMODE_DISABLE | AT91_SMC_DBW_8, | ||
169 | .tdf_cycles = 2, | ||
170 | }; | ||
171 | |||
172 | static void __init ek_add_device_nand(void) | ||
173 | { | ||
174 | /* configure chip-select 3 (NAND) */ | ||
175 | sam9_smc_configure(3, &ek_nand_smc_config); | ||
176 | |||
177 | at91_add_device_nand(&ek_nand_data); | ||
178 | } | ||
179 | |||
157 | /* | 180 | /* |
158 | * MCI (SD/MMC) | 181 | * MCI (SD/MMC) |
159 | */ | 182 | */ |
@@ -227,7 +250,7 @@ static void __init ek_board_init(void) | |||
227 | /* SPI */ | 250 | /* SPI */ |
228 | at91_add_device_spi(ek_spi_devices, ARRAY_SIZE(ek_spi_devices)); | 251 | at91_add_device_spi(ek_spi_devices, ARRAY_SIZE(ek_spi_devices)); |
229 | /* NAND */ | 252 | /* NAND */ |
230 | at91_add_device_nand(&ek_nand_data); | 253 | ek_add_device_nand(); |
231 | /* I2C */ | 254 | /* I2C */ |
232 | at91_add_device_i2c(NULL, 0); | 255 | at91_add_device_i2c(NULL, 0); |
233 | /* Ethernet */ | 256 | /* Ethernet */ |