summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/boards/freescale-mx53-loco/lowlevel.c14
-rw-r--r--arch/arm/configs/freescale_mx53_loco_defconfig3
-rw-r--r--arch/arm/dts/Makefile2
-rw-r--r--arch/arm/mach-imx/Kconfig3
-rw-r--r--images/Makefile.imx7
5 files changed, 23 insertions, 6 deletions
diff --git a/arch/arm/boards/freescale-mx53-loco/lowlevel.c b/arch/arm/boards/freescale-mx53-loco/lowlevel.c
index 60c28f7856..d920524da2 100644
--- a/arch/arm/boards/freescale-mx53-loco/lowlevel.c
+++ b/arch/arm/boards/freescale-mx53-loco/lowlevel.c
@@ -1,9 +1,19 @@
#include <common.h>
#include <mach/esdctl.h>
#include <asm/barebox-arm-head.h>
+#include <asm/barebox-arm.h>
-void __naked barebox_arm_reset_vector(void)
+extern char __dtb_imx53_qsb_start[];
+
+ENTRY_FUNCTION(start_imx53_loco)(void)
{
+ uint32_t fdt;
+
+ __barebox_arm_head();
+
arm_cpu_lowlevel_init();
- imx53_barebox_entry(0);
+
+ fdt = (uint32_t)__dtb_imx53_qsb_start - get_runtime_offset();
+
+ imx53_barebox_entry(fdt);
}
diff --git a/arch/arm/configs/freescale_mx53_loco_defconfig b/arch/arm/configs/freescale_mx53_loco_defconfig
index e45863c262..f502f5e053 100644
--- a/arch/arm/configs/freescale_mx53_loco_defconfig
+++ b/arch/arm/configs/freescale_mx53_loco_defconfig
@@ -1,5 +1,3 @@
-CONFIG_BUILTIN_DTB=y
-CONFIG_BUILTIN_DTB_NAME="imx53-qsb"
CONFIG_ARCH_IMX=y
CONFIG_ARCH_IMX53=y
CONFIG_IMX_IIM=y
@@ -8,7 +6,6 @@ CONFIG_THUMB2_BAREBOX=y
CONFIG_CMD_ARM_MMUINFO=y
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
CONFIG_ARM_UNWIND=y
-CONFIG_PBL_IMAGE=y
CONFIG_MMU=y
CONFIG_MALLOC_SIZE=0x0
CONFIG_MALLOC_TLSF=y
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 678f910c50..a039a3c660 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -8,6 +8,8 @@ dtb-$(CONFIG_ARCH_IMX6) += imx6q-dmo-realq7.dtb \
BUILTIN_DTB := $(patsubst "%",%,$(CONFIG_BUILTIN_DTB_NAME))
obj-$(CONFIG_BUILTIN_DTB) += $(BUILTIN_DTB).dtb.o
+pbl-$(CONFIG_MACH_FREESCALE_MX53_LOCO) += imx53-qsb.dtb.o
+
.SECONDARY: $(obj)/$(BUILTIN_DTB).dtb.S
.SECONDARY: $(patsubst %,$(obj)/%.S,$(dtb-y))
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig
index 4f9ef3e5ad..134521e022 100644
--- a/arch/arm/mach-imx/Kconfig
+++ b/arch/arm/mach-imx/Kconfig
@@ -97,6 +97,7 @@ endchoice
config ARCH_IMX_IMXIMAGE
bool
+ default y
help
if enabled the imx-image tool is compiled
@@ -476,7 +477,7 @@ choice
config MACH_FREESCALE_MX53_LOCO
select HAVE_DEFAULT_ENVIRONMENT_NEW
- select ARCH_IMX_INTERNAL_BOOT_USE_IMXIMAGE
+ select HAVE_PBL_MULTI_IMAGES
bool "Freescale i.MX53 LOCO"
config MACH_FREESCALE_MX53_SMD
diff --git a/images/Makefile.imx b/images/Makefile.imx
index 63347297eb..3a5b5f1d84 100644
--- a/images/Makefile.imx
+++ b/images/Makefile.imx
@@ -13,3 +13,10 @@ board = $(srctree)/arch/$(ARCH)/boards
pblx-$(CONFIG_MACH_PCM038) += start_imx27_pcm038
FILE_barebox-phytec-phycore-imx27.img = start_imx27_pcm038.pblx
image-$(CONFIG_MACH_PCM038) += barebox-phytec-phycore-imx27.img
+
+# ----------------------- i.MX53 based boards ---------------------------
+pblx-$(CONFIG_MACH_FREESCALE_MX53_LOCO) += start_imx53_loco
+CFG_start_imx53_loco.pblx.imximg = $(board)/freescale-mx53-loco/flash-header.imxcfg
+imximage-$(CONFIG_MACH_FREESCALE_MX53_LOCO) += start_imx53_loco.pblx.imximg
+FILE_barebox-freescale-imx53-loco.img = start_imx53_loco.pblx.imximg
+image-$(CONFIG_MACH_FREESCALE_MX53_LOCO) += barebox-freescale-imx53-loco.img