Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> --- 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 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox