diff options
Diffstat (limited to 'arch/arm/cpu/armv7/omap-common/spl_nand.c')
| -rw-r--r-- | arch/arm/cpu/armv7/omap-common/spl_nand.c | 111 | 
1 files changed, 0 insertions, 111 deletions
| diff --git a/arch/arm/cpu/armv7/omap-common/spl_nand.c b/arch/arm/cpu/armv7/omap-common/spl_nand.c deleted file mode 100644 index 8cf55c9a1..000000000 --- a/arch/arm/cpu/armv7/omap-common/spl_nand.c +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Copyright (C) 2011 - * Corscience GmbH & Co. KG - Simon Schwarz <schwarz@corscience.de> - * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - */ -#include <common.h> -#include <asm/u-boot.h> -#include <asm/utils.h> -#include <asm/arch/sys_proto.h> -#include <asm/io.h> -#include <nand.h> -#include <version.h> -#include <asm/omap_common.h> - -void spl_nand_load_image(void) -{ -	struct image_header *header; -	int *src __attribute__((unused)); -	int *dst __attribute__((unused)); - -	switch (omap_boot_mode()) { -	case NAND_MODE_HW_ECC: -		debug("spl: nand - using hw ecc\n"); -		gpmc_init(); -		nand_init(); -		break; -	default: -		puts("spl: ERROR: This bootmode is not implemented - hanging"); -		hang(); -	} - -	/*use CONFIG_SYS_TEXT_BASE as temporary storage area */ -	header = (struct image_header *)(CONFIG_SYS_TEXT_BASE); -#ifdef CONFIG_SPL_OS_BOOT -	if (!spl_start_uboot()) { -		/* -		 * load parameter image -		 * load to temp position since nand_spl_load_image reads -		 * a whole block which is typically larger than -		 * CONFIG_CMD_SPL_WRITE_SIZE therefore may overwrite -		 * following sections like BSS -		 */ -		nand_spl_load_image(CONFIG_CMD_SPL_NAND_OFS, -			CONFIG_CMD_SPL_WRITE_SIZE, -			(void *)CONFIG_SYS_TEXT_BASE); -		/* copy to destintion */ -		for (dst = (int *)CONFIG_SYS_SPL_ARGS_ADDR, -				src = (int *)CONFIG_SYS_TEXT_BASE; -				src < (int *)(CONFIG_SYS_TEXT_BASE + -				CONFIG_CMD_SPL_WRITE_SIZE); -				src++, dst++) { -			writel(readl(src), dst); -		} - -		/* load linux */ -		nand_spl_load_image(CONFIG_SYS_NAND_SPL_KERNEL_OFFS, -			CONFIG_SYS_NAND_PAGE_SIZE, (void *)header); -		spl_parse_image_header(header); -		if (header->ih_os == IH_OS_LINUX) { -			/* happy - was a linux */ -			nand_spl_load_image(CONFIG_SYS_NAND_SPL_KERNEL_OFFS, -				spl_image.size, (void *)spl_image.load_addr); -			nand_deselect(); -			return; -		} else { -			printf("The Expected Linux image was not" -				"found. Please check your NAND" -				"configuration.\n"); -			printf("Trying to start u-boot now...\n"); -		} -	} -#endif -#ifdef CONFIG_NAND_ENV_DST -	nand_spl_load_image(CONFIG_ENV_OFFSET, -		CONFIG_SYS_NAND_PAGE_SIZE, (void *)header); -	spl_parse_image_header(header); -	nand_spl_load_image(CONFIG_ENV_OFFSET, spl_image.size, -		(void *)spl_image.load_addr); -#ifdef CONFIG_ENV_OFFSET_REDUND -	nand_spl_load_image(CONFIG_ENV_OFFSET_REDUND, -		CONFIG_SYS_NAND_PAGE_SIZE, (void *)header); -	spl_parse_image_header(header); -	nand_spl_load_image(CONFIG_ENV_OFFSET_REDUND, spl_image.size, -		(void *)spl_image.load_addr); -#endif -#endif -	/* Load u-boot */ -	nand_spl_load_image(CONFIG_SYS_NAND_U_BOOT_OFFS, -		CONFIG_SYS_NAND_PAGE_SIZE, (void *)header); -	spl_parse_image_header(header); -	nand_spl_load_image(CONFIG_SYS_NAND_U_BOOT_OFFS, -		spl_image.size, (void *)spl_image.load_addr); -	nand_deselect(); -} |