summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2016-03-30 12:22:29 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2016-04-01 14:06:35 +0200
commitbf1e795d14d7963d387eccd5ccabe98bbfb9684d (patch)
treee90b82e8bbbd6ef5edd7682a6e930e6e88f17b59 /arch
parent25ab9fcaf862459650ae052e20527331d3ceefb9 (diff)
downloadbarebox-bf1e795d14d7963d387eccd5ccabe98bbfb9684d.tar.gz
barebox-bf1e795d14d7963d387eccd5ccabe98bbfb9684d.tar.xz
ARM: i.MX: remove unused imx-flash-header.h
All i.MX images are nowadays built with the imx-image tool, so we do not need the header files and Kconfig options anymore. Remove them. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/boards/efika-mx-smartbook/board.c1
-rw-r--r--arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c1
-rw-r--r--arch/arm/boards/freescale-mx25-3ds/3stack.c1
-rw-r--r--arch/arm/boards/freescale-mx51-babbage/board.c1
-rw-r--r--arch/arm/boards/freescale-mx53-qsb/board.c1
-rw-r--r--arch/arm/boards/karo-tx53/board.c1
-rw-r--r--arch/arm/configs/eukrea_cpuimx25_defconfig2
-rw-r--r--arch/arm/configs/tx51stk5_defconfig2
-rw-r--r--arch/arm/mach-imx/Kconfig52
-rw-r--r--arch/arm/mach-imx/imx-bbu-internal.c1
-rw-r--r--arch/arm/mach-imx/include/mach/barebox.lds.h32
-rw-r--r--arch/arm/mach-imx/include/mach/imx-flash-header.h182
12 files changed, 0 insertions, 277 deletions
diff --git a/arch/arm/boards/efika-mx-smartbook/board.c b/arch/arm/boards/efika-mx-smartbook/board.c
index f023d70c28..d1d020e762 100644
--- a/arch/arm/boards/efika-mx-smartbook/board.c
+++ b/arch/arm/boards/efika-mx-smartbook/board.c
@@ -32,7 +32,6 @@
#include <asm/armlinux.h>
-#include <mach/imx-flash-header.h>
#include <mach/devices-imx51.h>
#include <mach/imx51-regs.h>
#include <mach/iomux-mx51.h>
diff --git a/arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c b/arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c
index 4ab5b957c4..22bf7409a2 100644
--- a/arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c
+++ b/arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c
@@ -38,7 +38,6 @@
#include <mach/iim.h>
#include <fec.h>
#include <nand.h>
-#include <mach/imx-flash-header.h>
#include <mach/iomux-mx25.h>
#include <i2c/i2c.h>
#include <usb/fsl_usb2.h>
diff --git a/arch/arm/boards/freescale-mx25-3ds/3stack.c b/arch/arm/boards/freescale-mx25-3ds/3stack.c
index f0000101dc..6d0e38205a 100644
--- a/arch/arm/boards/freescale-mx25-3ds/3stack.c
+++ b/arch/arm/boards/freescale-mx25-3ds/3stack.c
@@ -32,7 +32,6 @@
#include <mach/imx-nand.h>
#include <fec.h>
#include <nand.h>
-#include <mach/imx-flash-header.h>
#include <mach/iomux-mx25.h>
#include <mach/generic.h>
#include <mach/iim.h>
diff --git a/arch/arm/boards/freescale-mx51-babbage/board.c b/arch/arm/boards/freescale-mx51-babbage/board.c
index 6650ff3408..c4acb8ee16 100644
--- a/arch/arm/boards/freescale-mx51-babbage/board.c
+++ b/arch/arm/boards/freescale-mx51-babbage/board.c
@@ -42,7 +42,6 @@
#include <mach/iomux-mx51.h>
#include <mach/devices-imx51.h>
#include <mach/revision.h>
-#include <mach/imx-flash-header.h>
#define MX51_CCM_CACRR 0x10
diff --git a/arch/arm/boards/freescale-mx53-qsb/board.c b/arch/arm/boards/freescale-mx53-qsb/board.c
index dd2abb5f5d..f75c9d12cd 100644
--- a/arch/arm/boards/freescale-mx53-qsb/board.c
+++ b/arch/arm/boards/freescale-mx53-qsb/board.c
@@ -32,7 +32,6 @@
#include <generated/mach-types.h>
-#include <mach/imx-flash-header.h>
#include <mach/imx53-regs.h>
#include <mach/revision.h>
#include <mach/generic.h>
diff --git a/arch/arm/boards/karo-tx53/board.c b/arch/arm/boards/karo-tx53/board.c
index b8164ca86e..9e65a839ad 100644
--- a/arch/arm/boards/karo-tx53/board.c
+++ b/arch/arm/boards/karo-tx53/board.c
@@ -34,7 +34,6 @@
#include <mach/imx-nand.h>
#include <mach/iim.h>
#include <mach/imx5.h>
-#include <mach/imx-flash-header.h>
#include <mach/bbu.h>
#include <asm/armlinux.h>
diff --git a/arch/arm/configs/eukrea_cpuimx25_defconfig b/arch/arm/configs/eukrea_cpuimx25_defconfig
index 43580b1faa..5a508dc3f6 100644
--- a/arch/arm/configs/eukrea_cpuimx25_defconfig
+++ b/arch/arm/configs/eukrea_cpuimx25_defconfig
@@ -1,7 +1,5 @@
CONFIG_ARCH_IMX=y
CONFIG_BAREBOX_MAX_IMAGE_SIZE=0x40000
-CONFIG_ARCH_IMX_INTERNAL_BOOT=y
-CONFIG_ARCH_IMX_INTERNAL_BOOT_SERIAL=y
CONFIG_MACH_EUKREA_CPUIMX25=y
CONFIG_IMX_IIM=y
CONFIG_IMX_IIM_FUSE_BLOW=y
diff --git a/arch/arm/configs/tx51stk5_defconfig b/arch/arm/configs/tx51stk5_defconfig
index 1afe378bbb..acde46a512 100644
--- a/arch/arm/configs/tx51stk5_defconfig
+++ b/arch/arm/configs/tx51stk5_defconfig
@@ -5,8 +5,6 @@ CONFIG_ARCH_IMX=y
CONFIG_CPU_32=y
CONFIG_CPU_V7=y
CONFIG_CPU_32v7=y
-CONFIG_ARCH_IMX_INTERNAL_BOOT=y
-CONFIG_ARCH_IMX_INTERNAL_BOOT_NAND=y
CONFIG_ARCH_IMX51=y
CONFIG_MACH_TX51=y
CONFIG_IMX_IIM=y
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig
index 33ae145193..5b648acbbc 100644
--- a/arch/arm/mach-imx/Kconfig
+++ b/arch/arm/mach-imx/Kconfig
@@ -39,27 +39,6 @@ config ARCH_TEXT_BASE
default 0x4fc00000 if MACH_VARISCITE_MX6
default 0x4fc00000 if MACH_PHYTEC_SOM_IMX6
-config ARCH_IMX_INTERNAL_BOOT
- bool "support internal boot mode"
- depends on ARCH_IMX25 || ARCH_IMX35 || ARCH_IMX51 || ARCH_IMX53 || ARCH_IMX6
- depends on !HAVE_PBL_MULTI_IMAGES
- help
- i.MX processors support two different boot modes. With the internal
- boot mode the boot medium contains a header describing the image to
- load. The header also contains a register/value table which can be
- used to setup SDRAM. The internal ROM code then initializes SDRAM
- using the register/value table, loads the whole barebox image to
- SDRAM and starts it. The internal boot mode is available on newer
- i.MX processors (i.MX25, i.MX35, i.MX51, i.MX53 and i.MX6), and
- supports booting from NOR, NAND, MMC/SD and serial ROMs.
- The external boot mode supports booting only from NAND and NOR. With
- NOR flash the image is just started in NOR flash. With NAND flash
- the NAND controller loads the first 2kbyte from NAND into the NAND
- controllers internal SRAM where it is then started. It's the
- responsibility of these 2kbyte to load the rest of the boot image.
- The external boot mode is supported on older i.MX processors (i.MX1,
- i.MX21, i.MX25, i.MX27, i.MX31, i.MX35).
-
config ARCH_IMX_IMXIMAGE
bool
default y
@@ -87,37 +66,6 @@ config ARCH_IMX_UNUSED_IRAM_SIZE
depends on ARCH_IMX_XLOAD
default 0x16000 if ARCH_IMX51
-choice
- depends on ARCH_IMX_INTERNAL_BOOT
- prompt "Internal boot source"
- default ARCH_IMX_INTERNAL_BOOT_NAND
- help
- Determines the location of the header information for internal boot.
- 0x100 for OneNAND
- 0x400 for NAND, SD/MMC or Serial ROM
- 0x1000 for NOR
-
-config ARCH_IMX_INTERNAL_BOOT_NAND
- bool "NAND, SD/MMC, Serial ROM"
-
-config ARCH_IMX_INTERNAL_BOOT_NOR
- bool "NOR"
-
-config ARCH_IMX_INTERNAL_BOOT_ONENAND
- bool "OneNAND"
-
-config ARCH_IMX_INTERNAL_BOOT_SERIAL
- bool "Serial (read help)"
- help
- Normally the first instruction of the barebox image contains a jump
- to the real start of the image which means that you can start it by
- jumping to the load address. With serial boot images this is not
- possible because the first instruction is occupied by a magic for the
- ROM boot code. You can still start this image as a second stage loader,
- but you have to add 0x400 to the entry point.
-
-endchoice
-
config ARCH_IMX_EXTERNAL_BOOT_NAND
bool
depends on ARCH_IMX25 || ARCH_IMX27 || ARCH_IMX31 || ARCH_IMX35
diff --git a/arch/arm/mach-imx/imx-bbu-internal.c b/arch/arm/mach-imx/imx-bbu-internal.c
index 821ce660f5..51ec8b8270 100644
--- a/arch/arm/mach-imx/imx-bbu-internal.c
+++ b/arch/arm/mach-imx/imx-bbu-internal.c
@@ -30,7 +30,6 @@
#include <linux/stat.h>
#include <ioctl.h>
#include <mach/bbu.h>
-#include <mach/imx-flash-header.h>
#define FLASH_HEADER_OFFSET_MMC 0x400
diff --git a/arch/arm/mach-imx/include/mach/barebox.lds.h b/arch/arm/mach-imx/include/mach/barebox.lds.h
deleted file mode 100644
index 2e60282c6d..0000000000
--- a/arch/arm/mach-imx/include/mach/barebox.lds.h
+++ /dev/null
@@ -1,32 +0,0 @@
-
-#ifdef CONFIG_ARCH_IMX_INTERNAL_BOOT
-
-#ifdef CONFIG_ARCH_IMX_INTERNAL_BOOT_SERIAL
-#define PRE_IMAGE \
- .pre_image : { \
- KEEP(*(.flash_header_0x0*)) \
- KEEP(*(.dcd_entry_0x0*)) \
- KEEP(*(.image_len_0x0*)) \
- . = 0x400; \
- }
-#else
-
-#define PRE_IMAGE \
- .pre_image : { \
- KEEP(*(.flash_header_start*)) \
- . = 0x100; \
- KEEP(*(.flash_header_0x0100*)) \
- KEEP(*(.dcd_entry_0x0100*)) \
- KEEP(*(.image_len_0x0100*)) \
- . = 0x400; \
- KEEP(*(.flash_header_0x0400*)) \
- KEEP(*(.dcd_entry_0x0400*)) \
- KEEP(*(.image_len_0x0400*)) \
- . = 0x1000; \
- KEEP(*(.flash_header_0x1000*)) \
- KEEP(*(.dcd_entry_0x1000*)) \
- KEEP(*(.image_len_0x1000*)) \
- . = 0x2000; \
- }
-#endif
-#endif
diff --git a/arch/arm/mach-imx/include/mach/imx-flash-header.h b/arch/arm/mach-imx/include/mach/imx-flash-header.h
deleted file mode 100644
index 7a8d5cc306..0000000000
--- a/arch/arm/mach-imx/include/mach/imx-flash-header.h
+++ /dev/null
@@ -1,182 +0,0 @@
-#ifndef __MACH_FLASH_HEADER_H
-#define __MACH_FLASH_HEADER_H
-
-#include <asm/sections.h>
-
-#define __flash_header_start __section(.flash_header_start)
-
-#if defined(CONFIG_ARCH_IMX_INTERNAL_BOOT_NOR)
- #define __flash_header_section __section(.flash_header_0x1000)
- #define __dcd_entry_section __section(.dcd_entry_0x1000)
- #define __image_len_section __section(.image_len_0x1000)
- #define FLASH_HEADER_OFFSET 0x1000
-#elif defined(CONFIG_ARCH_IMX_INTERNAL_BOOT_ONENAND)
- #define __flash_header_section __section(.flash_header_0x0100)
- #define __dcd_entry_section __section(.dcd_entry_0x0100)
- #define __image_len_section __section(.image_len_0x0100)
- #define FLASH_HEADER_OFFSET 0x0100
-#elif defined(CONFIG_ARCH_IMX_INTERNAL_BOOT_SERIAL)
- #define __flash_header_section __section(.flash_header_0x0)
- #define __dcd_entry_section __section(.dcd_entry_0x0)
- #define __image_len_section __section(.image_len_0x0)
- #define FLASH_HEADER_OFFSET 0x0
-#else
- #define __flash_header_section __section(.flash_header_0x0400)
- #define __dcd_entry_section __section(.dcd_entry_0x0400)
- #define __image_len_section __section(.image_len_0x0400)
- #define FLASH_HEADER_OFFSET 0x0400
-#endif
-
-#define __flash_header_0x1000 __section(.flash_header_0x1000)
-#define __dcd_entry_0x1000 __section(.dcd_entry_0x1000)
-#define __image_len_0x1000 __section(.image_len_0x1000)
-
-#define __flash_header_0x0100 __section(.flash_header_0x0100)
-#define __dcd_entry_0x0100 __section(.dcd_entry_0x0100)
-#define __image_len_0x0100 __section(.image_len_0x0100)
-
-#define __flash_header_0x0400 __section(.flash_header_0x0400)
-#define __dcd_entry_0x0400 __section(.dcd_entry_0x0400)
-#define __image_len_0x0400 __section(.image_len_0x0400)
-
-#define __flash_header_0x0 __section(.flash_header_0x0)
-#define __dcd_entry_0x0 __section(.dcd_entry_0x0)
-#define __image_len_0x0 __section(.image_len_0x0)
-
-/*
- * NOR is not automatically copied anywhere by the boot ROM
- */
-#if defined (CONFIG_ARCH_IMX_INTERNAL_BOOT_NOR)
- #define DEST_BASE IMX_CS0_BASE
-#else
- #define DEST_BASE TEXT_BASE
-#endif
-
-#define FLASH_HEADER_BASE (DEST_BASE + FLASH_HEADER_OFFSET)
-
-struct imx_dcd_entry {
- unsigned long ptr_type;
- unsigned long addr;
- unsigned long val;
-};
-
-struct imx_dcd_v2_entry {
- __be32 addr;
- __be32 val;
-};
-
-#define DCD_BARKER 0xb17219e9
-
-struct imx_rsa_public_key {
- unsigned char rsa_exponent[4];
- unsigned char *rsa_modululs;
- unsigned short *exponent_size;
- unsigned short modulus_size;
- unsigned char init_flag;
-};
-
-#define APP_CODE_BARKER 0x000000b1
-
-struct imx_flash_header {
- unsigned long app_code_jump_vector;
- unsigned long app_code_barker;
- unsigned long app_code_csf;
- unsigned long dcd_ptr_ptr;
- unsigned long super_root_key;
- unsigned long dcd;
- unsigned long app_dest;
- unsigned long dcd_barker;
- unsigned long dcd_block_len;
-};
-
-#define IVT_HEADER_TAG 0xd1
-#define IVT_VERSION 0x40
-
-#define DCD_HEADER_TAG 0xd2
-#define DCD_VERSION 0x40
-
-#define DCD_COMMAND_WRITE_TAG 0xcc
-#define DCD_COMMAND_WRITE_PARAM 0x04
-
-/*
- * At least on i.MX5 the ROM copies only full blocks. Unfortunately
- * it does not round up to the next full block, we have to do it
- * ourselves. Use 4095 which should be enough for the largest NAND
- * pages.
- */
-#define DCD_BAREBOX_SIZE (barebox_image_size + 4095)
-
-struct imx_ivt_header {
- uint8_t tag;
- __be16 length;
- uint8_t version;
-} __attribute__((packed));
-
-struct imx_dcd_command {
- uint8_t tag;
- __be16 length;
- uint8_t param;
-} __attribute__((packed));
-
-struct imx_dcd {
- struct imx_ivt_header header;
-#ifndef IMX_INTERNAL_NAND_BBU
- struct imx_dcd_command command;
-#endif
-};
-
-struct imx_boot_data {
- uint32_t start;
- uint32_t size;
- uint32_t plugin;
-};
-
-struct imx_flash_header_v2 {
- struct imx_ivt_header header;
-
- uint32_t entry;
- uint32_t reserved1;
- uint32_t dcd_ptr;
- uint32_t boot_data_ptr;
- uint32_t self;
- uint32_t csf;
- uint32_t reserved2;
-
- struct imx_boot_data boot_data;
- 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 barebox_arm_reset_vector\n"
-#else
- "1: b barebox_arm_reset_vector\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 */