summaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2019-10-17 08:10:23 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2019-10-17 08:10:23 +0200
commit0ccd23cd6464df9beda649d8bed9785e7cd1aa93 (patch)
tree2690097f65d75857bc81753134be2ea320115f51 /arch/arm
parent41be2a023dc9b8e4a790ca129b72cfa9e58be865 (diff)
parent6c4ae8c5d30efd56cacaa8bd2e0dd6623e0b06c1 (diff)
downloadbarebox-0ccd23cd6464df9beda649d8bed9785e7cd1aa93.tar.gz
barebox-0ccd23cd6464df9beda649d8bed9785e7cd1aa93.tar.xz
Merge branch 'for-next/mxs'
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/Kconfig1
-rw-r--r--arch/arm/boards/chumby_falconwing/falconwing.c7
-rw-r--r--arch/arm/boards/chumby_falconwing/lowlevel.c5
-rw-r--r--arch/arm/boards/crystalfontz-cfa10036/cfa10036.c7
-rw-r--r--arch/arm/boards/crystalfontz-cfa10036/lowlevel.c5
-rw-r--r--arch/arm/boards/duckbill/board.c6
-rw-r--r--arch/arm/boards/freescale-mx23-evk/lowlevel.c5
-rw-r--r--arch/arm/boards/freescale-mx23-evk/mx23-evk.c7
-rw-r--r--arch/arm/boards/freescale-mx28-evk/board.c3
-rw-r--r--arch/arm/boards/imx233-olinuxino/imx23-olinuxino.c8
-rw-r--r--arch/arm/boards/imx233-olinuxino/lowlevel.c3
-rw-r--r--arch/arm/boards/karo-tx28/lowlevel.c3
-rw-r--r--arch/arm/boards/karo-tx28/tx28-stk5.c7
-rw-r--r--arch/arm/boards/karo-tx28/tx28.c4
-rw-r--r--arch/arm/configs/cfa10036_defconfig38
-rw-r--r--arch/arm/configs/chumbyone_defconfig46
-rw-r--r--arch/arm/configs/freescale-mx23-evk_defconfig28
-rw-r--r--arch/arm/configs/freescale-mx28-evk_defconfig89
-rw-r--r--arch/arm/configs/imx23_defconfig (renamed from arch/arm/configs/imx233-olinuxino_defconfig)54
-rw-r--r--arch/arm/configs/imx28_defconfig (renamed from arch/arm/configs/duckbill_defconfig)20
-rw-r--r--arch/arm/configs/tx28stk5_defconfig94
-rw-r--r--arch/arm/cpu/start.c14
-rw-r--r--arch/arm/mach-mxs/Kconfig14
23 files changed, 126 insertions, 342 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 1445f6123a..652ac24ce3 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -129,6 +129,7 @@ config ARCH_MXS
select COMMON_CLK
select CLKDEV_LOOKUP
select HAS_DEBUG_LL
+ select HAVE_PBL_MULTI_IMAGES
config ARCH_NOMADIK
bool "STMicroelectronics Nomadik"
diff --git a/arch/arm/boards/chumby_falconwing/falconwing.c b/arch/arm/boards/chumby_falconwing/falconwing.c
index fb4a5d1cf0..ea64fd6f47 100644
--- a/arch/arm/boards/chumby_falconwing/falconwing.c
+++ b/arch/arm/boards/chumby_falconwing/falconwing.c
@@ -22,6 +22,7 @@
#include <linux/sizes.h>
#include <usb/ehci.h>
#include <asm/armlinux.h>
+#include <asm/barebox-arm.h>
#include <io.h>
#include <asm/mmu.h>
#include <generated/mach-types.h>
@@ -278,6 +279,9 @@ static int falconwing_devices_init(void)
{
int i;
+ if (barebox_arm_machine() != MACH_TYPE_CHUMBY)
+ return 0;
+
/* initizalize gpios */
for (i = 0; i < ARRAY_SIZE(pad_setup); i++)
imx_gpio_mode(pad_setup[i]);
@@ -300,6 +304,9 @@ device_initcall(falconwing_devices_init);
static int falconwing_console_init(void)
{
+ if (barebox_arm_machine() != MACH_TYPE_CHUMBY)
+ return 0;
+
barebox_set_model("Chumby Falconwing");
barebox_set_hostname("falconwing");
diff --git a/arch/arm/boards/chumby_falconwing/lowlevel.c b/arch/arm/boards/chumby_falconwing/lowlevel.c
index 50bacc620f..0277b5d083 100644
--- a/arch/arm/boards/chumby_falconwing/lowlevel.c
+++ b/arch/arm/boards/chumby_falconwing/lowlevel.c
@@ -3,9 +3,10 @@
#include <asm/barebox-arm-head.h>
#include <asm/barebox-arm.h>
#include <mach/imx23-regs.h>
+#include <generated/mach-types.h>
-void __naked barebox_arm_reset_vector(uint32_t r0, uint32_t r1, uint32_t r2)
+ENTRY_FUNCTION(start_chumby_falconwing, r0, r1, r2)
{
arm_cpu_lowlevel_init();
- barebox_arm_entry(IMX_MEMORY_BASE, SZ_64M, NULL);
+ barebox_arm_entry(IMX_MEMORY_BASE, SZ_64M, (void *)MACH_TYPE_CHUMBY);
}
diff --git a/arch/arm/boards/crystalfontz-cfa10036/cfa10036.c b/arch/arm/boards/crystalfontz-cfa10036/cfa10036.c
index dcf560432d..29b91e775f 100644
--- a/arch/arm/boards/crystalfontz-cfa10036/cfa10036.c
+++ b/arch/arm/boards/crystalfontz-cfa10036/cfa10036.c
@@ -37,6 +37,7 @@
#include <asm/armlinux.h>
#include <asm/mmu.h>
+#include <asm/barebox-arm.h>
#include <mach/fb.h>
@@ -93,6 +94,9 @@ static int cfa10036_devices_init(void)
{
int i;
+ if (barebox_arm_machine() != MACH_TYPE_CFA10036)
+ return 0;
+
/* initizalize muxing */
for (i = 0; i < ARRAY_SIZE(cfa10036_pads); i++)
imx_gpio_mode(cfa10036_pads[i]);
@@ -115,6 +119,9 @@ device_initcall(cfa10036_devices_init);
static int cfa10036_console_init(void)
{
+ if (barebox_arm_machine() != MACH_TYPE_CFA10036)
+ return 0;
+
barebox_set_model("crystalfontz-cfa10036");
barebox_set_hostname("cfa10036");
diff --git a/arch/arm/boards/crystalfontz-cfa10036/lowlevel.c b/arch/arm/boards/crystalfontz-cfa10036/lowlevel.c
index 50dbcdc150..1bc5947682 100644
--- a/arch/arm/boards/crystalfontz-cfa10036/lowlevel.c
+++ b/arch/arm/boards/crystalfontz-cfa10036/lowlevel.c
@@ -3,9 +3,10 @@
#include <asm/barebox-arm-head.h>
#include <asm/barebox-arm.h>
#include <mach/imx28-regs.h>
+#include <generated/mach-types.h>
-void __naked barebox_arm_reset_vector(uint32_t r0, uint32_t r1, uint32_t r2d)
+ENTRY_FUNCTION(start_cfa10036, r0, r1, r2)
{
arm_cpu_lowlevel_init();
- barebox_arm_entry(IMX_MEMORY_BASE, SZ_128M, NULL);
+ barebox_arm_entry(IMX_MEMORY_BASE, SZ_128M, (void *)MACH_TYPE_CFA10036);
}
diff --git a/arch/arm/boards/duckbill/board.c b/arch/arm/boards/duckbill/board.c
index 3c6ab8e596..13d4ae43cf 100644
--- a/arch/arm/boards/duckbill/board.c
+++ b/arch/arm/boards/duckbill/board.c
@@ -62,6 +62,9 @@ static struct fsl_usb2_platform_data usb_pdata = {
static int duckbill_devices_init(void)
{
+ if (!of_machine_is_compatible("i2se,duckbill"))
+ return 0;
+
duckbill_get_ethaddr(); /* must be after registering ocotp */
imx28_usb_phy0_enable();
@@ -74,6 +77,9 @@ fs_initcall(duckbill_devices_init);
static int duckbill_console_init(void)
{
+ if (!of_machine_is_compatible("i2se,duckbill"))
+ return 0;
+
barebox_set_model("I2SE Duckbill");
barebox_set_hostname("duckbill");
diff --git a/arch/arm/boards/freescale-mx23-evk/lowlevel.c b/arch/arm/boards/freescale-mx23-evk/lowlevel.c
index 13c7435cd6..99e08d88c7 100644
--- a/arch/arm/boards/freescale-mx23-evk/lowlevel.c
+++ b/arch/arm/boards/freescale-mx23-evk/lowlevel.c
@@ -1,11 +1,12 @@
#include <common.h>
#include <linux/sizes.h>
+#include <generated/mach-types.h>
#include <asm/barebox-arm-head.h>
#include <asm/barebox-arm.h>
#include <mach/imx23-regs.h>
-void __naked barebox_arm_reset_vector(uint32_t r0, uint32_t r1, uint32_t r2)
+ENTRY_FUNCTION(start_imx23_evk, r0, r1, r2)
{
arm_cpu_lowlevel_init();
- barebox_arm_entry(IMX_MEMORY_BASE, SZ_32M, NULL);
+ barebox_arm_entry(IMX_MEMORY_BASE, SZ_32M, (void *)MACH_TYPE_MX23EVK);
}
diff --git a/arch/arm/boards/freescale-mx23-evk/mx23-evk.c b/arch/arm/boards/freescale-mx23-evk/mx23-evk.c
index a3587db063..75a7d5a6b4 100644
--- a/arch/arm/boards/freescale-mx23-evk/mx23-evk.c
+++ b/arch/arm/boards/freescale-mx23-evk/mx23-evk.c
@@ -22,6 +22,7 @@
#include <linux/err.h>
#include <asm/armlinux.h>
#include <generated/mach-types.h>
+#include <asm/barebox-arm.h>
#include <mach/imx-regs.h>
#include <mach/clock.h>
#include <mach/mci.h>
@@ -99,6 +100,9 @@ static int mx23_evk_devices_init(void)
{
int i, rc;
+ if (barebox_arm_machine() != MACH_TYPE_MX23EVK)
+ return 0;
+
/* initizalize gpios */
for (i = 0; i < ARRAY_SIZE(pad_setup); i++)
imx_gpio_mode(pad_setup[i]);
@@ -126,6 +130,9 @@ device_initcall(mx23_evk_devices_init);
static int mx23_evk_console_init(void)
{
+ if (barebox_arm_machine() != MACH_TYPE_MX23EVK)
+ return 0;
+
barebox_set_model("Freescale i.MX23 EVK");
barebox_set_hostname("mx23evk");
diff --git a/arch/arm/boards/freescale-mx28-evk/board.c b/arch/arm/boards/freescale-mx28-evk/board.c
index 4590ceaa35..92097a2bca 100644
--- a/arch/arm/boards/freescale-mx28-evk/board.c
+++ b/arch/arm/boards/freescale-mx28-evk/board.c
@@ -34,6 +34,9 @@ static void mx28_evk_get_ethaddr(void)
static int mx28_evk_devices_init(void)
{
+ if (!of_machine_is_compatible("fsl,imx28-evk"))
+ return 0;
+
mx28_evk_get_ethaddr(); /* must be after registering ocotp */
return 0;
diff --git a/arch/arm/boards/imx233-olinuxino/imx23-olinuxino.c b/arch/arm/boards/imx233-olinuxino/imx23-olinuxino.c
index c06779ddf6..af548b3c53 100644
--- a/arch/arm/boards/imx233-olinuxino/imx23-olinuxino.c
+++ b/arch/arm/boards/imx233-olinuxino/imx23-olinuxino.c
@@ -26,6 +26,7 @@
#include <errno.h>
#include <mci.h>
#include <asm/armlinux.h>
+#include <asm/barebox-arm.h>
#include <usb/ehci.h>
#include <mach/usb.h>
#include <generated/mach-types.h>
@@ -33,6 +34,7 @@
#include <mach/clock.h>
#include <mach/mci.h>
#include <mach/iomux.h>
+#include <generated/mach-types.h>
static struct mxs_mci_platform_data mci_pdata = {
.caps = MMC_CAP_4_BIT_DATA | MMC_CAP_SD_HIGHSPEED | MMC_CAP_MMC_HIGHSPEED,
@@ -56,6 +58,9 @@ static struct gpio_led led1 = {
static int imx23_olinuxino_devices_init(void)
{
+ if (barebox_arm_machine() != MACH_TYPE_IMX233_OLINUXINO)
+ return 0;
+
armlinux_set_architecture(MACH_TYPE_IMX233_OLINUXINO);
defaultenv_append_directory(defaultenv_imx233_olinuxino);
@@ -76,6 +81,9 @@ device_initcall(imx23_olinuxino_devices_init);
static int imx23_olinuxino_console_init(void)
{
+ if (barebox_arm_machine() != MACH_TYPE_IMX233_OLINUXINO)
+ return 0;
+
barebox_set_model("Olimex.ltd imx233-olinuxino");
barebox_set_hostname("imx233-olinuxino");
diff --git a/arch/arm/boards/imx233-olinuxino/lowlevel.c b/arch/arm/boards/imx233-olinuxino/lowlevel.c
index 07a2a0e293..253cf1257b 100644
--- a/arch/arm/boards/imx233-olinuxino/lowlevel.c
+++ b/arch/arm/boards/imx233-olinuxino/lowlevel.c
@@ -7,10 +7,11 @@
#include <io.h>
#include <debug_ll.h>
#include <mach/iomux.h>
+#include <generated/mach-types.h>
ENTRY_FUNCTION(start_barebox_olinuxino_imx23, r0, r1, r2)
{
- barebox_arm_entry(IMX_MEMORY_BASE, SZ_64M, NULL);
+ barebox_arm_entry(IMX_MEMORY_BASE, SZ_64M, (void *)MACH_TYPE_IMX233_OLINUXINO);
}
static const uint32_t pad_setup[] = {
diff --git a/arch/arm/boards/karo-tx28/lowlevel.c b/arch/arm/boards/karo-tx28/lowlevel.c
index 1a93be747d..84cc681816 100644
--- a/arch/arm/boards/karo-tx28/lowlevel.c
+++ b/arch/arm/boards/karo-tx28/lowlevel.c
@@ -11,10 +11,11 @@
#include <debug_ll.h>
#include <mach/iomux.h>
#include <stmp-device.h>
+#include <generated/mach-types.h>
ENTRY_FUNCTION(start_barebox_karo_tx28, r0, r1, r2)
{
- barebox_arm_entry(IMX_MEMORY_BASE, SZ_128M, NULL);
+ barebox_arm_entry(IMX_MEMORY_BASE, SZ_128M, (void *)MACH_TYPE_TX28);
}
static const uint32_t iomux_pads[] = {
diff --git a/arch/arm/boards/karo-tx28/tx28-stk5.c b/arch/arm/boards/karo-tx28/tx28-stk5.c
index ec0826297b..8628db2b25 100644
--- a/arch/arm/boards/karo-tx28/tx28-stk5.c
+++ b/arch/arm/boards/karo-tx28/tx28-stk5.c
@@ -23,6 +23,7 @@
#include <io.h>
#include <net.h>
#include <asm/sections.h>
+#include <asm/barebox-arm.h>
#include <linux/err.h>
#include <mach/imx-regs.h>
#include <mach/clock.h>
@@ -30,6 +31,7 @@
#include <mach/fb.h>
#include <mach/ocotp.h>
#include <mach/iomux.h>
+#include <generated/mach-types.h>
static struct mxs_mci_platform_data mci_pdata = {
.caps = MMC_CAP_4_BIT_DATA,
@@ -347,7 +349,7 @@ static int register_persistent_environment(void)
return 0;
}
-void tx28_get_ethaddr(void)
+static void tx28_get_ethaddr(void)
{
u32 buf[2]; /* to make use of cpu_to_be32 */
u32 ethaddr[2];
@@ -395,6 +397,9 @@ void base_board_init(void)
static int tx28kit_console_init(void)
{
+ if (barebox_arm_machine() != MACH_TYPE_TX28)
+ return 0;
+
barebox_set_model("Ka-Ro TX28");
barebox_set_hostname("tx28");
diff --git a/arch/arm/boards/karo-tx28/tx28.c b/arch/arm/boards/karo-tx28/tx28.c
index 47cac21307..d99083b190 100644
--- a/arch/arm/boards/karo-tx28/tx28.c
+++ b/arch/arm/boards/karo-tx28/tx28.c
@@ -18,6 +18,7 @@
#include <environment.h>
#include <errno.h>
#include <asm/armlinux.h>
+#include <asm/barebox-arm.h>
#include <io.h>
#include <generated/mach-types.h>
#include <mach/imx-regs.h>
@@ -77,6 +78,9 @@ static int tx28_devices_init(void)
{
int i;
+ if (barebox_arm_machine() != MACH_TYPE_TX28)
+ return 0;
+
/* initizalize gpios */
for (i = 0; i < ARRAY_SIZE(tx28_pad_setup); i++)
imx_gpio_mode(tx28_pad_setup[i]);
diff --git a/arch/arm/configs/cfa10036_defconfig b/arch/arm/configs/cfa10036_defconfig
deleted file mode 100644
index 5a4e2ab45d..0000000000
--- a/arch/arm/configs/cfa10036_defconfig
+++ /dev/null
@@ -1,38 +0,0 @@
-CONFIG_TEXT_BASE=0x43000000
-CONFIG_ARCH_MXS=y
-CONFIG_ARCH_IMX28=y
-CONFIG_MACH_CFA10036=y
-CONFIG_AEABI=y
-CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
-CONFIG_MMU=y
-CONFIG_MALLOC_SIZE=0x800000
-CONFIG_HUSH_FANCY_PROMPT=y
-CONFIG_CMDLINE_EDITING=y
-CONFIG_AUTO_COMPLETE=y
-CONFIG_BOOTM_SHOW_TYPE=y
-CONFIG_BOOTM_OFTREE=y
-CONFIG_CONSOLE_ACTIVATE_ALL=y
-CONFIG_DEFAULT_ENVIRONMENT_GENERIC_NEW=y
-CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/crystalfontz-cfa10036/env"
-CONFIG_LONGHELP=y
-CONFIG_CMD_GO=y
-CONFIG_CMD_RESET=y
-CONFIG_CMD_PARTITION=y
-CONFIG_CMD_EXPORT=y
-CONFIG_CMD_PRINTENV=y
-CONFIG_CMD_SAVEENV=y
-CONFIG_CMD_SLEEP=y
-CONFIG_CMD_ECHO_E=y
-CONFIG_CMD_EDIT=y
-CONFIG_CMD_READLINE=y
-CONFIG_CMD_TIMEOUT=y
-CONFIG_CMD_GPIO=y
-CONFIG_CMD_OFTREE=y
-# CONFIG_SPI is not set
-CONFIG_I2C=y
-CONFIG_MCI=y
-CONFIG_MCI_STARTUP=y
-CONFIG_MCI_MXS=y
-CONFIG_FS_EXT4=y
-CONFIG_FS_FAT=y
-CONFIG_FS_FAT_LFN=y
diff --git a/arch/arm/configs/chumbyone_defconfig b/arch/arm/configs/chumbyone_defconfig
deleted file mode 100644
index 2b38b8cf88..0000000000
--- a/arch/arm/configs/chumbyone_defconfig
+++ /dev/null
@@ -1,46 +0,0 @@
-CONFIG_ARCH_MXS=y
-CONFIG_MACH_CHUMBY=y
-CONFIG_AEABI=y
-CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
-CONFIG_MMU=y
-CONFIG_MALLOC_SIZE=0x1000000
-CONFIG_PROMPT="chumby:"
-CONFIG_GLOB=y
-CONFIG_HUSH_FANCY_PROMPT=y
-CONFIG_CMDLINE_EDITING=y
-CONFIG_AUTO_COMPLETE=y
-CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/chumby_falconwing/env"
-CONFIG_LONGHELP=y
-CONFIG_CMD_MEMINFO=y
-CONFIG_CMD_GO=y
-CONFIG_CMD_RESET=y
-CONFIG_CMD_PARTITION=y
-CONFIG_CMD_EXPORT=y
-CONFIG_CMD_LOADENV=y
-CONFIG_CMD_PRINTENV=y
-CONFIG_CMD_SAVEENV=y
-CONFIG_CMD_GETOPT=y
-CONFIG_CMD_SLEEP=y
-CONFIG_CMD_DHCP=y
-CONFIG_CMD_PING=y
-CONFIG_CMD_TFTP=y
-CONFIG_CMD_ECHO_E=y
-CONFIG_CMD_EDIT=y
-CONFIG_CMD_SPLASH=y
-CONFIG_CMD_READLINE=y
-CONFIG_CMD_TIMEOUT=y
-CONFIG_CMD_GPIO=y
-CONFIG_NET=y
-CONFIG_NET_NFS=y
-CONFIG_NET_NETCONSOLE=y
-CONFIG_NET_RESOLV=y
-CONFIG_NET_USB=y
-CONFIG_NET_USB_ASIX=y
-# CONFIG_SPI is not set
-CONFIG_USB_HOST=y
-CONFIG_USB_EHCI=y
-CONFIG_VIDEO=y
-CONFIG_DRIVER_VIDEO_STM=y
-CONFIG_MCI=y
-CONFIG_MCI_STARTUP=y
-CONFIG_FS_TFTP=y
diff --git a/arch/arm/configs/freescale-mx23-evk_defconfig b/arch/arm/configs/freescale-mx23-evk_defconfig
deleted file mode 100644
index 2b12e297b3..0000000000
--- a/arch/arm/configs/freescale-mx23-evk_defconfig
+++ /dev/null
@@ -1,28 +0,0 @@
-CONFIG_ARCH_MXS=y
-CONFIG_AEABI=y
-CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
-CONFIG_CMDLINE_EDITING=y
-CONFIG_AUTO_COMPLETE=y
-CONFIG_DEFAULT_ENVIRONMENT_GENERIC_NEW=y
-CONFIG_RESET_SOURCE=y
-CONFIG_LONGHELP=y
-CONFIG_CMD_RESET=y
-CONFIG_CMD_PARTITION=y
-CONFIG_CMD_EXPORT=y
-CONFIG_CMD_PRINTENV=y
-CONFIG_CMD_SAVEENV=y
-CONFIG_CMD_SLEEP=y
-CONFIG_CMD_ECHO_E=y
-CONFIG_CMD_EDIT=y
-CONFIG_CMD_READLINE=y
-CONFIG_CMD_TIMEOUT=y
-# CONFIG_SPI is not set
-CONFIG_USB_GADGET=y
-CONFIG_USB_GADGET_DFU=y
-CONFIG_MCI=y
-CONFIG_MCI_STARTUP=y
-CONFIG_MCI_MXS=y
-CONFIG_FS_EXT4=y
-CONFIG_FS_FAT=y
-CONFIG_FS_FAT_WRITE=y
-CONFIG_FS_FAT_LFN=y
diff --git a/arch/arm/configs/freescale-mx28-evk_defconfig b/arch/arm/configs/freescale-mx28-evk_defconfig
deleted file mode 100644
index 29db99cee6..0000000000
--- a/arch/arm/configs/freescale-mx28-evk_defconfig
+++ /dev/null
@@ -1,89 +0,0 @@
-CONFIG_ARCH_MXS=y
-CONFIG_ARCH_IMX28=y
-CONFIG_MACH_MX28EVK=y
-CONFIG_AEABI=y
-CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
-CONFIG_ARM_UNWIND=y
-CONFIG_MMU=y
-CONFIG_MALLOC_SIZE=0x0
-CONFIG_MALLOC_TLSF=y
-CONFIG_KALLSYMS=y
-CONFIG_RELOCATABLE=y
-CONFIG_HUSH_FANCY_PROMPT=y
-CONFIG_CMDLINE_EDITING=y
-CONFIG_AUTO_COMPLETE=y
-CONFIG_MENU=y
-CONFIG_BOOTM_SHOW_TYPE=y
-CONFIG_BOOTM_VERBOSE=y
-CONFIG_BOOTM_INITRD=y
-CONFIG_BLSPEC=y
-CONFIG_DEFAULT_ENVIRONMENT_GENERIC_NEW=y
-CONFIG_RESET_SOURCE=y
-CONFIG_CMD_DMESG=y
-CONFIG_LONGHELP=y
-CONFIG_CMD_IOMEM=y
-CONFIG_CMD_MEMINFO=y
-CONFIG_CMD_GO=y
-CONFIG_CMD_RESET=y
-CONFIG_CMD_UIMAGE=y
-CONFIG_CMD_PARTITION=y
-CONFIG_CMD_EXPORT=y
-CONFIG_CMD_LOADENV=y
-CONFIG_CMD_PRINTENV=y
-CONFIG_CMD_MAGICVAR=y
-CONFIG_CMD_MAGICVAR_HELP=y
-CONFIG_CMD_SAVEENV=y
-CONFIG_CMD_CMP=y
-CONFIG_CMD_FILETYPE=y
-CONFIG_CMD_LN=y
-CONFIG_CMD_MD5SUM=y
-CONFIG_CMD_UNCOMPRESS=y
-CONFIG_CMD_LET=y
-CONFIG_CMD_MSLEEP=y
-CONFIG_CMD_READF=y
-CONFIG_CMD_SLEEP=y
-CONFIG_CMD_DHCP=y
-CONFIG_CMD_MIITOOL=y
-CONFIG_CMD_PING=y
-CONFIG_CMD_TFTP=y
-CONFIG_CMD_ECHO_E=y
-CONFIG_CMD_EDIT=y
-CONFIG_CMD_MENUTREE=y
-CONFIG_CMD_SPLASH=y
-CONFIG_CMD_READLINE=y
-CONFIG_CMD_TIMEOUT=y
-CONFIG_CMD_CRC=y
-CONFIG_CMD_CRC_CMP=y
-CONFIG_CMD_MM=y
-CONFIG_CMD_CLK=y
-CONFIG_CMD_DETECT=y
-CONFIG_CMD_FLASH=y
-CONFIG_CMD_GPIO=y
-CONFIG_CMD_NANDTEST=y
-CONFIG_CMD_SPI=y
-CONFIG_CMD_OF_NODE=y
-CONFIG_CMD_OF_PROPERTY=y
-CONFIG_CMD_OFTREE=y
-CONFIG_NET=y
-CONFIG_OFDEVICE=y
-CONFIG_OF_BAREBOX_DRIVERS=y
-CONFIG_DRIVER_SERIAL_AUART=y
-CONFIG_DRIVER_NET_FEC_IMX=y
-CONFIG_DRIVER_SPI_MXS=y
-CONFIG_MTD=y
-CONFIG_MTD_M25P80=y
-CONFIG_MTD_SST25L=y
-CONFIG_NAND=y
-CONFIG_NAND_MXS=y
-CONFIG_VIDEO=y
-CONFIG_DRIVER_VIDEO_STM=y
-CONFIG_MCI=y
-CONFIG_MCI_STARTUP=y
-CONFIG_MCI_MXS=y
-CONFIG_MXS_APBH_DMA=y
-CONFIG_REGULATOR=y
-CONFIG_REGULATOR_FIXED=y
-CONFIG_FS_TFTP=y
-CONFIG_FS_FAT=y
-CONFIG_FS_FAT_WRITE=y
-CONFIG_FS_FAT_LFN=y
diff --git a/arch/arm/configs/imx233-olinuxino_defconfig b/arch/arm/configs/imx23_defconfig
index 15d15a0b9d..26c63814b9 100644
--- a/arch/arm/configs/imx233-olinuxino_defconfig
+++ b/arch/arm/configs/imx23_defconfig
@@ -1,11 +1,13 @@
CONFIG_ARCH_MXS=y
+CONFIG_MACH_MX23EVK=y
+CONFIG_MACH_CHUMBY=y
CONFIG_MACH_IMX233_OLINUXINO=y
CONFIG_MXS_OCOTP=y
CONFIG_AEABI=y
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
CONFIG_ARM_UNWIND=y
CONFIG_MMU=y
-CONFIG_MALLOC_SIZE=0x1000000
+CONFIG_MALLOC_SIZE=0x0
CONFIG_MALLOC_TLSF=y
CONFIG_KALLSYMS=y
CONFIG_RELOCATABLE=y
@@ -16,11 +18,8 @@ CONFIG_MENU=y
CONFIG_BOOTM_SHOW_TYPE=y
CONFIG_BOOTM_VERBOSE=y
CONFIG_BOOTM_INITRD=y
-CONFIG_BOOTM_OFTREE=y
-CONFIG_BOOTM_OFTREE_UIMAGE=y
CONFIG_BLSPEC=y
-CONFIG_CONSOLE_ACTIVATE_ALL=y
-CONFIG_DEFAULT_COMPRESSION_LZO=y
+CONFIG_CONSOLE_ALLOW_COLOR=y
CONFIG_DEFAULT_ENVIRONMENT_GENERIC_NEW=y
CONFIG_RESET_SOURCE=y
CONFIG_CMD_DMESG=y
@@ -31,9 +30,9 @@ CONFIG_CMD_MEMINFO=y
# CONFIG_CMD_BOOTU is not set
CONFIG_CMD_GO=y
CONFIG_CMD_RESET=y
+CONFIG_CMD_UIMAGE=y
CONFIG_CMD_PARTITION=y
CONFIG_CMD_EXPORT=y
-CONFIG_CMD_DEFAULTENV=y
CONFIG_CMD_LOADENV=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_MAGICVAR=y
@@ -44,7 +43,6 @@ CONFIG_CMD_FILETYPE=y
CONFIG_CMD_LN=y
CONFIG_CMD_MD5SUM=y
CONFIG_CMD_SHA1SUM=y
-CONFIG_CMD_SHA224SUM=y
CONFIG_CMD_SHA256SUM=y
CONFIG_CMD_UNCOMPRESS=y
CONFIG_CMD_LET=y
@@ -56,35 +54,42 @@ CONFIG_CMD_PING=y
CONFIG_CMD_TFTP=y
CONFIG_CMD_ECHO_E=y
CONFIG_CMD_EDIT=y
-CONFIG_CMD_MENU=y
-CONFIG_CMD_MENU_MANAGEMENT=y
CONFIG_CMD_MENUTREE=y
CONFIG_CMD_SPLASH=y
CONFIG_CMD_READLINE=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_CRC=y
CONFIG_CMD_CRC_CMP=y
-CONFIG_CMD_MEMTEST=y
+CONFIG_CMD_MM=y
CONFIG_CMD_CLK=y
CONFIG_CMD_DETECT=y
CONFIG_CMD_FLASH=y
CONFIG_CMD_GPIO=y
-CONFIG_CMD_2048=y
+CONFIG_CMD_LED=y
+CONFIG_CMD_NANDTEST=y
+CONFIG_CMD_SPI=y
+CONFIG_CMD_LED_TRIGGER=y
+CONFIG_CMD_USBGADGET=y
+CONFIG_CMD_BAREBOX_UPDATE=y
CONFIG_CMD_OF_NODE=y
CONFIG_CMD_OF_PROPERTY=y
-CONFIG_CMD_OF_DISPLAY_TIMINGS=y
CONFIG_CMD_OFTREE=y
CONFIG_CMD_TIME=y
CONFIG_NET=y
-CONFIG_NET_NFS=y
-CONFIG_NET_NETCONSOLE=y
+CONFIG_OFDEVICE=y
+CONFIG_OF_BAREBOX_DRIVERS=y
CONFIG_DRIVER_SERIAL_AUART=y
-CONFIG_NET_USB=y
-CONFIG_NET_USB_SMSC95XX=y
-# CONFIG_SPI is not set
-CONFIG_USB_HOST=y
-CONFIG_USB_EHCI=y
-CONFIG_USB_STORAGE=y
+CONFIG_I2C=y
+CONFIG_I2C_GPIO=y
+CONFIG_MTD=y
+CONFIG_NAND=y
+CONFIG_NAND_MXS=y
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_FASTMAP=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_GADGET_DFU=y
+CONFIG_USB_GADGET_SERIAL=y
+CONFIG_USB_GADGET_FASTBOOT=y
CONFIG_VIDEO=y
CONFIG_DRIVER_VIDEO_STM=y
CONFIG_MCI=y
@@ -92,14 +97,17 @@ CONFIG_MCI_STARTUP=y
CONFIG_MCI_MXS=y
CONFIG_LED=y
CONFIG_LED_GPIO=y
+CONFIG_LED_GPIO_OF=y
CONFIG_LED_TRIGGERS=y
-CONFIG_KEYBOARD_GPIO=y
+CONFIG_EEPROM_AT24=y
+CONFIG_WATCHDOG=y
CONFIG_MXS_APBH_DMA=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED=y
CONFIG_FS_EXT4=y
CONFIG_FS_TFTP=y
CONFIG_FS_NFS=y
CONFIG_FS_FAT=y
CONFIG_FS_FAT_WRITE=y
CONFIG_FS_FAT_LFN=y
-CONFIG_ZLIB=y
-CONFIG_LZO_DECOMPRESS=y
+CONFIG_FS_UBIFS=y
diff --git a/arch/arm/configs/duckbill_defconfig b/arch/arm/configs/imx28_defconfig
index c0a3c1753b..58cda937a8 100644
--- a/arch/arm/configs/duckbill_defconfig
+++ b/arch/arm/configs/imx28_defconfig
@@ -1,6 +1,9 @@
CONFIG_ARCH_MXS=y
CONFIG_ARCH_IMX28=y
+CONFIG_MACH_TX28=y
+CONFIG_MACH_MX28EVK=y
CONFIG_MACH_DUCKBILL=y
+CONFIG_MACH_CFA10036=y
CONFIG_AEABI=y
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
CONFIG_ARM_UNWIND=y
@@ -17,12 +20,15 @@ CONFIG_BOOTM_SHOW_TYPE=y
CONFIG_BOOTM_VERBOSE=y
CONFIG_BOOTM_INITRD=y
CONFIG_BLSPEC=y
+CONFIG_CONSOLE_ALLOW_COLOR=y
CONFIG_DEFAULT_ENVIRONMENT_GENERIC_NEW=y
CONFIG_RESET_SOURCE=y
CONFIG_CMD_DMESG=y
CONFIG_LONGHELP=y
CONFIG_CMD_IOMEM=y
+CONFIG_CMD_IMD=y
CONFIG_CMD_MEMINFO=y
+# CONFIG_CMD_BOOTU is not set
CONFIG_CMD_GO=y
CONFIG_CMD_RESET=y
CONFIG_CMD_UIMAGE=y
@@ -37,6 +43,8 @@ CONFIG_CMD_CMP=y
CONFIG_CMD_FILETYPE=y
CONFIG_CMD_LN=y
CONFIG_CMD_MD5SUM=y
+CONFIG_CMD_SHA1SUM=y
+CONFIG_CMD_SHA256SUM=y
CONFIG_CMD_UNCOMPRESS=y
CONFIG_CMD_LET=y
CONFIG_CMD_MSLEEP=y
@@ -64,18 +72,23 @@ CONFIG_CMD_NANDTEST=y
CONFIG_CMD_SPI=y
CONFIG_CMD_LED_TRIGGER=y
CONFIG_CMD_USBGADGET=y
+CONFIG_CMD_BAREBOX_UPDATE=y
CONFIG_CMD_OF_NODE=y
CONFIG_CMD_OF_PROPERTY=y
CONFIG_CMD_OFTREE=y
+CONFIG_CMD_TIME=y
CONFIG_NET=y
CONFIG_OFDEVICE=y
CONFIG_OF_BAREBOX_DRIVERS=y
CONFIG_DRIVER_SERIAL_AUART=y
CONFIG_DRIVER_NET_FEC_IMX=y
CONFIG_DRIVER_SPI_MXS=y
+CONFIG_I2C=y
CONFIG_MTD=y
CONFIG_NAND=y
CONFIG_NAND_MXS=y
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_FASTMAP=y
CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_DFU=y
CONFIG_USB_GADGET_SERIAL=y
@@ -89,8 +102,15 @@ CONFIG_LED=y
CONFIG_LED_GPIO=y
CONFIG_LED_GPIO_OF=y
CONFIG_LED_TRIGGERS=y
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_MXS28=y
CONFIG_MXS_APBH_DMA=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED=y
+CONFIG_FS_EXT4=y
CONFIG_FS_TFTP=y
+CONFIG_FS_NFS=y
CONFIG_FS_FAT=y
CONFIG_FS_FAT_WRITE=y
CONFIG_FS_FAT_LFN=y
+CONFIG_FS_UBIFS=y
diff --git a/arch/arm/configs/tx28stk5_defconfig b/arch/arm/configs/tx28stk5_defconfig
deleted file mode 100644
index c712975fd9..0000000000
--- a/arch/arm/configs/tx28stk5_defconfig
+++ /dev/null
@@ -1,94 +0,0 @@
-CONFIG_ARCH_MXS=y
-CONFIG_ARCH_IMX28=y
-CONFIG_AEABI=y
-CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
-CONFIG_ARM_UNWIND=y
-CONFIG_MMU=y
-CONFIG_MALLOC_SIZE=0x0
-CONFIG_MALLOC_TLSF=y
-CONFIG_KALLSYMS=y
-CONFIG_RELOCATABLE=y
-CONFIG_HUSH_FANCY_PROMPT=y
-CONFIG_CMDLINE_EDITING=y
-CONFIG_AUTO_COMPLETE=y
-CONFIG_MENU=y
-CONFIG_BOOTM_SHOW_TYPE=y
-CONFIG_BOOTM_VERBOSE=y
-CONFIG_BOOTM_INITRD=y
-CONFIG_BOOTM_OFTREE=y
-CONFIG_BOOTM_OFTREE_UIMAGE=y
-CONFIG_BLSPEC=y
-CONFIG_IMD=y
-CONFIG_PBL_CONSOLE=y
-CONFIG_DEFAULT_COMPRESSION_LZO=y
-CONFIG_DEFAULT_ENVIRONMENT_GENERIC_NEW=y
-CONFIG_RESET_SOURCE=y
-CONFIG_DEBUG_LL=y
-CONFIG_CMD_DMESG=y
-CONFIG_LONGHELP=y
-CONFIG_CMD_IOMEM=y
-CONFIG_CMD_MEMINFO=y
-CONFIG_CMD_GO=y
-CONFIG_CMD_RESET=y
-CONFIG_CMD_UIMAGE=y
-CONFIG_CMD_PARTITION=y
-CONFIG_CMD_EXPORT=y
-CONFIG_CMD_DEFAULTENV=y
-CONFIG_CMD_LOADENV=y
-CONFIG_CMD_PRINTENV=y
-CONFIG_CMD_MAGICVAR=y
-CONFIG_CMD_MAGICVAR_HELP=y
-CONFIG_CMD_SAVEENV=y
-CONFIG_CMD_CMP=y
-CONFIG_CMD_FILETYPE=y
-CONFIG_CMD_LN=y
-CONFIG_CMD_MD5SUM=y
-CONFIG_CMD_SHA1SUM=y
-CONFIG_CMD_SHA224SUM=y
-CONFIG_CMD_SHA256SUM=y
-CONFIG_CMD_UNCOMPRESS=y
-CONFIG_CMD_LET=y
-CONFIG_CMD_MSLEEP=y
-CONFIG_CMD_READF=y
-CONFIG_CMD_SLEEP=y
-CONFIG_CMD_DHCP=y
-CONFIG_CMD_MIITOOL=y
-CONFIG_CMD_PING=y
-CONFIG_CMD_TFTP=y
-CONFIG_CMD_ECHO_E=y
-CONFIG_CMD_EDIT=y
-CONFIG_CMD_MENUTREE=y
-CONFIG_CMD_SPLASH=y
-CONFIG_CMD_READLINE=y
-CONFIG_CMD_TIMEOUT=y
-CONFIG_CMD_CRC=y
-CONFIG_CMD_CRC_CMP=y
-CONFIG_CMD_CLK=y
-CONFIG_CMD_DETECT=y
-CONFIG_CMD_FLASH=y
-CONFIG_CMD_GPIO=y
-CONFIG_CMD_2048=y
-CONFIG_CMD_OF_NODE=y
-CONFIG_CMD_OF_PROPERTY=y
-CONFIG_CMD_OF_DISPLAY_TIMINGS=y
-CONFIG_CMD_OFTREE=y
-CONFIG_CMD_TIME=y
-CONFIG_NET=y
-CONFIG_DRIVER_SERIAL_AUART=y
-CONFIG_DRIVER_NET_FEC_IMX=y
-# CONFIG_SPI is not set
-CONFIG_MTD=y
-CONFIG_VIDEO=y
-CONFIG_DRIVER_VIDEO_STM=y
-CONFIG_MCI=y
-CONFIG_MCI_STARTUP=y
-CONFIG_MCI_MXS=y
-CONFIG_MXS_APBH_DMA=y
-CONFIG_FS_EXT4=y
-CONFIG_FS_TFTP=y
-CONFIG_FS_NFS=y
-CONFIG_FS_FAT=y
-CONFIG_FS_FAT_WRITE=y
-CONFIG_FS_FAT_LFN=y
-CONFIG_ZLIB=y
-CONFIG_LZO_DECOMPRESS=y
diff --git a/arch/arm/cpu/start.c b/arch/arm/cpu/start.c
index c97b2770c4..44d974e40e 100644
--- a/arch/arm/cpu/start.c
+++ b/arch/arm/cpu/start.c
@@ -193,7 +193,19 @@ __noreturn void barebox_non_pbl_start(unsigned long membase,
uint32_t totalsize = 0;
const char *name;
- if (blob_is_fdt(boarddata)) {
+ if ((unsigned long)boarddata < 8192) {
+ struct barebox_arm_boarddata *bd;
+ uint32_t machine_type = (unsigned long)boarddata;
+ unsigned long mem = arm_mem_boarddata(membase, endmem,
+ sizeof(*bd));
+ pr_debug("found machine type %d in boarddata\n",
+ machine_type);
+ bd = barebox_boarddata = (void *)mem;
+ barebox_boarddata_size = sizeof(*bd);
+ bd->magic = BAREBOX_ARM_BOARDDATA_MAGIC;
+ bd->machine = machine_type;
+ malloc_end = mem;
+ } else if (blob_is_fdt(boarddata)) {
totalsize = get_unaligned_be32(boarddata + 4);
name = "DTB";
} else if (blob_is_compressed_fdt(boarddata)) {
diff --git a/arch/arm/mach-mxs/Kconfig b/arch/arm/mach-mxs/Kconfig
index fed7b524de..b3a7c6259c 100644
--- a/arch/arm/mach-mxs/Kconfig
+++ b/arch/arm/mach-mxs/Kconfig
@@ -29,9 +29,6 @@ endchoice
if ARCH_IMX23
-choice
- prompt "i.MX23 Board Type"
-
config MACH_MX23EVK
bool "mx23-evk"
help
@@ -45,36 +42,27 @@ config MACH_CHUMBY
config MACH_IMX233_OLINUXINO
bool "Olimex.ltd imx223-olinuxino"
- select HAVE_PBL_MULTI_IMAGES
help
Say Y here if you are using the imx233-olinuxino
-endchoice
-
endif
if ARCH_IMX28
-choice
- prompt "i.MX28 Board Type"
-
config MACH_TX28
bool "KARO tx28"
- select HAVE_PBL_MULTI_IMAGES
help
Say Y here if you are using the KARO TX28 CPU module.
config MACH_MX28EVK
bool "mx28-evk"
select MXS_OCOTP
- select HAVE_PBL_MULTI_IMAGES
help
Say Y here if you are using the Freescale i.MX28-EVK board
config MACH_DUCKBILL
bool "Duckbill"
select MXS_OCOTP
- select HAVE_PBL_MULTI_IMAGES
help
Say Y here if you are using the I2SE Duckbill board
@@ -86,8 +74,6 @@ config MACH_CFA10036
help
Say Y here if you are using the Crystalfontz CFA-10036 module
-endchoice
-
endif
menu "i.MX specific settings"