summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2012-08-06 09:26:22 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2012-08-12 16:17:43 +0200
commit5022723a7db637c8efe544cad2fe4048c89ac9a2 (patch)
tree0c0b1aed12b50b5f192984e7da8c4e55d55813d3 /arch
parentb61544556474e8a39e1ecbe0b5d27a5fbca9b42d (diff)
downloadbarebox-5022723a7db637c8efe544cad2fe4048c89ac9a2.tar.gz
barebox-5022723a7db637c8efe544cad2fe4048c89ac9a2.tar.xz
ARM eukrea cpuimx25: Move flash_header to seperate file
The flash header is needed for pbl support, so move it to separate file to be able to add it to pbl-y Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/boards/eukrea_cpuimx25/Makefile1
-rw-r--r--arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c34
-rw-r--r--arch/arm/boards/eukrea_cpuimx25/flash_header.c61
3 files changed, 62 insertions, 34 deletions
diff --git a/arch/arm/boards/eukrea_cpuimx25/Makefile b/arch/arm/boards/eukrea_cpuimx25/Makefile
index 406c6f32f7..edd09a6275 100644
--- a/arch/arm/boards/eukrea_cpuimx25/Makefile
+++ b/arch/arm/boards/eukrea_cpuimx25/Makefile
@@ -22,3 +22,4 @@
obj-y += lowlevel.o
obj-y += eukrea_cpuimx25.o
+obj-$(CONFIG_ARCH_IMX_INTERNAL_BOOT) += flash_header.o
diff --git a/arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c b/arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c
index 0aac13c988..a84288cca3 100644
--- a/arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c
+++ b/arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c
@@ -50,40 +50,6 @@
#include <mach/devices-imx25.h>
#include <asm/barebox-arm-head.h>
-void __naked __flash_header_start go(void)
-{
- barebox_arm_head();
-}
-
-struct imx_dcd_entry __dcd_entry_section dcd_entry[] = {
- { .ptr_type = 4, .addr = 0xb8001010, .val = 0x00000004, },
- { .ptr_type = 4, .addr = 0xb8001000, .val = 0x92100000, },
- { .ptr_type = 1, .addr = 0x80000400, .val = 0x12344321, },
- { .ptr_type = 4, .addr = 0xb8001000, .val = 0xa2100000, },
- { .ptr_type = 4, .addr = 0x80000000, .val = 0x12344321, },
- { .ptr_type = 4, .addr = 0x80000000, .val = 0x12344321, },
- { .ptr_type = 4, .addr = 0xb8001000, .val = 0xb2100000, },
- { .ptr_type = 1, .addr = 0x80000033, .val = 0xda, },
- { .ptr_type = 1, .addr = 0x81000000, .val = 0xff, },
- { .ptr_type = 4, .addr = 0xb8001000, .val = 0x82216080, },
- { .ptr_type = 4, .addr = 0xb8001004, .val = 0x00295729, },
- { .ptr_type = 4, .addr = 0x53f80008, .val = 0x20034000, },
-};
-
-struct imx_flash_header __flash_header_section flash_header = {
- .app_code_jump_vector = DEST_BASE + 0x1000,
- .app_code_barker = APP_CODE_BARKER,
- .app_code_csf = 0,
- .dcd_ptr_ptr = FLASH_HEADER_BASE + offsetof(struct imx_flash_header, dcd),
- .super_root_key = 0,
- .dcd = FLASH_HEADER_BASE + offsetof(struct imx_flash_header, dcd_barker),
- .app_dest = DEST_BASE,
- .dcd_barker = DCD_BARKER,
- .dcd_block_len = sizeof(dcd_entry),
-};
-
-unsigned long __image_len_section barebox_len = DCD_BAREBOX_SIZE;
-
static struct fec_platform_data fec_info = {
.xcv_type = RMII,
.phy_addr = 0,
diff --git a/arch/arm/boards/eukrea_cpuimx25/flash_header.c b/arch/arm/boards/eukrea_cpuimx25/flash_header.c
new file mode 100644
index 0000000000..344c7ffc13
--- /dev/null
+++ b/arch/arm/boards/eukrea_cpuimx25/flash_header.c
@@ -0,0 +1,61 @@
+/*
+ * (C) 2009 Pengutronix, Sascha Hauer <s.hauer@pengutronix.de>
+ * (c) 2010 Eukrea Electromatique, Eric BĂ©nard <eric@eukrea.com>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ */
+#include <common.h>
+#include <mach/imx-flash-header.h>
+#include <mach/imx-regs.h>
+#include <asm/barebox-arm-head.h>
+
+void __naked __flash_header_start go(void)
+{
+ barebox_arm_head();
+}
+
+struct imx_dcd_entry __dcd_entry_section dcd_entry[] = {
+ { .ptr_type = 4, .addr = 0xb8001010, .val = 0x00000004, },
+ { .ptr_type = 4, .addr = 0xb8001000, .val = 0x92100000, },
+ { .ptr_type = 1, .addr = 0x80000400, .val = 0x12344321, },
+ { .ptr_type = 4, .addr = 0xb8001000, .val = 0xa2100000, },
+ { .ptr_type = 4, .addr = 0x80000000, .val = 0x12344321, },
+ { .ptr_type = 4, .addr = 0x80000000, .val = 0x12344321, },
+ { .ptr_type = 4, .addr = 0xb8001000, .val = 0xb2100000, },
+ { .ptr_type = 1, .addr = 0x80000033, .val = 0xda, },
+ { .ptr_type = 1, .addr = 0x81000000, .val = 0xff, },
+ { .ptr_type = 4, .addr = 0xb8001000, .val = 0x82216080, },
+ { .ptr_type = 4, .addr = 0xb8001004, .val = 0x00295729, },
+ { .ptr_type = 4, .addr = 0x53f80008, .val = 0x20034000, },
+};
+
+struct imx_flash_header __flash_header_section flash_header = {
+ .app_code_jump_vector = DEST_BASE + 0x1000,
+ .app_code_barker = APP_CODE_BARKER,
+ .app_code_csf = 0,
+ .dcd_ptr_ptr = FLASH_HEADER_BASE + offsetof(struct imx_flash_header, dcd),
+ .super_root_key = 0,
+ .dcd = FLASH_HEADER_BASE + offsetof(struct imx_flash_header, dcd_barker),
+ .app_dest = DEST_BASE,
+ .dcd_barker = DCD_BARKER,
+ .dcd_block_len = sizeof(dcd_entry),
+};
+
+unsigned long __image_len_section barebox_len = DCD_BAREBOX_SIZE;