mirror of
				https://source.denx.de/u-boot/u-boot.git
				synced 2025-11-04 02:11:25 +01:00 
			
		
		
		
	Since commit 0e7368c6c426 (kbuild: prepare for moving headers into mach-*/include/mach), we can replace #include <asm/arch/*.h> with <mach/*.h> so we do not need to create the symbolic link during the build. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
		
			
				
	
	
		
			67 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * Copyright (C) 2014 Panasonic Corporation
 | 
						|
 *   Author: Masahiro Yamada <yamada.m@jp.panasonic.com>
 | 
						|
 *
 | 
						|
 * SPDX-License-Identifier:	GPL-2.0+
 | 
						|
 */
 | 
						|
 | 
						|
#include <common.h>
 | 
						|
#include <spl.h>
 | 
						|
#include <asm/io.h>
 | 
						|
#include <mach/boot-device.h>
 | 
						|
#include <mach/sg-regs.h>
 | 
						|
#include <mach/sbc-regs.h>
 | 
						|
 | 
						|
struct boot_device_info boot_device_table[] = {
 | 
						|
	{BOOT_DEVICE_NAND, "NAND (Mirror 8, ECC  8, EraseSize 128KB, Addr 4)"},
 | 
						|
	{BOOT_DEVICE_NAND, "NAND (Mirror 8, ECC  8, EraseSize 128KB, Addr 5)"},
 | 
						|
	{BOOT_DEVICE_NAND, "NAND (Mirror 8, ECC 16, EraseSize 128KB, Addr 5)"},
 | 
						|
	{BOOT_DEVICE_NAND, "NAND (Mirror 8, ECC  8, EraseSize 256KB, Addr 5)"},
 | 
						|
	{BOOT_DEVICE_NAND, "NAND (Mirror 8, ECC 16, EraseSize 256KB, Addr 5)"},
 | 
						|
	{BOOT_DEVICE_NAND, "NAND (Mirror 8, ECC  8, EraseSize 512KB, Addr 5)"},
 | 
						|
	{BOOT_DEVICE_NAND, "NAND (Mirror 8, ECC 16, EraseSize 512KB, Addr 5)"},
 | 
						|
	{BOOT_DEVICE_NAND, "NAND (Mirror 8, ECC 24, EraseSize   1MB, Addr 5)"},
 | 
						|
	{BOOT_DEVICE_NAND, "NAND (Mirror 4, ECC 24, EraseSize   1MB, Addr 5)"},
 | 
						|
	{BOOT_DEVICE_NAND, "NAND (Mirror 1, ECC  8, EraseSize 128KB, Addr 5)"},
 | 
						|
	{BOOT_DEVICE_NAND, "NAND (Mirror 1, ECC 16, EraseSize 128KB, Addr 5)"},
 | 
						|
	{BOOT_DEVICE_NAND, "NAND (Mirror 1, ECC  8, EraseSize 256KB, Addr 5)"},
 | 
						|
	{BOOT_DEVICE_NAND, "NAND (Mirror 1, ECC 16, EraseSize 256KB, Addr 5)"},
 | 
						|
	{BOOT_DEVICE_NAND, "NAND (Mirror 1, ECC  8, EraseSize 512KB, Addr 5)"},
 | 
						|
	{BOOT_DEVICE_NAND, "NAND (Mirror 1, ECC 16, EraseSize 512KB, Addr 5)"},
 | 
						|
	{BOOT_DEVICE_NAND, "NAND (Mirror 1, ECC 24, EraseSize 512KB, Addr 5)"},
 | 
						|
	{BOOT_DEVICE_NAND, "NAND (Mirror 8, ECC  8, ONFI,            Addr 4)"},
 | 
						|
	{BOOT_DEVICE_NAND, "NAND (Mirror 8, ECC  8, ONFI,            Addr 5)"},
 | 
						|
	{BOOT_DEVICE_NAND, "NAND (Mirror 8, ECC 16, ONFI,            Addr 5)"},
 | 
						|
	{BOOT_DEVICE_NAND, "NAND (Mirror 8, ECC 24, ONFI,            Addr 5)"},
 | 
						|
	{BOOT_DEVICE_NAND, "NAND (Mirror 4, ECC 24, ONFI,            Addr 5)"},
 | 
						|
	{BOOT_DEVICE_NAND, "NAND (Mirror 1, ECC  8, ONFI,            Addr 5)"},
 | 
						|
	{BOOT_DEVICE_NAND, "NAND (Mirror 1, ECC 16, ONFI,            Addr 5)"},
 | 
						|
	{BOOT_DEVICE_NAND, "NAND (Mirror 1, ECC 24, ONFI,            Addr 5)"},
 | 
						|
	{BOOT_DEVICE_MMC1, "eMMC Boot (3.3V)"},
 | 
						|
	{BOOT_DEVICE_MMC1, "eMMC Boot (1.8V)"},
 | 
						|
	{BOOT_DEVICE_NONE, "Reserved"},
 | 
						|
	{BOOT_DEVICE_NONE, "Reserved"},
 | 
						|
	{BOOT_DEVICE_NONE, "Reserved"},
 | 
						|
	{BOOT_DEVICE_NONE, "Reserved"},
 | 
						|
	{BOOT_DEVICE_NONE, "Reserved"},
 | 
						|
	{BOOT_DEVICE_NONE, "Reserved"},
 | 
						|
	{ /* sentinel */ }
 | 
						|
};
 | 
						|
 | 
						|
int get_boot_mode_sel(void)
 | 
						|
{
 | 
						|
	return (readl(SG_PINMON0) >> 1) & 0x1f;
 | 
						|
}
 | 
						|
 | 
						|
u32 spl_boot_device(void)
 | 
						|
{
 | 
						|
	int boot_mode;
 | 
						|
 | 
						|
	if (boot_is_swapped())
 | 
						|
		return BOOT_DEVICE_NOR;
 | 
						|
 | 
						|
	boot_mode = get_boot_mode_sel();
 | 
						|
 | 
						|
	return boot_device_table[boot_mode].type;
 | 
						|
}
 |