summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-imx
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2012-10-14 22:13:55 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2013-02-04 15:52:39 +0100
commitf2a8e3589857da84a9cc91267e86d6f9b542a72d (patch)
treec8608263fb648ed97648d3f7a8b00c08f6ca80a9 /arch/arm/mach-imx
parentcf4271ee12f8ce61598a327a72026226441dca72 (diff)
downloadbarebox-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/Kconfig17
-rw-r--r--arch/arm/mach-imx/Makefile5
-rw-r--r--arch/arm/mach-imx/external-nand-boot.c11
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