mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-11-04 14:00:19 +00:00 
			
		
		
		
	Signed-off-by: Wolfgang Denk <wd@denx.de> [trini: Fixup common/cmd_io.c] Signed-off-by: Tom Rini <trini@ti.com>
		
			
				
	
	
		
			43 lines
		
	
	
		
			990 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			990 B
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * Copyright (C) 2011
 | 
						|
 * Heiko Schocher, DENX Software Engineering, hs@denx.de.
 | 
						|
 *
 | 
						|
 * SPDX-License-Identifier:	GPL-2.0+
 | 
						|
 */
 | 
						|
 | 
						|
#include <common.h>
 | 
						|
#include <nand.h>
 | 
						|
 | 
						|
/*
 | 
						|
 * The main entry for NAND booting. It's necessary that SDRAM is already
 | 
						|
 * configured and available since this code loads the main U-Boot image
 | 
						|
 * from NAND into SDRAM and starts it from there.
 | 
						|
 */
 | 
						|
void nand_boot(void)
 | 
						|
{
 | 
						|
	__attribute__((noreturn)) void (*uboot)(void);
 | 
						|
 | 
						|
	/*
 | 
						|
	 * Load U-Boot image from NAND into RAM
 | 
						|
	 */
 | 
						|
	nand_spl_load_image(CONFIG_SYS_NAND_U_BOOT_OFFS,
 | 
						|
			CONFIG_SYS_NAND_U_BOOT_SIZE,
 | 
						|
			(void *)CONFIG_SYS_NAND_U_BOOT_DST);
 | 
						|
 | 
						|
#ifdef CONFIG_NAND_ENV_DST
 | 
						|
	nand_spl_load_image(CONFIG_ENV_OFFSET, CONFIG_ENV_SIZE,
 | 
						|
			(void *)CONFIG_NAND_ENV_DST);
 | 
						|
 | 
						|
#ifdef CONFIG_ENV_OFFSET_REDUND
 | 
						|
	nand_spl_load_image(CONFIG_ENV_OFFSET_REDUND, CONFIG_ENV_SIZE,
 | 
						|
			(void *)CONFIG_NAND_ENV_DST + CONFIG_ENV_SIZE);
 | 
						|
#endif
 | 
						|
#endif
 | 
						|
 | 
						|
	/*
 | 
						|
	 * Jump to U-Boot image
 | 
						|
	 */
 | 
						|
	uboot = (void *)CONFIG_SYS_NAND_U_BOOT_START;
 | 
						|
	(*uboot)();
 | 
						|
}
 |