From e78de630996d6a0da262f0d1a0c452fe7765c7d0 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Thu, 12 Sep 2019 13:11:05 +0200 Subject: ARM: i.MX23 olinuxino: 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 --- arch/arm/boards/imx233-olinuxino/imx23-olinuxino.c | 8 ++++++++ arch/arm/boards/imx233-olinuxino/lowlevel.c | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-) (limited to 'arch/arm') diff --git a/arch/arm/boards/imx233-olinuxino/imx23-olinuxino.c b/arch/arm/boards/imx233-olinuxino/imx23-olinuxino.c index c06779ddf6..af548b3c53 100644 --- a/arch/arm/boards/imx233-olinuxino/imx23-olinuxino.c +++ b/arch/arm/boards/imx233-olinuxino/imx23-olinuxino.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -33,6 +34,7 @@ #include #include #include +#include static struct mxs_mci_platform_data mci_pdata = { .caps = MMC_CAP_4_BIT_DATA | MMC_CAP_SD_HIGHSPEED | MMC_CAP_MMC_HIGHSPEED, @@ -56,6 +58,9 @@ static struct gpio_led led1 = { static int imx23_olinuxino_devices_init(void) { + if (barebox_arm_machine() != MACH_TYPE_IMX233_OLINUXINO) + return 0; + armlinux_set_architecture(MACH_TYPE_IMX233_OLINUXINO); defaultenv_append_directory(defaultenv_imx233_olinuxino); @@ -76,6 +81,9 @@ device_initcall(imx23_olinuxino_devices_init); static int imx23_olinuxino_console_init(void) { + if (barebox_arm_machine() != MACH_TYPE_IMX233_OLINUXINO) + return 0; + barebox_set_model("Olimex.ltd imx233-olinuxino"); barebox_set_hostname("imx233-olinuxino"); diff --git a/arch/arm/boards/imx233-olinuxino/lowlevel.c b/arch/arm/boards/imx233-olinuxino/lowlevel.c index 07a2a0e293..253cf1257b 100644 --- a/arch/arm/boards/imx233-olinuxino/lowlevel.c +++ b/arch/arm/boards/imx233-olinuxino/lowlevel.c @@ -7,10 +7,11 @@ #include #include #include +#include ENTRY_FUNCTION(start_barebox_olinuxino_imx23, r0, r1, r2) { - barebox_arm_entry(IMX_MEMORY_BASE, SZ_64M, NULL); + barebox_arm_entry(IMX_MEMORY_BASE, SZ_64M, (void *)MACH_TYPE_IMX233_OLINUXINO); } static const uint32_t pad_setup[] = { -- cgit v1.2.3