[PATCH 3/7] ARM: i.MX: remove unused imx-flash-header.h

Sascha Hauer s.hauer at pengutronix.de
Fri Apr 1 05:10:40 PDT 2016


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 at pengutronix.de>
---
 arch/arm/boards/efika-mx-smartbook/board.c        |   1 -
 arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c |   1 -
 arch/arm/boards/freescale-mx25-3ds/3stack.c       |   1 -
 arch/arm/boards/freescale-mx51-babbage/board.c    |   1 -
 arch/arm/boards/freescale-mx53-qsb/board.c        |   1 -
 arch/arm/boards/karo-tx53/board.c                 |   1 -
 arch/arm/configs/eukrea_cpuimx25_defconfig        |   2 -
 arch/arm/configs/tx51stk5_defconfig               |   2 -
 arch/arm/mach-imx/Kconfig                         |  52 -------
 arch/arm/mach-imx/imx-bbu-internal.c              |   1 -
 arch/arm/mach-imx/include/mach/barebox.lds.h      |  32 ----
 arch/arm/mach-imx/include/mach/imx-flash-header.h | 182 ----------------------
 include/asm-generic/barebox.lds.h                 |   7 +-
 13 files changed, 1 insertion(+), 283 deletions(-)
 delete mode 100644 arch/arm/mach-imx/include/mach/barebox.lds.h
 delete mode 100644 arch/arm/mach-imx/include/mach/imx-flash-header.h

diff --git a/arch/arm/boards/efika-mx-smartbook/board.c b/arch/arm/boards/efika-mx-smartbook/board.c
index f023d70..d1d020e 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 4ab5b95..22bf740 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 f000010..6d0e382 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 6650ff3..c4acb8e 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 dd2abb5..f75c9d1 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 b8164ca..9e65a83 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 43580b1..5a508dc 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 1afe378..acde46a 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 33ae145..5b648ac 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 821ce66..51ec8b8 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 2e60282..0000000
--- 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 7a8d5cc..0000000
--- 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 */
diff --git a/include/asm-generic/barebox.lds.h b/include/asm-generic/barebox.lds.h
index 772058e..c8a919b 100644
--- a/include/asm-generic/barebox.lds.h
+++ b/include/asm-generic/barebox.lds.h
@@ -6,12 +6,7 @@
 #define STRUCT_ALIGNMENT 32
 #define STRUCT_ALIGN() . = ALIGN(STRUCT_ALIGNMENT)
 
-#if defined CONFIG_ARCH_IMX25 || \
-	defined CONFIG_ARCH_IMX35 || \
-	defined CONFIG_ARCH_IMX51 || \
-	defined CONFIG_ARCH_IMX53 || \
-	defined CONFIG_ARCH_IMX6 || \
-	defined CONFIG_X86 || \
+#if defined CONFIG_X86 || \
 	defined CONFIG_ARCH_EP93XX || \
 	defined CONFIG_ARCH_ZYNQ
 #include <mach/barebox.lds.h>
-- 
2.7.0




More information about the barebox mailing list