diff --git a/arch/arm/boards/freescale-mx51-pdk/lowlevel.c b/arch/arm/boards/freescale-mx51-pdk/lowlevel.c index 3e6a0ee..8c1acb4 100644 --- a/arch/arm/boards/freescale-mx51-pdk/lowlevel.c +++ b/arch/arm/boards/freescale-mx51-pdk/lowlevel.c @@ -1,9 +1,19 @@ #include #include #include +#include -void __naked barebox_arm_reset_vector(void) +extern char __dtb_imx51_babbage_start[]; + +ENTRY_FUNCTION(start_imx51_babbage)(void) { + uint32_t fdt; + + __barebox_arm_head(); + arm_cpu_lowlevel_init(); - imx51_barebox_entry(0); + + fdt = (uint32_t)__dtb_imx51_babbage_start - get_runtime_offset(); + + imx51_barebox_entry(fdt); } diff --git a/arch/arm/configs/freescale_mx51_babbage_defconfig b/arch/arm/configs/freescale_mx51_babbage_defconfig index 2c03c14..d382dc8 100644 --- a/arch/arm/configs/freescale_mx51_babbage_defconfig +++ b/arch/arm/configs/freescale_mx51_babbage_defconfig @@ -1,5 +1,3 @@ -CONFIG_BUILTIN_DTB=y -CONFIG_BUILTIN_DTB_NAME="imx51-babbage" CONFIG_ARCH_IMX=y CONFIG_ARCH_IMX51=y CONFIG_IMX_IIM=y @@ -17,7 +15,6 @@ CONFIG_AUTO_COMPLETE=y CONFIG_MENU=y CONFIG_CONSOLE_ACTIVATE_NONE=y -CONFIG_DEFAULT_ENVIRONMENT_COMPRESSED_LZO=y CONFIG_DEFAULT_ENVIRONMENT_GENERIC_NEW=y CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/freescale-mx51-pdk/env/" CONFIG_CMD_EDIT=y diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 06579f1..1158f41 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -8,6 +8,7 @@ BUILTIN_DTB := $(patsubst "%",%,$(CONFIG_BUILTIN_DTB_NAME)) obj-$(CONFIG_BUILTIN_DTB) += $(BUILTIN_DTB).dtb.o +pbl-$(CONFIG_MACH_FREESCALE_MX51_PDK) += imx51-babbage.dtb.o pbl-$(CONFIG_MACH_FREESCALE_MX53_LOCO) += imx53-qsb.dtb.o pbl-$(CONFIG_MACH_REALQ7) += imx6q-dmo-realq7.dtb.o diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig index 6d5246e..fd92da3 100644 --- a/arch/arm/mach-imx/Kconfig +++ b/arch/arm/mach-imx/Kconfig @@ -426,7 +426,7 @@ config MACH_FREESCALE_MX51_PDK select HAVE_DEFAULT_ENVIRONMENT_NEW - select ARCH_IMX_INTERNAL_BOOT_USE_IMXIMAGE + select HAVE_PBL_MULTI_IMAGES bool "Freescale i.MX51 PDK" config MACH_EUKREA_CPUIMX51SD diff --git a/images/Makefile.imx b/images/Makefile.imx index 11c4160..72e8cde 100644 --- a/images/Makefile.imx +++ b/images/Makefile.imx @@ -14,6 +14,13 @@ FILE_barebox-phytec-phycore-imx27.img = start_imx27_pcm038.pblx image-$(CONFIG_MACH_PCM038) += barebox-phytec-phycore-imx27.img +# ----------------------- i.MX51 based boards --------------------------- +pblx-$(CONFIG_MACH_FREESCALE_MX51_PDK) += start_imx51_babbage +CFG_start_imx51_babbage.pblx.imximg = $(board)/freescale-mx51-pdk/flash-header.imxcfg +imximage-$(CONFIG_MACH_FREESCALE_MX51_PDK) += start_imx51_babbage.pblx.imximg +FILE_barebox-freescale-imx51-babbage.img = start_imx51_babbage.pblx.imximg +image-$(CONFIG_MACH_FREESCALE_MX51_PDK) += barebox-freescale-imx51-babbage.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