From 207f981b5667817e78155a477ac5cfb0cf0bd0b5 Mon Sep 17 00:00:00 2001 From: Tom Rini Date: Thu, 15 Jun 2017 13:57:00 -0400 Subject: ti816x: Add additional boot device detection logic It has been observed that between PG1.0 and PG2.0/2.1 depending on which device we boot from, we may see a different value here than is documented in the TRM. Update the values for NAND and MMC1 based on real life usage on each revision. Signed-off-by: Tom Rini diff --git a/arch/arm/mach-omap2/boot-common.c b/arch/arm/mach-omap2/boot-common.c index 29c8f23..b77506d 100644 --- a/arch/arm/mach-omap2/boot-common.c +++ b/arch/arm/mach-omap2/boot-common.c @@ -65,6 +65,23 @@ void save_omap_boot_params(void) if (boot_device == BOOT_DEVICE_QSPI_4) boot_device = BOOT_DEVICE_SPI; #endif +#ifdef CONFIG_TI816X + /* + * On PG2.0 and later TI816x the values we get when booting are not the + * same as on PG1.0, which is what the defines are based on. Update + * them as needed. + */ + if (get_cpu_rev() != 1) { + if (boot_device == 0x05) { + omap_boot_params->boot_device = BOOT_DEVICE_NAND; + boot_device = BOOT_DEVICE_NAND; + } + if (boot_device == 0x08) { + omap_boot_params->boot_device = BOOT_DEVICE_MMC1; + boot_device = BOOT_DEVICE_MMC1; + } + } +#endif /* * When booting from peripheral booting, the boot device is not usable * as-is (unless there is support for it), so the boot device is instead -- cgit v0.10.2