AT91SAM9260EK: Handle 8 or 16 bit NAND
The Atmel boards can handle 8 or 16 bit NAND memories. This patch makes the support configurable in the board config header file (CFG_NAND_DBW_8 or CFG_NAND_DBW_16). Signed-off-by: Stelian Pop <stelian@popies.net> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
This commit is contained in:
parent
ab52640fc0
commit
c1212b2f5c
|
@ -90,7 +90,12 @@ static void at91sam9260ek_nand_hw_init(void)
|
|||
at91_sys_write(AT91_SMC_MODE(3),
|
||||
AT91_SMC_READMODE | AT91_SMC_WRITEMODE |
|
||||
AT91_SMC_EXNWMODE_DISABLE |
|
||||
AT91_SMC_DBW_8 | AT91_SMC_TDF_(2));
|
||||
#ifdef CFG_NAND_DBW_16
|
||||
AT91_SMC_DBW_16 |
|
||||
#else /* CFG_NAND_DBW_8 */
|
||||
AT91_SMC_DBW_8 |
|
||||
#endif
|
||||
AT91_SMC_TDF_(2));
|
||||
|
||||
at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9260_ID_PIOC);
|
||||
|
||||
|
|
|
@ -68,6 +68,9 @@ static int at91sam9260ek_nand_ready(struct mtd_info *mtd)
|
|||
int board_nand_init(struct nand_chip *nand)
|
||||
{
|
||||
nand->eccmode = NAND_ECC_SOFT;
|
||||
#ifdef CFG_NAND_DBW_16
|
||||
nand->options = NAND_BUSWIDTH_16;
|
||||
#endif
|
||||
nand->hwcontrol = at91sam9260ek_nand_hwcontrol;
|
||||
nand->dev_ready = at91sam9260ek_nand_ready;
|
||||
nand->chip_delay = 20;
|
||||
|
|
|
@ -104,6 +104,7 @@
|
|||
#define NAND_MAX_CHIPS 1
|
||||
#define CFG_MAX_NAND_DEVICE 1
|
||||
#define CFG_NAND_BASE 0x40000000
|
||||
#define CFG_NAND_DBW_8 1
|
||||
|
||||
/* NOR flash - no real flash on this board */
|
||||
#define CFG_NO_FLASH 1
|
||||
|
|
Loading…
Reference in New Issue