summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorAndrey Smirnov <andrew.smirnov@gmail.com>2018-08-20 23:41:07 -0700
committerSascha Hauer <s.hauer@pengutronix.de>2018-08-31 08:30:07 +0200
commitb4e43bf44a43edd852cab4ece6ccbbbc1939e7d6 (patch)
tree484aa7573ac09461dd938faee0b254e0cbf12842 /arch
parentdb6ee951649939a4a7c75d7ba7f20a4342f76780 (diff)
downloadbarebox-b4e43bf44a43edd852cab4ece6ccbbbc1939e7d6.tar.gz
barebox-b4e43bf44a43edd852cab4ece6ccbbbc1939e7d6.tar.xz
Revert "i.MX: Add provisions to boot from IRAM"
After being introduced 3 years ago this feature ended up being "obsoleted by events" and project it was supposed to be a part of winded down. Revert this feature due to: a) Lack of users b) Existence of better way to make barebox load via SRAM as intermediary step that does not require two separate images to be built (.imx-sram-img) This reverts commit 903c9477a08c5655161779ef4144886928ecc7d1. Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/boards/freescale-mx51-babbage/board.c60
-rw-r--r--arch/arm/boards/freescale-mx51-babbage/flash-header-common.imxcfg58
-rw-r--r--arch/arm/boards/freescale-mx51-babbage/flash-header-imx51-babbage-xload.imxcfg3
-rw-r--r--arch/arm/boards/freescale-mx51-babbage/flash-header-imx51-babbage.imxcfg60
-rw-r--r--arch/arm/boards/freescale-mx51-babbage/lowlevel.c25
-rw-r--r--arch/arm/configs/imx_v7-xload_defconfig31
-rw-r--r--arch/arm/mach-imx/Kconfig15
-rw-r--r--arch/arm/mach-imx/Makefile1
-rw-r--r--arch/arm/mach-imx/xload.c52
9 files changed, 58 insertions, 247 deletions
diff --git a/arch/arm/boards/freescale-mx51-babbage/board.c b/arch/arm/boards/freescale-mx51-babbage/board.c
index 74ad7fa51f..2e75db547a 100644
--- a/arch/arm/boards/freescale-mx51-babbage/board.c
+++ b/arch/arm/boards/freescale-mx51-babbage/board.c
@@ -60,63 +60,3 @@ static int imx51_babbage_init(void)
return 0;
}
coredevice_initcall(imx51_babbage_init);
-
-#ifdef CONFIG_ARCH_IMX_XLOAD
-
-static int imx51_babbage_xload_init_pinmux(void)
-{
- static const iomux_v3_cfg_t pinmux[] = {
- /* (e)CSPI */
- MX51_PAD_CSPI1_MOSI__ECSPI1_MOSI,
- MX51_PAD_CSPI1_MISO__ECSPI1_MISO,
- MX51_PAD_CSPI1_SCLK__ECSPI1_SCLK,
-
- /* (e)CSPI chip select lines */
- MX51_PAD_CSPI1_SS1__GPIO4_25,
-
-
- /* eSDHC 1 */
- MX51_PAD_SD1_CMD__SD1_CMD,
- MX51_PAD_SD1_CLK__SD1_CLK,
- MX51_PAD_SD1_DATA0__SD1_DATA0,
- MX51_PAD_SD1_DATA1__SD1_DATA1,
- MX51_PAD_SD1_DATA2__SD1_DATA2,
- MX51_PAD_SD1_DATA3__SD1_DATA3,
- };
-
- mxc_iomux_v3_setup_multiple_pads(ARRAY_AND_SIZE(pinmux));
-
- return 0;
-}
-coredevice_initcall(imx51_babbage_xload_init_pinmux);
-
-static int imx51_babbage_xload_init_devices(void)
-{
- static int spi0_chipselects[] = {
- IMX_GPIO_NR(4, 25),
- };
-
- static struct spi_imx_master spi0_pdata = {
- .chipselect = spi0_chipselects,
- .num_chipselect = ARRAY_SIZE(spi0_chipselects),
- };
-
- static const struct spi_board_info spi0_devices[] = {
- {
- .name = "mtd_dataflash",
- .chip_select = 0,
- .max_speed_hz = 25 * 1000 * 1000,
- .bus_num = 0,
- },
- };
-
- imx51_add_mmc0(NULL);
-
- spi_register_board_info(ARRAY_AND_SIZE(spi0_devices));
- imx51_add_spi0(&spi0_pdata);
-
- return 0;
-}
-device_initcall(imx51_babbage_xload_init_devices);
-
-#endif
diff --git a/arch/arm/boards/freescale-mx51-babbage/flash-header-common.imxcfg b/arch/arm/boards/freescale-mx51-babbage/flash-header-common.imxcfg
deleted file mode 100644
index 1332b74707..0000000000
--- a/arch/arm/boards/freescale-mx51-babbage/flash-header-common.imxcfg
+++ /dev/null
@@ -1,58 +0,0 @@
-soc imx51
-dcdofs 0x400
-wm 32 0x73fa88a0 0x00000200
-wm 32 0x73fa850c 0x000020c5
-wm 32 0x73fa8510 0x000020c5
-wm 32 0x73fa883c 0x00000002
-wm 32 0x73fa8848 0x00000002
-wm 32 0x73fa84b8 0x000000e7
-wm 32 0x73fa84bc 0x00000045
-wm 32 0x73fa84c0 0x00000045
-wm 32 0x73fa84c4 0x00000045
-wm 32 0x73fa84c8 0x00000045
-wm 32 0x73fa8820 0x00000000
-wm 32 0x73fa84a4 0x00000003
-wm 32 0x73fa84a8 0x00000003
-wm 32 0x73fa84ac 0x000000e3
-wm 32 0x73fa84b0 0x000000e3
-wm 32 0x73fa84b4 0x000000e3
-wm 32 0x73fa84cc 0x000000e3
-wm 32 0x73fa84d0 0x000000e2
-wm 32 0x73fa882c 0x00000004
-wm 32 0x73fa88a4 0x00000004
-wm 32 0x73fa88ac 0x00000004
-wm 32 0x73fa88b8 0x00000004
-wm 32 0x83fd9000 0x82a20000
-wm 32 0x83fd9008 0x82a20000
-wm 32 0x83fd9010 0x000ad0d0
-wm 32 0x83fd9004 0x3f3584ab
-wm 32 0x83fd900c 0x3f3584ab
-wm 32 0x83fd9014 0x04008008
-wm 32 0x83fd9014 0x0000801a
-wm 32 0x83fd9014 0x0000801b
-wm 32 0x83fd9014 0x00448019
-wm 32 0x83fd9014 0x07328018
-wm 32 0x83fd9014 0x04008008
-wm 32 0x83fd9014 0x00008010
-wm 32 0x83fd9014 0x00008010
-wm 32 0x83fd9014 0x06328018
-wm 32 0x83fd9014 0x03808019
-wm 32 0x83fd9014 0x00408019
-wm 32 0x83fd9014 0x00008000
-wm 32 0x83fd9014 0x0400800c
-wm 32 0x83fd9014 0x0000801e
-wm 32 0x83fd9014 0x0000801f
-wm 32 0x83fd9014 0x0000801d
-wm 32 0x83fd9014 0x0732801c
-wm 32 0x83fd9014 0x0400800c
-wm 32 0x83fd9014 0x00008014
-wm 32 0x83fd9014 0x00008014
-wm 32 0x83fd9014 0x0632801c
-wm 32 0x83fd9014 0x0380801d
-wm 32 0x83fd9014 0x0040801d
-wm 32 0x83fd9014 0x00008004
-wm 32 0x83fd9000 0xb2a20000
-wm 32 0x83fd9008 0xb2a20000
-wm 32 0x83fd9010 0x000ad6d0
-wm 32 0x83fd9034 0x90000000
-wm 32 0x83fd9014 0x00000000
diff --git a/arch/arm/boards/freescale-mx51-babbage/flash-header-imx51-babbage-xload.imxcfg b/arch/arm/boards/freescale-mx51-babbage/flash-header-imx51-babbage-xload.imxcfg
deleted file mode 100644
index b249a7d4bc..0000000000
--- a/arch/arm/boards/freescale-mx51-babbage/flash-header-imx51-babbage-xload.imxcfg
+++ /dev/null
@@ -1,3 +0,0 @@
-loadaddr CONFIG_ARCH_IMX_UNUSED_IRAM_BASE
-
-#include "flash-header-common.imxcfg" \ No newline at end of file
diff --git a/arch/arm/boards/freescale-mx51-babbage/flash-header-imx51-babbage.imxcfg b/arch/arm/boards/freescale-mx51-babbage/flash-header-imx51-babbage.imxcfg
index cb60e4752a..bac6816fee 100644
--- a/arch/arm/boards/freescale-mx51-babbage/flash-header-imx51-babbage.imxcfg
+++ b/arch/arm/boards/freescale-mx51-babbage/flash-header-imx51-babbage.imxcfg
@@ -1,3 +1,59 @@
loadaddr 0x90000000
-
-#include "flash-header-common.imxcfg" \ No newline at end of file
+soc imx51
+dcdofs 0x400
+wm 32 0x73fa88a0 0x00000200
+wm 32 0x73fa850c 0x000020c5
+wm 32 0x73fa8510 0x000020c5
+wm 32 0x73fa883c 0x00000002
+wm 32 0x73fa8848 0x00000002
+wm 32 0x73fa84b8 0x000000e7
+wm 32 0x73fa84bc 0x00000045
+wm 32 0x73fa84c0 0x00000045
+wm 32 0x73fa84c4 0x00000045
+wm 32 0x73fa84c8 0x00000045
+wm 32 0x73fa8820 0x00000000
+wm 32 0x73fa84a4 0x00000003
+wm 32 0x73fa84a8 0x00000003
+wm 32 0x73fa84ac 0x000000e3
+wm 32 0x73fa84b0 0x000000e3
+wm 32 0x73fa84b4 0x000000e3
+wm 32 0x73fa84cc 0x000000e3
+wm 32 0x73fa84d0 0x000000e2
+wm 32 0x73fa882c 0x00000004
+wm 32 0x73fa88a4 0x00000004
+wm 32 0x73fa88ac 0x00000004
+wm 32 0x73fa88b8 0x00000004
+wm 32 0x83fd9000 0x82a20000
+wm 32 0x83fd9008 0x82a20000
+wm 32 0x83fd9010 0x000ad0d0
+wm 32 0x83fd9004 0x3f3584ab
+wm 32 0x83fd900c 0x3f3584ab
+wm 32 0x83fd9014 0x04008008
+wm 32 0x83fd9014 0x0000801a
+wm 32 0x83fd9014 0x0000801b
+wm 32 0x83fd9014 0x00448019
+wm 32 0x83fd9014 0x07328018
+wm 32 0x83fd9014 0x04008008
+wm 32 0x83fd9014 0x00008010
+wm 32 0x83fd9014 0x00008010
+wm 32 0x83fd9014 0x06328018
+wm 32 0x83fd9014 0x03808019
+wm 32 0x83fd9014 0x00408019
+wm 32 0x83fd9014 0x00008000
+wm 32 0x83fd9014 0x0400800c
+wm 32 0x83fd9014 0x0000801e
+wm 32 0x83fd9014 0x0000801f
+wm 32 0x83fd9014 0x0000801d
+wm 32 0x83fd9014 0x0732801c
+wm 32 0x83fd9014 0x0400800c
+wm 32 0x83fd9014 0x00008014
+wm 32 0x83fd9014 0x00008014
+wm 32 0x83fd9014 0x0632801c
+wm 32 0x83fd9014 0x0380801d
+wm 32 0x83fd9014 0x0040801d
+wm 32 0x83fd9014 0x00008004
+wm 32 0x83fd9000 0xb2a20000
+wm 32 0x83fd9008 0xb2a20000
+wm 32 0x83fd9010 0x000ad6d0
+wm 32 0x83fd9034 0x90000000
+wm 32 0x83fd9014 0x00000000
diff --git a/arch/arm/boards/freescale-mx51-babbage/lowlevel.c b/arch/arm/boards/freescale-mx51-babbage/lowlevel.c
index 216576ca27..f254db7b7b 100644
--- a/arch/arm/boards/freescale-mx51-babbage/lowlevel.c
+++ b/arch/arm/boards/freescale-mx51-babbage/lowlevel.c
@@ -4,7 +4,6 @@
#include <common.h>
#include <mach/esdctl.h>
#include <mach/generic.h>
-#include <asm/cache.h>
#include <asm/barebox-arm-head.h>
#include <asm/barebox-arm.h>
@@ -47,27 +46,3 @@ ENTRY_FUNCTION(start_imx51_babbage, r0, r1, r2)
imx51_barebox_entry(fdt);
}
-
-static noinline void babbage_entry(void)
-{
- arm_early_mmu_cache_invalidate();
-
- relocate_to_current_adr();
- setup_c();
-
- puts_ll("lowlevel init done\n");
-
- imx51_barebox_entry(NULL);
-}
-
-ENTRY_FUNCTION(start_imx51_babbage_xload, r0, r1, r2)
-{
- imx5_cpu_lowlevel_init();
-
- if (IS_ENABLED(CONFIG_DEBUG_LL))
- setup_uart();
-
- arm_setup_stack(0x20000000 - 16);
-
- babbage_entry();
-}
diff --git a/arch/arm/configs/imx_v7-xload_defconfig b/arch/arm/configs/imx_v7-xload_defconfig
deleted file mode 100644
index dcf100d440..0000000000
--- a/arch/arm/configs/imx_v7-xload_defconfig
+++ /dev/null
@@ -1,31 +0,0 @@
-CONFIG_ARCH_IMX=y
-CONFIG_ARCH_IMX_XLOAD=y
-CONFIG_IMX_MULTI_BOARDS=y
-CONFIG_MACH_FREESCALE_MX51_PDK=y
-CONFIG_THUMB2_BAREBOX=y
-CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
-CONFIG_MMU=y
-CONFIG_TEXT_BASE=0x0
-CONFIG_MALLOC_SIZE=0x0
-CONFIG_MALLOC_DUMMY=y
-CONFIG_RELOCATABLE=y
-CONFIG_SHELL_NONE=y
-# CONFIG_ERRNO_MESSAGES is not set
-# CONFIG_TIMESTAMP is not set
-CONFIG_DEBUG_LL=y
-CONFIG_MTD=y
-# CONFIG_MTD_WRITE is not set
-CONFIG_MTD_DATAFLASH=y
-CONFIG_MCI=y
-CONFIG_MCI_STARTUP=y
-# CONFIG_MCI_WRITE is not set
-CONFIG_MCI_IMX_ESDHC=y
-CONFIG_EEPROM_AT25=y
-CONFIG_WATCHDOG=y
-CONFIG_WATCHDOG_IMX=y
-# CONFIG_FS_RAMFS is not set
-# CONFIG_FS_DEVFS is not set
-CONFIG_FS_FAT=y
-CONFIG_BOOTSTRAP=y
-CONFIG_BOOTSTRAP_DEVFS=y
-CONFIG_BOOTSTRAP_DISK=y
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig
index 7cb9138d24..bc7e832dc4 100644
--- a/arch/arm/mach-imx/Kconfig
+++ b/arch/arm/mach-imx/Kconfig
@@ -53,21 +53,6 @@ config ARCH_IMX_IMXIMAGE_SSL_SUPPORT
This enables SSL support for the imx-image tool. This is required
for created images for HABv3. This adds openssl to the build dependencies
-config ARCH_IMX_XLOAD
- bool
- depends on ARCH_IMX51
- prompt "Build preloader image"
-
-config ARCH_IMX_UNUSED_IRAM_BASE
- hex
- depends on ARCH_IMX_XLOAD
- default 0x1ffe2000 if ARCH_IMX51
-
-config ARCH_IMX_UNUSED_IRAM_SIZE
- hex
- depends on ARCH_IMX_XLOAD
- default 0x16000 if ARCH_IMX51
-
config ARCH_IMX_EXTERNAL_BOOT_NAND
bool
depends on ARCH_IMX25 || ARCH_IMX27 || ARCH_IMX31 || ARCH_IMX35
diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
index 595a7512ce..5a01dd57e8 100644
--- a/arch/arm/mach-imx/Makefile
+++ b/arch/arm/mach-imx/Makefile
@@ -18,7 +18,6 @@ obj-$(CONFIG_ARCH_IMX7) += imx7.o
obj-$(CONFIG_ARCH_VF610) += vf610.o
obj-$(CONFIG_ARCH_IMX8MQ) += imx8mq.o
lwl-$(CONFIG_ARCH_IMX8MQ) += imx8-ddrc.o atf.o
-obj-$(CONFIG_ARCH_IMX_XLOAD) += xload.o
obj-$(CONFIG_IMX_IIM) += iim.o
obj-$(CONFIG_NAND_IMX) += nand.o
lwl-$(CONFIG_ARCH_IMX_EXTERNAL_BOOT_NAND) += external-nand-boot.o
diff --git a/arch/arm/mach-imx/xload.c b/arch/arm/mach-imx/xload.c
deleted file mode 100644
index 921e9ade20..0000000000
--- a/arch/arm/mach-imx/xload.c
+++ /dev/null
@@ -1,52 +0,0 @@
-#include <bootsource.h>
-#include <bootstrap.h>
-#include <common.h>
-#include <malloc.h>
-#include <init.h>
-#include <envfs.h>
-#include <linux/sizes.h>
-#include <fs.h>
-#include <io.h>
-
-#include <linux/clkdev.h>
-#include <linux/stat.h>
-#include <linux/clk.h>
-
-#include <mach/devices-imx51.h>
-
-static __noreturn int imx_xload(void)
-{
- enum bootsource bootsource = bootsource_get();
- void *buf;
-
- switch (bootsource) {
- case BOOTSOURCE_MMC:
- pr_info("booting from MMC\n");
- buf = bootstrap_read_disk("disk0.0", "fat");
- break;
- case BOOTSOURCE_SPI_NOR:
- pr_info("booting from SPI\n");
- buf = bootstrap_read_devfs("dataflash0", false,
- SZ_256K, SZ_1M, SZ_1M);
- break;
- default:
- pr_err("unknown bootsource %d\n", bootsource);
- hang();
- }
-
- if (!buf) {
- pr_err("failed to load barebox.bin\n");
- hang();
- }
-
- bootstrap_boot(buf, 0);
-
- hang();
-}
-
-static int imx_devices_init(void)
-{
- barebox_main = imx_xload;
- return 0;
-}
-coredevice_initcall(imx_devices_init);