[U-Boot] [PATCH] ARM: UniPhier: remove Denali NAND controller fixup code

Masahiro Yamada yamada.m at jp.panasonic.com
Fri Nov 28 07:19:32 CET 2014


This ugly work-around code is unnecessary since commit f09eb52b3ffc
(mtd: denali: set some registers after nand_scan_ident()).

Signed-off-by: Masahiro Yamada <yamada.m at jp.panasonic.com>
---

 arch/arm/cpu/armv7/uniphier/board_late_init.c | 38 ---------------------------
 1 file changed, 38 deletions(-)

diff --git a/arch/arm/cpu/armv7/uniphier/board_late_init.c b/arch/arm/cpu/armv7/uniphier/board_late_init.c
index 3730020..0622a1e 100644
--- a/arch/arm/cpu/armv7/uniphier/board_late_init.c
+++ b/arch/arm/cpu/armv7/uniphier/board_late_init.c
@@ -26,42 +26,6 @@ static void nand_denali_wp_disable(void)
 #endif
 }
 
-static void nand_denali_fixup(void)
-{
-#if defined(CONFIG_NAND_DENALI) && \
-	(defined(CONFIG_MACH_PH1_SLD8) || defined(CONFIG_MACH_PH1_PRO4))
-	/*
-	 * The Denali NAND controller on some of UniPhier SoCs does not
-	 * automatically query the device parameters.  For those SoCs,
-	 * some registers must be set after the device is probed.
-	 */
-	void __iomem *denali_reg = (void __iomem *)CONFIG_SYS_NAND_REGS_BASE;
-	struct mtd_info *mtd;
-	struct nand_chip *chip;
-
-	if (nand_curr_device < 0 ||
-	    nand_curr_device >= CONFIG_SYS_MAX_NAND_DEVICE) {
-		/* NAND was not detected. Just return. */
-		return;
-	}
-
-	mtd = &nand_info[nand_curr_device];
-	chip = mtd->priv;
-
-	writel(mtd->erasesize / mtd->writesize, denali_reg + PAGES_PER_BLOCK);
-	writel(0, denali_reg + DEVICE_WIDTH);
-	writel(mtd->writesize, denali_reg + DEVICE_MAIN_AREA_SIZE);
-	writel(mtd->oobsize, denali_reg + DEVICE_SPARE_AREA_SIZE);
-	writel(1, denali_reg + DEVICES_CONNECTED);
-
-	/*
-	 * chip->scan_bbt in nand_scan_tail() has been skipped.
-	 * It should be done in here.
-	 */
-	chip->scan_bbt(mtd);
-#endif
-}
-
 int board_late_init(void)
 {
 	puts("MODE:  ");
@@ -70,7 +34,6 @@ int board_late_init(void)
 	case BOOT_DEVICE_MMC1:
 		printf("eMMC Boot\n");
 		setenv("bootmode", "emmcboot");
-		nand_denali_fixup();
 		break;
 	case BOOT_DEVICE_NAND:
 		printf("NAND Boot\n");
@@ -80,7 +43,6 @@ int board_late_init(void)
 	case BOOT_DEVICE_NOR:
 		printf("NOR Boot\n");
 		setenv("bootmode", "norboot");
-		nand_denali_fixup();
 		break;
 	default:
 		printf("Unsupported Boot Mode\n");
-- 
1.9.1



More information about the U-Boot mailing list