ARM: UniPhier: remove Denali NAND controller fixup code
This ugly work-around code is unnecessary since commit f09eb52b3f
(mtd: denali: set some registers after nand_scan_ident()).
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
			
			
This commit is contained in:
		
							parent
							
								
									97cdf64026
								
							
						
					
					
						commit
						9248a78f40
					
				| 
						 | 
					@ -26,42 +26,6 @@ static void nand_denali_wp_disable(void)
 | 
				
			||||||
#endif
 | 
					#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)
 | 
					int board_late_init(void)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	puts("MODE:  ");
 | 
						puts("MODE:  ");
 | 
				
			||||||
| 
						 | 
					@ -70,7 +34,6 @@ int board_late_init(void)
 | 
				
			||||||
	case BOOT_DEVICE_MMC1:
 | 
						case BOOT_DEVICE_MMC1:
 | 
				
			||||||
		printf("eMMC Boot\n");
 | 
							printf("eMMC Boot\n");
 | 
				
			||||||
		setenv("bootmode", "emmcboot");
 | 
							setenv("bootmode", "emmcboot");
 | 
				
			||||||
		nand_denali_fixup();
 | 
					 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	case BOOT_DEVICE_NAND:
 | 
						case BOOT_DEVICE_NAND:
 | 
				
			||||||
		printf("NAND Boot\n");
 | 
							printf("NAND Boot\n");
 | 
				
			||||||
| 
						 | 
					@ -80,7 +43,6 @@ int board_late_init(void)
 | 
				
			||||||
	case BOOT_DEVICE_NOR:
 | 
						case BOOT_DEVICE_NOR:
 | 
				
			||||||
		printf("NOR Boot\n");
 | 
							printf("NOR Boot\n");
 | 
				
			||||||
		setenv("bootmode", "norboot");
 | 
							setenv("bootmode", "norboot");
 | 
				
			||||||
		nand_denali_fixup();
 | 
					 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	default:
 | 
						default:
 | 
				
			||||||
		printf("Unsupported Boot Mode\n");
 | 
							printf("Unsupported Boot Mode\n");
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue