diff mbox

[U-Boot] ti816x: Add additional boot device detection logic

Message ID 1497549420-4400-1-git-send-email-trini@konsulko.com
State Accepted
Commit 207f981b5667817e78155a477ac5cfb0cf0bd0b5
Delegated to: Tom Rini
Headers show

Commit Message

Tom Rini June 15, 2017, 5:57 p.m. UTC
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 <trini@konsulko.com>
---
 arch/arm/mach-omap2/boot-common.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

Comments

Tom Rini June 24, 2017, 10:17 p.m. UTC | #1
On Thu, Jun 15, 2017 at 01:57:00PM -0400, Tom Rini wrote:

> 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 <trini@konsulko.com>

Applied to u-boot/master, thanks!
diff mbox

Patch

diff --git a/arch/arm/mach-omap2/boot-common.c b/arch/arm/mach-omap2/boot-common.c
index 7ae3d8041c48..4fdf92d1713b 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