[PATCH] i.MX27: Export boot source to magic variables

Alexander Shiyan shc_work at mail.ru
Sun Mar 25 13:15:16 EDT 2012


Signed-off-by: Alexander Shiyan <shc_work at mail.ru>
---
 arch/arm/mach-imx/boot.c |   27 ++++++++++++++++++++++++++-
 1 files changed, 26 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-imx/boot.c b/arch/arm/mach-imx/boot.c
index 8b82655..9f2def6 100644
--- a/arch/arm/mach-imx/boot.c
+++ b/arch/arm/mach-imx/boot.c
@@ -86,9 +86,34 @@ static int imx_25_35_boot_save_loc(void)
 
 	return 0;
 }
-
 coredevice_initcall(imx_25_35_boot_save_loc);
 
 BAREBOX_MAGICVAR(barebox_loc, "The source barebox has been booted from");
+#endif
+
+#if defined(CONFIG_ARCH_IMX27)
+static int imx_27_boot_save_loc(void)
+{
+	switch ((GPCR & GPCR_BOOT_MASK) >> GPCR_BOOT_SHIFT) {
+	case GPCR_BOOT_UART_USB:
+		setenv("barebox_loc", "serial");
+		break;
+	case GPCR_BOOT_8BIT_NAND_2k:
+	case GPCR_BOOT_16BIT_NAND_2k:
+	case GPCR_BOOT_16BIT_NAND_512:
+	case GPCR_BOOT_8BIT_NAND_512:
+		setenv("barebox_loc", "nand");
+		break;
+	default:
+		setenv("barebox_loc", "nor");
+		break;
+	}
 
+	export("barebox_loc");
+
+	return 0;
+}
+coredevice_initcall(imx_27_boot_save_loc);
+
+BAREBOX_MAGICVAR(barebox_loc, "The source barebox has been booted from");
 #endif
-- 
1.7.3.4




More information about the barebox mailing list