summaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2019-09-12 13:09:20 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2019-10-02 08:42:20 +0200
commit8903a88109afe8a6ecaa2411aba9cf043ef0817e (patch)
tree43f97dfb8d9dc8dbac13bb8fb34a484434306580 /arch/arm
parent19c24e2f0121742095698823034b525461aca1d4 (diff)
downloadbarebox-8903a88109afe8a6ecaa2411aba9cf043ef0817e.tar.gz
barebox-8903a88109afe8a6ecaa2411aba9cf043ef0817e.tar.xz
ARM: tx28: Pass and check machine type
Pass MACH_TYPE_TX28 to barebox_arm_entry() and check for it in initcalls to make the board multi image safe. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/boards/karo-tx28/lowlevel.c3
-rw-r--r--arch/arm/boards/karo-tx28/tx28-stk5.c5
-rw-r--r--arch/arm/boards/karo-tx28/tx28.c4
3 files changed, 11 insertions, 1 deletions
diff --git a/arch/arm/boards/karo-tx28/lowlevel.c b/arch/arm/boards/karo-tx28/lowlevel.c
index 1a93be747d..84cc681816 100644
--- a/arch/arm/boards/karo-tx28/lowlevel.c
+++ b/arch/arm/boards/karo-tx28/lowlevel.c
@@ -11,10 +11,11 @@
#include <debug_ll.h>
#include <mach/iomux.h>
#include <stmp-device.h>
+#include <generated/mach-types.h>
ENTRY_FUNCTION(start_barebox_karo_tx28, r0, r1, r2)
{
- barebox_arm_entry(IMX_MEMORY_BASE, SZ_128M, NULL);
+ barebox_arm_entry(IMX_MEMORY_BASE, SZ_128M, (void *)MACH_TYPE_TX28);
}
static const uint32_t iomux_pads[] = {
diff --git a/arch/arm/boards/karo-tx28/tx28-stk5.c b/arch/arm/boards/karo-tx28/tx28-stk5.c
index ec0826297b..b5f7dd586f 100644
--- a/arch/arm/boards/karo-tx28/tx28-stk5.c
+++ b/arch/arm/boards/karo-tx28/tx28-stk5.c
@@ -23,6 +23,7 @@
#include <io.h>
#include <net.h>
#include <asm/sections.h>
+#include <asm/barebox-arm.h>
#include <linux/err.h>
#include <mach/imx-regs.h>
#include <mach/clock.h>
@@ -30,6 +31,7 @@
#include <mach/fb.h>
#include <mach/ocotp.h>
#include <mach/iomux.h>
+#include <generated/mach-types.h>
static struct mxs_mci_platform_data mci_pdata = {
.caps = MMC_CAP_4_BIT_DATA,
@@ -395,6 +397,9 @@ void base_board_init(void)
static int tx28kit_console_init(void)
{
+ if (barebox_arm_machine() != MACH_TYPE_TX28)
+ return 0;
+
barebox_set_model("Ka-Ro TX28");
barebox_set_hostname("tx28");
diff --git a/arch/arm/boards/karo-tx28/tx28.c b/arch/arm/boards/karo-tx28/tx28.c
index 47cac21307..d99083b190 100644
--- a/arch/arm/boards/karo-tx28/tx28.c
+++ b/arch/arm/boards/karo-tx28/tx28.c
@@ -18,6 +18,7 @@
#include <environment.h>
#include <errno.h>
#include <asm/armlinux.h>
+#include <asm/barebox-arm.h>
#include <io.h>
#include <generated/mach-types.h>
#include <mach/imx-regs.h>
@@ -77,6 +78,9 @@ static int tx28_devices_init(void)
{
int i;
+ if (barebox_arm_machine() != MACH_TYPE_TX28)
+ return 0;
+
/* initizalize gpios */
for (i = 0; i < ARRAY_SIZE(tx28_pad_setup); i++)
imx_gpio_mode(tx28_pad_setup[i]);