2012-08-14 15:50:58 +00:00
|
|
|
/*
|
|
|
|
* (C) Copyright 2012
|
|
|
|
* Texas Instruments, <www.ti.com>
|
|
|
|
*
|
2013-07-08 07:37:19 +00:00
|
|
|
* SPDX-License-Identifier: GPL-2.0+
|
2012-08-14 15:50:58 +00:00
|
|
|
*/
|
|
|
|
#ifndef _ASM_ARCH_SPL_H_
|
2014-03-19 01:02:55 +00:00
|
|
|
#define _ASM_ARCH_SPL_H_
|
2012-08-14 15:50:58 +00:00
|
|
|
|
2015-07-15 14:02:20 +00:00
|
|
|
#define BOOT_DEVICE_NONE 0x00
|
|
|
|
#define BOOT_DEVICE_MMC2_2 0xFF
|
|
|
|
|
|
|
|
#if defined(CONFIG_TI814X)
|
|
|
|
#define BOOT_DEVICE_XIP 0x01
|
|
|
|
#define BOOT_DEVICE_XIPWAIT 0x02
|
|
|
|
#define BOOT_DEVICE_NAND 0x05
|
|
|
|
#define BOOT_DEVICE_NAND_I2C 0x06
|
|
|
|
#define BOOT_DEVICE_MMC2 0x08 /* ROM only supports 2nd instance. */
|
|
|
|
#define BOOT_DEVICE_MMC1 0x09
|
|
|
|
#define BOOT_DEVICE_SPI 0x15
|
|
|
|
#define BOOT_DEVICE_UART 0x41
|
|
|
|
#define BOOT_DEVICE_USBETH 0x44
|
|
|
|
#define BOOT_DEVICE_CPGMAC 0x46
|
|
|
|
|
|
|
|
#define MMC_BOOT_DEVICES_START BOOT_DEVICE_MMC2
|
|
|
|
#define MMC_BOOT_DEVICES_END BOOT_DEVICE_MMC1
|
|
|
|
#elif defined(CONFIG_TI816X)
|
|
|
|
#define BOOT_DEVICE_XIP 0x01
|
|
|
|
#define BOOT_DEVICE_XIPWAIT 0x02
|
|
|
|
#define BOOT_DEVICE_NAND 0x03
|
|
|
|
#define BOOT_DEVICE_ONENAD 0x04
|
|
|
|
#define BOOT_DEVICE_MMC2 0x05 /* ROM only supports 2nd instance. */
|
|
|
|
#define BOOT_DEVICE_MMC1 0x06
|
2013-07-02 10:05:59 +00:00
|
|
|
#define BOOT_DEVICE_UART 0x43
|
2015-07-15 14:02:20 +00:00
|
|
|
#define BOOT_DEVICE_USB 0x45
|
OMAP3/4/5/AM33xx: Correct logic for checking FAT or RAW MMC
In the case of booting from certain peripherals, such as UART, we must
not see what the device descriptor says for RAW or FAT mode because in
addition to being nonsensical, it leads to a hang. This is why we have
a test currently for the boot mode being within range. The problem
however is that on some platforms we get MMC2_2 as the boot mode and not
the defined value for MMC2, and in others we get the value for MMC2_2.
This is required to fix eMMC booting on omap5_uevm.
Tested on am335x_evm (UART, NAND, SD), omap3_beagle (NAND, SD on
classic, SD only on xM rev C5) and omap5_uevm (SD, eMMC).
Signed-off-by: Tom Rini <trini@ti.com>
2013-04-05 06:21:44 +00:00
|
|
|
|
2015-07-15 14:02:20 +00:00
|
|
|
#define MMC_BOOT_DEVICES_START BOOT_DEVICE_MMC2
|
|
|
|
#define MMC_BOOT_DEVICES_END BOOT_DEVICE_MMC1
|
|
|
|
#elif defined(CONFIG_AM33XX)
|
|
|
|
#define BOOT_DEVICE_XIP 0x01
|
|
|
|
#define BOOT_DEVICE_XIPWAIT 0x02
|
|
|
|
#define BOOT_DEVICE_NAND 0x05
|
|
|
|
#define BOOT_DEVICE_NAND_I2C 0x06
|
|
|
|
#define BOOT_DEVICE_MMC1 0x08
|
|
|
|
#define BOOT_DEVICE_MMC2 0x09
|
|
|
|
#define BOOT_DEVICE_SPI 0x15
|
|
|
|
#define BOOT_DEVICE_UART 0x41
|
|
|
|
#define BOOT_DEVICE_USBETH 0x44
|
|
|
|
#define BOOT_DEVICE_CPGMAC 0x46
|
|
|
|
|
|
|
|
#define MMC_BOOT_DEVICES_START BOOT_DEVICE_MMC1
|
|
|
|
#define MMC_BOOT_DEVICES_END BOOT_DEVICE_MMC2
|
2014-01-16 17:23:30 +00:00
|
|
|
#elif defined(CONFIG_AM43XX)
|
2015-07-15 14:02:20 +00:00
|
|
|
#define BOOT_DEVICE_NOR 0x01
|
|
|
|
#define BOOT_DEVICE_NAND 0x05
|
|
|
|
#define BOOT_DEVICE_MMC1 0x07
|
|
|
|
#define BOOT_DEVICE_MMC2 0x08
|
|
|
|
#define BOOT_DEVICE_SPI 0x0A
|
|
|
|
#define BOOT_DEVICE_UART 0x41
|
|
|
|
#define BOOT_DEVICE_USB 0x45
|
|
|
|
#define BOOT_DEVICE_CPGMAC 0x47
|
|
|
|
|
|
|
|
#define MMC_BOOT_DEVICES_START BOOT_DEVICE_MMC1
|
2014-01-16 17:23:30 +00:00
|
|
|
#ifdef CONFIG_SPL_USB_SUPPORT
|
2015-07-15 14:02:20 +00:00
|
|
|
#define MMC_BOOT_DEVICES_END BOOT_DEVICE_USB
|
2014-01-16 17:23:30 +00:00
|
|
|
#else
|
2015-07-15 14:02:20 +00:00
|
|
|
#define MMC_BOOT_DEVICES_END BOOT_DEVICE_MMC2
|
2014-01-16 17:23:30 +00:00
|
|
|
#endif
|
2013-04-09 15:40:40 +00:00
|
|
|
#endif
|
2015-07-15 14:02:20 +00:00
|
|
|
|
2012-08-14 15:50:58 +00:00
|
|
|
#endif
|