summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2013-06-23 13:44:37 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2013-07-02 08:24:07 +0200
commit9172539a60a645f05a0d7199f9a5c61def4b5ba1 (patch)
treefc557d8416146bb635cb81f81df9fcf1b635a6d4
parentcd977b93641a2e00f5c70b340058f141146eea8f (diff)
downloadbarebox-9172539a60a645f05a0d7199f9a5c61def4b5ba1.tar.gz
ARM: dmo realq7: switch to multi image support
The image will be named after the official name of this board: barebox-datamodul-edm-qmx6.img Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--arch/arm/boards/dmo-mx6-realq7/lowlevel.c12
-rw-r--r--arch/arm/configs/dmo-realq7_defconfig3
-rw-r--r--arch/arm/dts/Makefile1
-rw-r--r--arch/arm/mach-imx/Kconfig2
-rw-r--r--images/Makefile.imx7
5 files changed, 19 insertions, 6 deletions
diff --git a/arch/arm/boards/dmo-mx6-realq7/lowlevel.c b/arch/arm/boards/dmo-mx6-realq7/lowlevel.c
index ebcf76f0fb..240116d7b6 100644
--- a/arch/arm/boards/dmo-mx6-realq7/lowlevel.c
+++ b/arch/arm/boards/dmo-mx6-realq7/lowlevel.c
@@ -138,8 +138,14 @@ static void sdram_init(void)
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 @@ void __naked barebox_arm_reset_vector(void)
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 5501683576..1339391b02 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_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_TEXT_BASE=0x8fc00000
CONFIG_MALLOC_SIZE=0x40000000
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index a039a3c660..06579f1f40 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -9,6 +9,7 @@ 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
+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 134521e022..6d5246e9ce 100644
--- a/arch/arm/mach-imx/Kconfig
+++ b/arch/arm/mach-imx/Kconfig
@@ -531,8 +531,8 @@ config MACH_SABRESD
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 3a5b5f1d84..11c4160953 100644
--- a/images/Makefile.imx
+++ b/images/Makefile.imx
@@ -20,3 +20,10 @@ CFG_start_imx53_loco.pblx.imximg = $(board)/freescale-mx53-loco/flash-header.imx
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