diff options
author | Daniel Krüger <daniel.krueger@systec-electronic.com> | 2016-11-22 12:08:45 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2016-11-23 10:44:00 +0100 |
commit | b101cb2149c812131fbcc8cfbeedf0d41c6bb6ee (patch) | |
tree | 9c1def88b79af870d806e8c56b1aea7295f688d7 /arch/arm/mach-imx/boot.c | |
parent | 8eb1fb3519b6c1ae6ddab114a7cdc86bb24da296 (diff) | |
download | barebox-b101cb2149c812131fbcc8cfbeedf0d41c6bb6ee.tar.gz barebox-b101cb2149c812131fbcc8cfbeedf0d41c6bb6ee.tar.xz |
ARM: i.MX25/35: Fix bootsource detection
This fixes commit 0b47f95340d801a26643e5e1f4ee05287e8ae90e for i.MX25/35.
Otherwise the bootsource was just "unknown".
Signed-off-by: Daniel Krueger <daniel.krueger@systec-electronic.com>
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 | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/arch/arm/mach-imx/boot.c b/arch/arm/mach-imx/boot.c index b66c29d8d9..489306072f 100644 --- a/arch/arm/mach-imx/boot.c +++ b/arch/arm/mach-imx/boot.c @@ -69,13 +69,13 @@ static const enum bootsource locations[4][4] = { * Note also that I suspect that the boot source pins are only sampled at * power up. */ -static void imx25_35_boot_save_loc(unsigned int ctrl, unsigned int type) +static enum bootsource imx25_35_boot_source(unsigned int ctrl, unsigned int type) { enum bootsource src; src = locations[ctrl][type]; - bootsource_set(src); + return src; } void imx25_get_boot_source(enum bootsource *src, int *instance) @@ -84,8 +84,8 @@ void imx25_get_boot_source(enum bootsource *src, int *instance) uint32_t val; val = readl(ccm_base + MX25_CCM_RCSR); - imx25_35_boot_save_loc((val >> MX25_CCM_RCSR_MEM_CTRL_SHIFT) & 0x3, - (val >> MX25_CCM_RCSR_MEM_TYPE_SHIFT) & 0x3); + *src = imx25_35_boot_source((val >> MX25_CCM_RCSR_MEM_CTRL_SHIFT) & 0x3, + (val >> MX25_CCM_RCSR_MEM_TYPE_SHIFT) & 0x3); } void imx25_boot_save_loc(void) @@ -105,8 +105,8 @@ void imx35_get_boot_source(enum bootsource *src, int *instance) uint32_t val; val = readl(ccm_base + MX35_CCM_RCSR); - imx25_35_boot_save_loc((val >> MX35_CCM_RCSR_MEM_CTRL_SHIFT) & 0x3, - (val >> MX35_CCM_RCSR_MEM_TYPE_SHIFT) & 0x3); + *src = imx25_35_boot_source((val >> MX35_CCM_RCSR_MEM_CTRL_SHIFT) & 0x3, + (val >> MX35_CCM_RCSR_MEM_TYPE_SHIFT) & 0x3); } void imx35_boot_save_loc(void) |