diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2019-09-12 13:11:05 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2019-10-02 08:42:20 +0200 |
commit | e82c880a053687ef7684b79819403e32b51ac99c (patch) | |
tree | 314ba8e0d948409af06a5677535846c4d9be8e75 | |
parent | e8fea1d1aa60b128fa30ab4c607b5b92e8e12fa3 (diff) | |
download | barebox-e82c880a053687ef7684b79819403e32b51ac99c.tar.gz barebox-e82c880a053687ef7684b79819403e32b51ac99c.tar.xz |
ARM: i.MX23 Chumby: Check machine type in initcalls
Check for the right machine type in initcalls before executing them to
make the board multi image safe.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | arch/arm/boards/chumby_falconwing/falconwing.c | 7 | ||||
-rw-r--r-- | arch/arm/boards/chumby_falconwing/lowlevel.c | 3 |
2 files changed, 9 insertions, 1 deletions
diff --git a/arch/arm/boards/chumby_falconwing/falconwing.c b/arch/arm/boards/chumby_falconwing/falconwing.c index 5554b78d6d..f218058f88 100644 --- a/arch/arm/boards/chumby_falconwing/falconwing.c +++ b/arch/arm/boards/chumby_falconwing/falconwing.c @@ -22,6 +22,7 @@ #include <linux/sizes.h> #include <usb/ehci.h> #include <asm/armlinux.h> +#include <asm/barebox-arm.h> #include <io.h> #include <asm/mmu.h> #include <generated/mach-types.h> @@ -278,6 +279,9 @@ static int falconwing_devices_init(void) { int i; + if (barebox_arm_machine() != MACH_TYPE_CHUMBY) + return 0; + /* initizalize gpios */ for (i = 0; i < ARRAY_SIZE(pad_setup); i++) imx_gpio_mode(pad_setup[i]); @@ -300,6 +304,9 @@ device_initcall(falconwing_devices_init); static int falconwing_console_init(void) { + if (barebox_arm_machine() != MACH_TYPE_CHUMBY) + return 0; + barebox_set_model("Chumby Falconwing"); barebox_set_hostname("falconwing"); diff --git a/arch/arm/boards/chumby_falconwing/lowlevel.c b/arch/arm/boards/chumby_falconwing/lowlevel.c index 50bacc620f..ee287eccdf 100644 --- a/arch/arm/boards/chumby_falconwing/lowlevel.c +++ b/arch/arm/boards/chumby_falconwing/lowlevel.c @@ -3,9 +3,10 @@ #include <asm/barebox-arm-head.h> #include <asm/barebox-arm.h> #include <mach/imx23-regs.h> +#include <generated/mach-types.h> void __naked barebox_arm_reset_vector(uint32_t r0, uint32_t r1, uint32_t r2) { arm_cpu_lowlevel_init(); - barebox_arm_entry(IMX_MEMORY_BASE, SZ_64M, NULL); + barebox_arm_entry(IMX_MEMORY_BASE, SZ_64M, (void *)MACH_TYPE_CHUMBY); } |