diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2019-10-17 08:10:23 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2019-10-17 08:10:23 +0200 |
commit | 0ccd23cd6464df9beda649d8bed9785e7cd1aa93 (patch) | |
tree | 2690097f65d75857bc81753134be2ea320115f51 /arch/arm | |
parent | 41be2a023dc9b8e4a790ca129b72cfa9e58be865 (diff) | |
parent | 6c4ae8c5d30efd56cacaa8bd2e0dd6623e0b06c1 (diff) | |
download | barebox-0ccd23cd6464df9beda649d8bed9785e7cd1aa93.tar.gz barebox-0ccd23cd6464df9beda649d8bed9785e7cd1aa93.tar.xz |
Merge branch 'for-next/mxs'
Diffstat (limited to 'arch/arm')
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" |