Merge: Add support for AMCC 440SPe CPU based eval board (Yucca).
[oweals/u-boot.git] / drivers / nand / nand.c
index d187c89ea1311011cfa8b4311da3ca4769a9b984..e1781fcbbf85b3c3b98ba997b1b0f0873d8b66c4 100644 (file)
@@ -23,7 +23,7 @@
 
 #include <common.h>
 
-#if (CONFIG_COMMANDS & CFG_CMD_NAND)
+#if (CONFIG_COMMANDS & CFG_CMD_NAND) && !defined(CFG_NAND_LEGACY)
 
 #include <nand.h>
 
@@ -46,12 +46,12 @@ static void nand_init_chip(struct mtd_info *mtd, struct nand_chip *nand,
 {
        mtd->priv = nand;
 
-       nand->IO_ADDR_R = nand->IO_ADDR_W = base_addr;
+       nand->IO_ADDR_R = nand->IO_ADDR_W = (void  __iomem *)base_addr;
        board_nand_init(nand);
 
        if (nand_scan(mtd, 1) == 0) {
                if (!mtd->name)
-                       mtd->name = default_nand_name;
+                       mtd->name = (char *)default_nand_name;
        } else
                mtd->name = NULL;
 
@@ -60,12 +60,14 @@ static void nand_init_chip(struct mtd_info *mtd, struct nand_chip *nand,
 void nand_init(void)
 {
        int i;
-
+       unsigned int size = 0;
        for (i = 0; i < CFG_MAX_NAND_DEVICE; i++) {
                nand_init_chip(&nand_info[i], &nand_chip[i], base_address[i]);
+               size += nand_info[i].size;
                if (nand_curr_device == -1)
                        nand_curr_device = i;
-       }
+}
+       printf("%lu MiB\n", size / (1024 * 1024));
 }
 
 #endif