summaryrefslogtreecommitdiff
path: root/board/spear/spear600
diff options
context:
space:
mode:
Diffstat (limited to 'board/spear/spear600')
-rw-r--r--board/spear/spear600/spear600.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/board/spear/spear600/spear600.c b/board/spear/spear600/spear600.c
index eef9a37..ab0f760 100644
--- a/board/spear/spear600/spear600.c
+++ b/board/spear/spear600/spear600.c
@@ -24,10 +24,12 @@
#include <common.h>
#include <nand.h>
#include <asm/io.h>
+#include <linux/mtd/fsmc_nand.h>
#include <asm/arch/hardware.h>
#include <asm/arch/spr_defs.h>
#include <asm/arch/spr_misc.h>
-#include <asm/arch/spr_nand.h>
+
+static struct nand_chip nand_chip[CONFIG_SYS_MAX_NAND_DEVICE];
int board_init(void)
{
@@ -41,13 +43,15 @@ int board_init(void)
* Called by nand_init_chip to initialize the board specific functions
*/
-int board_nand_init(struct nand_chip *nand)
+void board_nand_init()
{
struct misc_regs *const misc_regs_p =
(struct misc_regs *)CONFIG_SPEAR_MISCBASE;
+ struct nand_chip *nand = &nand_chip[0];
+#if defined(CONFIG_NAND_FSMC)
if (!(readl(&misc_regs_p->auto_cfg_reg) & MISC_NANDDIS))
- return spear_nand_init(nand);
-
- return -1;
+ fsmc_nand_init(nand);
+#endif
+ return;
}