summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-imx/include/mach/imx-flash-header.h
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2012-10-01 14:29:37 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2012-10-17 20:22:58 +0200
commit3bbe8a9ea432be24d2d4743e5fca5795963ae32a (patch)
tree2d36a94a133c711b370f86d3a02135862d85cb51 /arch/arm/mach-imx/include/mach/imx-flash-header.h
parent4ad34853f13e6fa62cf2b234f60655f6ff517d81 (diff)
downloadbarebox-3bbe8a9ea432be24d2d4743e5fca5795963ae32a.tar.gz
barebox-3bbe8a9ea432be24d2d4743e5fca5795963ae32a.tar.xz
ARM i.MX tx53: Add rev xx30 board support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-imx/include/mach/imx-flash-header.h')
-rw-r--r--arch/arm/mach-imx/include/mach/imx-flash-header.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/include/mach/imx-flash-header.h b/arch/arm/mach-imx/include/mach/imx-flash-header.h
index a51d4736fa..7d048dfdc0 100644
--- a/arch/arm/mach-imx/include/mach/imx-flash-header.h
+++ b/arch/arm/mach-imx/include/mach/imx-flash-header.h
@@ -144,4 +144,37 @@ struct imx_flash_header_v2 {
struct imx_dcd dcd;
};
+/*
+ * A variant of the standard barebox header in the i.MX FCB
+ * format. Needed for i.MX53 NAND boot
+ */
+static inline void barebox_arm_imx_fcb_head(void)
+{
+ __asm__ __volatile__ (
+ ".arm\n"
+ " b 1f\n"
+ ".word 0x20424346\n" /* FCB */
+ ".word 0x1\n"
+#ifdef CONFIG_THUMB2_BAREBOX
+ "1: adr r9, 1f + 1\n"
+ " bx r9\n"
+ ".thumb\n"
+ "1:\n"
+ "bl reset\n"
+#else
+ "1: b reset\n"
+ ".word 0x0\n"
+ ".word 0x0\n"
+#endif
+ ".word 0x0\n"
+ ".word 0x0\n"
+
+ ".asciz \"barebox\"\n"
+ ".word _text\n" /* text base. If copied there,
+ * barebox can skip relocation
+ */
+ ".word _barebox_image_size\n" /* image size to copy */
+ );
+}
+
#endif /* __MACH_FLASH_HEADER_H */