xref: /OK3568_Linux_fs/u-boot/arch/arm/cpu/armv7/ls102xa/spl.c (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun  * Copyright 2014 Freescale Semiconductor, Inc.
3*4882a593Smuzhiyun  *
4*4882a593Smuzhiyun  * SPDX-License-Identifier:	GPL-2.0+
5*4882a593Smuzhiyun  */
6*4882a593Smuzhiyun 
7*4882a593Smuzhiyun #include <common.h>
8*4882a593Smuzhiyun #include <spl.h>
9*4882a593Smuzhiyun 
spl_boot_device(void)10*4882a593Smuzhiyun u32 spl_boot_device(void)
11*4882a593Smuzhiyun {
12*4882a593Smuzhiyun #ifdef CONFIG_SPL_MMC_SUPPORT
13*4882a593Smuzhiyun 	return BOOT_DEVICE_MMC1;
14*4882a593Smuzhiyun #endif
15*4882a593Smuzhiyun 	return BOOT_DEVICE_NAND;
16*4882a593Smuzhiyun }
17*4882a593Smuzhiyun 
spl_boot_mode(const u32 boot_device)18*4882a593Smuzhiyun u32 spl_boot_mode(const u32 boot_device)
19*4882a593Smuzhiyun {
20*4882a593Smuzhiyun 	switch (spl_boot_device()) {
21*4882a593Smuzhiyun 	case BOOT_DEVICE_MMC1:
22*4882a593Smuzhiyun #ifdef CONFIG_SPL_FAT_SUPPORT
23*4882a593Smuzhiyun 		return MMCSD_MODE_FS;
24*4882a593Smuzhiyun #else
25*4882a593Smuzhiyun 		return MMCSD_MODE_RAW;
26*4882a593Smuzhiyun #endif
27*4882a593Smuzhiyun 	case BOOT_DEVICE_NAND:
28*4882a593Smuzhiyun 		return 0;
29*4882a593Smuzhiyun 	default:
30*4882a593Smuzhiyun 		puts("spl: error: unsupported device\n");
31*4882a593Smuzhiyun 		hang();
32*4882a593Smuzhiyun 	}
33*4882a593Smuzhiyun }
34