summaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorDaniel Krüger <daniel.krueger@systec-electronic.com>2016-11-22 12:08:45 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2016-11-23 10:44:00 +0100
commitb101cb2149c812131fbcc8cfbeedf0d41c6bb6ee (patch)
tree9c1def88b79af870d806e8c56b1aea7295f688d7 /arch/arm
parent8eb1fb3519b6c1ae6ddab114a7cdc86bb24da296 (diff)
downloadbarebox-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')
-rw-r--r--arch/arm/mach-imx/boot.c12
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)