diff --git a/arch/arm/boards/dmo-mx6-realq7/lowlevel.c b/arch/arm/boards/dmo-mx6-realq7/lowlevel.c index ebcf76f..240116d 100644 --- a/arch/arm/boards/dmo-mx6-realq7/lowlevel.c +++ b/arch/arm/boards/dmo-mx6-realq7/lowlevel.c @@ -138,8 +138,14 @@ writel(0x00000001, 0x021e8080); } -void __naked barebox_arm_reset_vector(void) +extern char __dtb_imx6q_dmo_realq7_start[]; + +ENTRY_FUNCTION(start_imx6_realq7)(void) { + uint32_t fdt; + + __barebox_arm_head(); + arm_cpu_lowlevel_init(); arm_setup_stack(0x00940000 - 8); @@ -151,5 +157,7 @@ mmdc_do_dqs_calibration(); } - barebox_arm_entry(0x10000000, SZ_2G, 0); + fdt = (uint32_t)__dtb_imx6q_dmo_realq7_start - get_runtime_offset(); + + barebox_arm_entry(0x10000000, SZ_2G, fdt); } diff --git a/arch/arm/configs/dmo-realq7_defconfig b/arch/arm/configs/dmo-realq7_defconfig index 5501683..1339391 100644 --- a/arch/arm/configs/dmo-realq7_defconfig +++ b/arch/arm/configs/dmo-realq7_defconfig @@ -1,5 +1,3 @@ -CONFIG_BUILTIN_DTB=y -CONFIG_BUILTIN_DTB_NAME="imx6q-dmo-realq7" CONFIG_ARCH_IMX=y CONFIG_ARCH_IMX6=y CONFIG_MACH_REALQ7=y @@ -9,7 +7,6 @@ CONFIG_CMD_ARM_MMUINFO=y CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y CONFIG_ARM_UNWIND=y -CONFIG_PBL_IMAGE=y CONFIG_MMU=y CONFIG_TEXT_BASE=0x8fc00000 CONFIG_MALLOC_SIZE=0x40000000 diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index a039a3c..06579f1 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -9,6 +9,7 @@ obj-$(CONFIG_BUILTIN_DTB) += $(BUILTIN_DTB).dtb.o pbl-$(CONFIG_MACH_FREESCALE_MX53_LOCO) += imx53-qsb.dtb.o +pbl-$(CONFIG_MACH_REALQ7) += imx6q-dmo-realq7.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 134521e..6d5246e 100644 --- a/arch/arm/mach-imx/Kconfig +++ b/arch/arm/mach-imx/Kconfig @@ -531,8 +531,8 @@ config MACH_REALQ7 bool "DataModul i.MX6Q Real Qseven Board" - select ARCH_IMX_INTERNAL_BOOT_USE_IMXIMAGE select HAVE_DEFAULT_ENVIRONMENT_NEW + select HAVE_PBL_MULTI_IMAGES endchoice diff --git a/images/Makefile.imx b/images/Makefile.imx index 3a5b5f1..11c4160 100644 --- a/images/Makefile.imx +++ b/images/Makefile.imx @@ -20,3 +20,10 @@ 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 + +# ----------------------- i.MX6 based boards --------------------------- +pblx-$(CONFIG_MACH_REALQ7) += start_imx6_realq7 +CFG_start_imx6_realq7.pblx.imximg = $(board)/dmo-mx6-realq7/flash-header.imxcfg +imximage-$(CONFIG_MACH_REALQ7) += start_imx6_realq7.pblx.imximg +FILE_barebox-datamodul-edm-qmx6.img = start_imx6_realq7.pblx.imximg +image-$(CONFIG_MACH_REALQ7) += barebox-datamodul-edm-qmx6.img