diff options
author | Alexander Shiyan <shc_work@mail.ru> | 2012-03-25 21:15:16 +0400 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2012-04-02 10:07:48 +0200 |
commit | 904ebefe2199dc3d5e3e223c0debdf95c9fbb6dc (patch) | |
tree | e3b7272ab109ffc018b5151879e437feba929447 /arch/arm/mach-imx/boot.c | |
parent | 71cd4b22cebe0258c98121edeeb49671f9b5cf23 (diff) | |
download | barebox-904ebefe2199dc3d5e3e223c0debdf95c9fbb6dc.tar.gz barebox-904ebefe2199dc3d5e3e223c0debdf95c9fbb6dc.tar.xz |
i.MX27: Export boot source to magic variables
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-imx/boot.c')
-rw-r--r-- | 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 8b82655d4f..9f2def6b2b 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 |