diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2012-10-14 22:13:55 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-02-04 15:52:39 +0100 |
commit | f2a8e3589857da84a9cc91267e86d6f9b542a72d (patch) | |
tree | c8608263fb648ed97648d3f7a8b00c08f6ca80a9 /arch/arm/mach-imx | |
parent | cf4271ee12f8ce61598a327a72026226441dca72 (diff) | |
download | barebox-f2a8e3589857da84a9cc91267e86d6f9b542a72d.tar.gz barebox-f2a8e3589857da84a9cc91267e86d6f9b542a72d.tar.xz |
ARM i.MX boards: switch to barebox_arm_entry
Most i.MX boards can use the imx*_barebox_entry functions. The remaining
(i.MX21, i.MX6) use hardcoded base addresses.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-imx')
-rw-r--r-- | arch/arm/mach-imx/Kconfig | 17 | ||||
-rw-r--r-- | arch/arm/mach-imx/Makefile | 5 | ||||
-rw-r--r-- | arch/arm/mach-imx/external-nand-boot.c | 11 |
3 files changed, 10 insertions, 23 deletions
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig index 3cb35a01b0..4115d35ccb 100644 --- a/arch/arm/mach-imx/Kconfig +++ b/arch/arm/mach-imx/Kconfig @@ -206,7 +206,6 @@ choice config MACH_SCB9328 bool "Synertronixx scb9328" select HAS_DM9000 - select MACH_HAS_LOWLEVEL_INIT help Say Y here if you are using the Synertronixx scb9328 board @@ -223,7 +222,6 @@ choice config MACH_IMX21ADS bool "Freescale i.MX21ADS" - select MACH_HAS_LOWLEVEL_INIT select HAS_CS8900 help Say Y here if you are using the Freescale i.MX21ads board equipped @@ -242,14 +240,12 @@ choice config MACH_EUKREA_CPUIMX25 bool "Eukrea CPUIMX25" - select MACH_HAS_LOWLEVEL_INIT help Say Y here if you are using the Eukrea Electromatique's CPUIMX25 equipped with a Freescale i.MX25 Processor config MACH_FREESCALE_MX25_3STACK bool "Freescale MX25 3stack" - select MACH_HAS_LOWLEVEL_INIT select I2C select I2C_MC34704 help @@ -258,7 +254,6 @@ config MACH_FREESCALE_MX25_3STACK config MACH_TX25 bool "Ka-Ro TX25" - select MACH_HAS_LOWLEVEL_INIT select HAVE_DEFAULT_ENVIRONMENT_NEW help Say Y here if you are using the Ka-Ro tx25 board @@ -276,28 +271,24 @@ choice config MACH_EUKREA_CPUIMX27 bool "EUKREA CPUIMX27" - select MACH_HAS_LOWLEVEL_INIT help Say Y here if you are using Eukrea's CPUIMX27 equipped with a Freescale i.MX27 Processor config MACH_IMX27ADS bool "Freescale i.MX27ADS" - select MACH_HAS_LOWLEVEL_INIT help Say Y here if you are using the Freescale i.MX27ads board equipped with a Freescale i.MX27 Processor config MACH_PCA100 bool "phyCard-i.MX27" - select MACH_HAS_LOWLEVEL_INIT help Say Y here if you are using Phytec's phyCard-i.MX27 (pca100) equipped with a Freescale i.MX27 Processor config MACH_PCM038 bool "phyCORE-i.MX27" - select MACH_HAS_LOWLEVEL_INIT select SPI select DRIVER_SPI_IMX select MFD_MC13XXX @@ -316,7 +307,6 @@ config MACH_PCM970_BASEBOARD config MACH_NESO bool "Garz+Fricke Neso" - select MACH_HAS_LOWLEVEL_INIT help Say Y here if you are using the Garz+Fricke Neso board equipped with a Freescale i.MX27 Processor @@ -334,7 +324,6 @@ choice config MACH_PCM037 bool "phyCORE-i.MX31" - select MACH_HAS_LOWLEVEL_INIT select USB_ULPI if USB select HAVE_DEFAULT_ENVIRONMENT_NEW select ARCH_HAS_L2X0 @@ -355,7 +344,6 @@ choice config MACH_EUKREA_CPUIMX35 bool "EUKREA CPUIMX35" - select MACH_HAS_LOWLEVEL_INIT select ARCH_HAS_L2X0 help Say Y here if you are using Eukrea's CPUIMX35 equipped @@ -363,7 +351,6 @@ config MACH_EUKREA_CPUIMX35 config MACH_FREESCALE_MX35_3STACK bool "Freescale MX35 3stack" - select MACH_HAS_LOWLEVEL_INIT select I2C select I2C_IMX select MFD_MC13XXX @@ -374,7 +361,6 @@ config MACH_FREESCALE_MX35_3STACK config MACH_PCM043 bool "phyCORE-i.MX35" - select MACH_HAS_LOWLEVEL_INIT select ARCH_HAS_L2X0 help Say Y here if you are using Phytec's phyCORE-i.MX35 (pcm043) equipped @@ -382,7 +368,6 @@ config MACH_PCM043 config MACH_GUF_CUPID bool "Garz+Fricke Cupid" - select MACH_HAS_LOWLEVEL_INIT select ARCH_HAS_L2X0 help Say Y here if you are using the Garz+Fricke Neso board equipped @@ -469,13 +454,11 @@ config MACH_TQMA53_1GB_RAM config MACH_TX53 bool "Ka-Ro TX53" select HAVE_DEFAULT_ENVIRONMENT_NEW - select MACH_HAS_LOWLEVEL_INIT help Say Y here if you are using the Ka-Ro tx53 board config MACH_GUF_VINCELL select HAVE_DEFAULT_ENVIRONMENT_NEW - select MACH_HAS_LOWLEVEL_INIT bool "Garz-Fricke Vincell" endchoice diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile index 104ab21134..1c280353bd 100644 --- a/arch/arm/mach-imx/Makefile +++ b/arch/arm/mach-imx/Makefile @@ -11,8 +11,11 @@ pbl-$(CONFIG_ARCH_IMX53) += imx53.o imx5.o esdctl-v4.o obj-$(CONFIG_ARCH_IMX6) += imx6.o iomux-v3.o usb-imx6.o clk-imx6.o obj-$(CONFIG_IMX_IIM) += iim.o obj-$(CONFIG_NAND_IMX) += nand.o -obj-$(CONFIG_ARCH_IMX_EXTERNAL_BOOT_NAND) += external-nand-boot.o +ifdef CONFIG_PBL_IMAGE pbl-$(CONFIG_ARCH_IMX_EXTERNAL_BOOT_NAND) += external-nand-boot.o +else +obj-$(CONFIG_ARCH_IMX_EXTERNAL_BOOT_NAND) += external-nand-boot.o +endif obj-$(CONFIG_COMMON_CLK) += clk-pllv1.o clk-pllv2.o clk-pllv3.o clk-pfd.o obj-y += devices.o imx.o esdctl.o obj-y += boot.o diff --git a/arch/arm/mach-imx/external-nand-boot.c b/arch/arm/mach-imx/external-nand-boot.c index c97fec9b43..2c353d7e3a 100644 --- a/arch/arm/mach-imx/external-nand-boot.c +++ b/arch/arm/mach-imx/external-nand-boot.c @@ -18,6 +18,7 @@ #include <asm/sections.h> #include <asm/barebox-arm.h> #include <mach/imx-nand.h> +#include <mach/esdctl.h> #include <mach/generic.h> #include <mach/imx21-regs.h> #include <mach/imx25-regs.h> @@ -312,7 +313,7 @@ void __bare_init __noreturn imx21_barebox_boot_nand_external(void) imx_barebox_boot_nand_external(nfc_base); jump_sdram(nfc_base - (unsigned long)_text); imx_nand_load_image((void *)_text, barebox_image_size); - board_init_lowlevel_return(); + imx21_barebox_entry(0); } #endif @@ -324,7 +325,7 @@ void __bare_init __noreturn imx25_barebox_boot_nand_external(void) imx_barebox_boot_nand_external(nfc_base); jump_sdram(nfc_base - (unsigned long)_text); imx_nand_load_image((void *)_text, barebox_image_size); - board_init_lowlevel_return(); + imx25_barebox_entry(0); } #endif @@ -336,7 +337,7 @@ void __bare_init __noreturn imx27_barebox_boot_nand_external(void) imx_barebox_boot_nand_external(nfc_base); jump_sdram(nfc_base - (unsigned long)_text); imx_nand_load_image((void *)_text, barebox_image_size); - board_init_lowlevel_return(); + imx27_barebox_entry(0); } #endif @@ -348,7 +349,7 @@ void __bare_init __noreturn imx31_barebox_boot_nand_external(void) imx_barebox_boot_nand_external(nfc_base); jump_sdram(nfc_base - (unsigned long)_text); imx_nand_load_image((void *)_text, barebox_image_size); - board_init_lowlevel_return(); + imx31_barebox_entry(0); } #endif @@ -360,7 +361,7 @@ void __bare_init __noreturn imx35_barebox_boot_nand_external(void) imx_barebox_boot_nand_external(nfc_base); jump_sdram(nfc_base - (unsigned long)_text); imx_nand_load_image((void *)_text, barebox_image_size); - board_init_lowlevel_return(); + imx35_barebox_entry(0); } #endif |