summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore5
-rw-r--r--Documentation/board.dox (renamed from board/board.dox)2
-rw-r--r--Documentation/manual_org.dox4
-rw-r--r--Makefile14
-rw-r--r--arch/arm/Kconfig1
-rw-r--r--arch/arm/Makefile7
-rw-r--r--arch/arm/boards/a9m2410/a9m2410.c6
-rw-r--r--arch/arm/boards/a9m2440/a9m2440.c6
-rw-r--r--arch/arm/boards/at91sam9260ek/init.c23
-rw-r--r--arch/arm/boards/at91sam9263ek/init.c3
-rw-r--r--arch/arm/boards/edb93xx/edb93xx.c9
-rw-r--r--arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c7
-rw-r--r--arch/arm/boards/eukrea_cpuimx27/eukrea_cpuimx27.c15
-rw-r--r--arch/arm/boards/eukrea_cpuimx35/eukrea_cpuimx35.c7
-rw-r--r--arch/arm/boards/freescale-mx25-3-stack/3stack.c9
-rw-r--r--arch/arm/boards/freescale-mx35-3-stack/3stack.c10
-rw-r--r--arch/arm/boards/guf-neso/board.c8
-rw-r--r--arch/arm/boards/guf-neso/lowlevel.c5
-rw-r--r--arch/arm/boards/imx21ads/imx21ads.c8
-rw-r--r--arch/arm/boards/imx27ads/imx27ads.c6
-rw-r--r--arch/arm/boards/mmccpu/init.c3
-rw-r--r--arch/arm/boards/netx/netx.c7
-rw-r--r--arch/arm/boards/nhk8815/setup.c4
-rw-r--r--arch/arm/boards/omap/board-beagle.c6
-rw-r--r--arch/arm/boards/omap/board-omap3evm.c2
-rw-r--r--arch/arm/boards/omap/board-sdp343x.c2
-rw-r--r--arch/arm/boards/omap/devices-gpmc-nand.c1
-rw-r--r--arch/arm/boards/pcm037/pcm037.c11
-rw-r--r--arch/arm/boards/pcm038/lowlevel.c5
-rw-r--r--arch/arm/boards/pcm038/pcm038.c11
-rw-r--r--arch/arm/boards/pcm043/lowlevel.c5
-rw-r--r--arch/arm/boards/pcm043/pcm043.c8
-rw-r--r--arch/arm/boards/phycard-i.MX27/pca100.c7
-rw-r--r--arch/arm/boards/pm9263/init.c3
-rw-r--r--arch/arm/boards/scb9328/scb9328.c8
-rw-r--r--arch/arm/common/Kconfig2
-rw-r--r--arch/arm/common/Makefile5
-rw-r--r--arch/arm/configs/a9m2410_defconfig203
-rw-r--r--arch/arm/configs/a9m2440_defconfig204
-rw-r--r--arch/arm/configs/at91sam9260ek_defconfig195
-rw-r--r--arch/arm/configs/at91sam9263ek_defconfig200
-rw-r--r--arch/arm/configs/at91sam9g20ek_defconfig39
-rw-r--r--arch/arm/configs/edb93xx_defconfig204
-rw-r--r--arch/arm/configs/eukrea_cpuimx25_defconfig210
-rw-r--r--arch/arm/configs/eukrea_cpuimx27_defconfig225
-rw-r--r--arch/arm/configs/eukrea_cpuimx35_defconfig215
-rw-r--r--arch/arm/configs/freescale_mx25_3stack_defconfig210
-rw-r--r--arch/arm/configs/freescale_mx35_3stack_defconfig210
-rw-r--r--arch/arm/configs/mmccpu_defconfig196
-rw-r--r--arch/arm/configs/mx21ads_defconfig210
-rw-r--r--arch/arm/configs/mx27ads_defconfig210
-rw-r--r--arch/arm/configs/neso_defconfig212
-rw-r--r--arch/arm/configs/netx_nxdb500_defconfig194
-rw-r--r--arch/arm/configs/nhk8815_defconfig208
-rw-r--r--arch/arm/configs/omap3430_sdp3430_per_uart_defconfig182
-rw-r--r--arch/arm/configs/omap3530_beagle_defconfig210
-rw-r--r--arch/arm/configs/omap3530_beagle_per_uart_defconfig183
-rw-r--r--arch/arm/configs/omap3_evm_defconfig186
-rw-r--r--arch/arm/configs/pca100_defconfig211
-rw-r--r--arch/arm/configs/pcm037_defconfig224
-rw-r--r--arch/arm/configs/pcm038_defconfig217
-rw-r--r--arch/arm/configs/pcm043_defconfig220
-rw-r--r--arch/arm/configs/pm9263_defconfig199
-rw-r--r--arch/arm/configs/scb9328_defconfig219
-rw-r--r--arch/arm/cpu/cache-armv4.S3
-rw-r--r--arch/arm/cpu/cache-armv5.S3
-rw-r--r--arch/arm/cpu/cache-armv6.S3
-rw-r--r--arch/arm/cpu/cache-armv7.S3
-rw-r--r--arch/arm/include/asm/.gitignore1
-rw-r--r--arch/arm/include/asm/clkdev.h15
-rw-r--r--arch/arm/include/asm/posix_types.h1
-rw-r--r--arch/arm/lib/armlinux.c18
-rw-r--r--arch/arm/mach-at91/Kconfig52
-rw-r--r--arch/arm/mach-at91/Makefile1
-rw-r--r--arch/arm/mach-at91/at91sam9260_devices.c10
-rw-r--r--arch/arm/mach-at91/at91sam9263_devices.c7
-rw-r--r--arch/arm/mach-at91/lowlevel_init.S3
-rw-r--r--arch/arm/mach-imx/Kconfig8
-rw-r--r--arch/arm/mach-imx/imx25.c1
-rw-r--r--arch/arm/mach-nomadik/8815.c9
-rw-r--r--arch/arm/mach-nomadik/Kconfig2
-rw-r--r--arch/arm/mach-nomadik/clock.c7
-rw-r--r--arch/arm/mach-s3c24xx/Kconfig2
-rw-r--r--arch/arm/tools/Makefile2
-rw-r--r--arch/arm/tools/gen-mach-types2
-rw-r--r--arch/blackfin/boards/ipe337/ipe337.c4
-rw-r--r--arch/blackfin/configs/ipe337_defconfig157
-rw-r--r--arch/blackfin/include/asm/posix_types.h1
-rw-r--r--arch/m68k/boards/kp_ukd_r1_num/kp_ukd_r1_num.c7
-rw-r--r--arch/m68k/boards/phycore_mcf54xx/phyCore_MCF54xx.c5
-rw-r--r--arch/m68k/configs/phycore_kpukdr1_5475num_defconfig162
-rw-r--r--arch/m68k/configs/phycore_mcf54xx_defconfig162
-rw-r--r--arch/m68k/include/asm/posix_types.h1
-rw-r--r--arch/ppc/boards/pcm030/pcm030.c5
-rw-r--r--arch/ppc/configs/pcm030_defconfig173
-rw-r--r--arch/ppc/include/asm/posix_types.h1
-rw-r--r--arch/sandbox/board/board.c1
-rw-r--r--arch/sandbox/configs/sandbox_defconfig137
-rw-r--r--arch/sandbox/include/asm/posix_types.h1
-rw-r--r--arch/x86/boards/x86_generic/generic_pc.c3
-rw-r--r--arch/x86/configs/generic_defconfig155
-rw-r--r--arch/x86/include/asm/posix_types.h1
-rw-r--r--commands/Kconfig29
-rw-r--r--commands/Makefile2
-rw-r--r--commands/login.c63
-rw-r--r--commands/mem.c1
-rw-r--r--commands/menu.c54
-rw-r--r--commands/passwd.c98
-rw-r--r--common/Kconfig28
-rw-r--r--common/Makefile8
-rw-r--r--common/command.c2
-rw-r--r--common/console.c4
-rw-r--r--common/digest.c77
-rw-r--r--common/menu.c92
-rw-r--r--common/password.c286
-rw-r--r--common/startup.c3
-rw-r--r--drivers/Kconfig1
-rw-r--r--drivers/Makefile1
-rw-r--r--drivers/clk/Kconfig4
-rw-r--r--drivers/clk/Makefile2
-rw-r--r--drivers/clk/clkdev.c (renamed from arch/arm/common/clkdev.c)24
-rw-r--r--drivers/i2c/Kconfig18
-rw-r--r--drivers/i2c/Makefile15
-rw-r--r--drivers/i2c/busses/Kconfig15
-rw-r--r--drivers/i2c/busses/Makefile2
-rw-r--r--drivers/i2c/busses/i2c-imx.c (renamed from drivers/i2c/i2c-imx.c)0
-rw-r--r--drivers/i2c/busses/i2c-omap.c (renamed from drivers/i2c/i2c-omap.c)0
-rw-r--r--drivers/i2c/twl4030.c6
-rw-r--r--drivers/net/ep93xx.c10
-rw-r--r--drivers/net/fec_mpc5200.c2
-rw-r--r--drivers/net/netx_eth.c8
-rw-r--r--drivers/serial/amba-pl011.c4
-rw-r--r--drivers/serial/arm_dcc.c1
-rw-r--r--include/.gitignore1
-rw-r--r--include/digest.h49
-rw-r--r--include/driver.h12
-rw-r--r--include/i2c/twl4030.h2
-rw-r--r--include/init.h6
-rw-r--r--include/linux/clkdev.h36
-rw-r--r--include/linux/types.h2
-rw-r--r--include/menu.h18
-rw-r--r--include/password.h41
-rw-r--r--include/reloc.h4
-rw-r--r--lib/Kconfig16
-rw-r--r--lib/Makefile3
-rw-r--r--lib/driver.c40
-rw-r--r--lib/md5.c317
-rw-r--r--lib/sha1.c382
-rw-r--r--lib/sha256.c306
-rw-r--r--scripts/setupmbr/setupmbr.c2
150 files changed, 2403 insertions, 6464 deletions
diff --git a/.gitignore b/.gitignore
index 35771531e2..2c580c6b1f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -45,11 +45,8 @@ barebox_default_env
include/asm
include/asm-*/asm-offsets.h
include/config
-include/linux/autoconf.h
include/linux/compile.h
-include/linux/version.h
-include/linux/utsrelease.h
-include/asm-sandbox/arch
+include/generated
# stgit generated dirs
patches-*
diff --git a/board/board.dox b/Documentation/board.dox
index 6bda416ec2..07425e4ea9 100644
--- a/board/board.dox
+++ b/Documentation/board.dox
@@ -78,7 +78,7 @@ TBD
@section board_mod_files These files needs to be modified:
- - modify board/board.dox
+ - modify Documentation/board.dox
- modify arch/\<architecture\>/Kconfig
- add your board (MACH_*) to the list
- add your default text base address for this architecture (ARCH_TEXT_BASE)
diff --git a/Documentation/manual_org.dox b/Documentation/manual_org.dox
index 6f3b157876..17238f0847 100644
--- a/Documentation/manual_org.dox
+++ b/Documentation/manual_org.dox
@@ -10,7 +10,7 @@ than listed here. But these files are the main control files:
- Documentation/users_manual.dox
- Documentation/commands.dox
- Documentation/developers_manual.dox
- - board/board.dox
+ - Documentation/board.dox
- arch/architecture.dox
- arch/arm/mach-arm.dox
- arch/blackfin/mach-bf.dox
@@ -24,4 +24,4 @@ their pages should be listed in this file.
New boards should forward their content to Documentation/boards.dox, so
their pages should be listed in this file.
-*/ \ No newline at end of file
+*/
diff --git a/Makefile b/Makefile
index 62053c89c7..3a97a26acf 100644
--- a/Makefile
+++ b/Makefile
@@ -349,7 +349,7 @@ endif
no-dot-config-targets := clean mrproper distclean \
cscope TAGS tags help %docs check% \
- include/linux/version.h headers_% \
+ include/generated/version.h headers_% \
kernelrelease kernelversion
config-targets := 0
@@ -796,7 +796,7 @@ endif
# prepare2 creates a makefile if using a separate output directory
prepare2: prepare3 outputmakefile
-prepare1: prepare2 include/linux/version.h include/linux/utsrelease.h \
+prepare1: prepare2 include/generated/version.h include/generated/utsrelease.h \
include/asm include/config.h include/config/auto.conf
ifneq ($(KBUILD_MODULES),)
@@ -879,10 +879,10 @@ define filechk_version.h
echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))';)
endef
-include/linux/version.h: $(srctree)/Makefile FORCE
+include/generated/version.h: $(srctree)/Makefile FORCE
$(call filechk,version.h)
-include/linux/utsrelease.h: include/config/kernel.release FORCE
+include/generated/utsrelease.h: include/config/kernel.release FORCE
$(call filechk,utsrelease.h)
# ---------------------------------------------------------------------------
@@ -971,15 +971,15 @@ endif # CONFIG_MODULES
# Directories & files removed with 'make clean'
CLEAN_DIRS += $(MODVERDIR)
-CLEAN_FILES += barebox System.map include/barebox_default_env.h \
+CLEAN_FILES += barebox System.map include/generated/barebox_default_env.h \
.tmp_version .tmp_barebox* barebox.bin barebox.S \
.tmp_kallsyms* barebox_default_env barebox.ldr
# Directories & files removed with 'make mrproper'
MRPROPER_DIRS += include/config include2 usr/include
MRPROPER_FILES += .config .config.old include/asm .version .old_version \
- include/generated/autoconf.h include/linux/version.h \
- include/linux/utsrelease.h include/config.h \
+ include/generated/autoconf.h include/generated/version.h \
+ include/generated/utsrelease.h include/config.h \
Module.symvers tags TAGS cscope*
# clean - Delete most, but leave enough to build external modules
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 945528c3d7..fa3703627c 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -58,7 +58,6 @@ config ARCH_S3C24xx
endchoice
-source arch/arm/common/Kconfig
source arch/arm/cpu/Kconfig
source arch/arm/mach-at91/Kconfig
source arch/arm/mach-ep93xx/Kconfig
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index e542c03c94..77b6cf4551 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -52,6 +52,7 @@ board-$(CONFIG_MACH_A9M2410) := a9m2410
board-$(CONFIG_MACH_A9M2440) := a9m2440
board-$(CONFIG_MACH_AT91SAM9260EK) := at91sam9260ek
board-$(CONFIG_MACH_AT91SAM9263EK) := at91sam9263ek
+board-$(CONFIG_MACH_AT91SAM9G20EK) := at91sam9260ek
board-$(CONFIG_MACH_EDB9301) := edb93xx
board-$(CONFIG_MACH_EDB9302) := edb93xx
board-$(CONFIG_MACH_EDB9302A) := edb93xx
@@ -114,7 +115,7 @@ all: $(KBUILD_IMAGE)
archprepare: maketools
maketools:
- $(Q)$(MAKE) $(build)=arch/arm/tools arch/arm/include/asm/mach-types.h
+ $(Q)$(MAKE) $(build)=arch/arm/tools include/generated/mach-types.h
PHONY += maketools
@@ -131,9 +132,9 @@ MACH :=
endif
common-y += $(BOARD) $(MACH)
-common-y += arch/arm/lib/ arch/arm/cpu/ arch/arm/common/
+common-y += arch/arm/lib/ arch/arm/cpu/
lds-$(CONFIG_GENERIC_LINKER_SCRIPT) := arch/arm/lib/barebox.lds
lds-$(CONFIG_BOARD_LINKER_SCRIPT) := $(BOARD)/barebox.lds
-CLEAN_FILES += arch/arm/include/asm/mach-types.h arch/arm/lib/barebox.lds
+CLEAN_FILES += include/generated/mach-types.h arch/arm/lib/barebox.lds
diff --git a/arch/arm/boards/a9m2410/a9m2410.c b/arch/arm/boards/a9m2410/a9m2410.c
index f327f82b7f..57d8fa39fd 100644
--- a/arch/arm/boards/a9m2410/a9m2410.c
+++ b/arch/arm/boards/a9m2410/a9m2410.c
@@ -28,7 +28,7 @@
#include <driver.h>
#include <init.h>
#include <asm/armlinux.h>
-#include <asm/mach-types.h>
+#include <generated/mach-types.h>
#include <partition.h>
#include <nand.h>
#include <asm/io.h>
@@ -41,6 +41,7 @@ static struct memory_platform_data ram_pdata = {
};
static struct device_d sdram_dev = {
+ .id = -1,
.name = "ram",
.map_base = CS6_BASE,
.platform_data = &ram_pdata,
@@ -52,6 +53,7 @@ static struct s3c24x0_nand_platform_data nand_info = {
};
static struct device_d nand_dev = {
+ .id = -1,
.name = "s3c24x0_nand",
.map_base = S3C24X0_NAND_BASE,
.platform_data = &nand_info,
@@ -63,6 +65,7 @@ static struct device_d nand_dev = {
* GPIO3, data width is 32 bit
*/
static struct device_d network_dev = {
+ .id = -1,
.name = "smc91c111",
.map_base = CS1_BASE + 0x300,
.size = 16,
@@ -178,6 +181,7 @@ void __bare_init nand_boot(void)
#endif
static struct device_d a9m2410_serial_device = {
+ .id = -1,
.name = "s3c24x0_serial",
.map_base = UART1_BASE,
.size = UART1_SIZE,
diff --git a/arch/arm/boards/a9m2440/a9m2440.c b/arch/arm/boards/a9m2440/a9m2440.c
index 2567f5ed13..764cd65325 100644
--- a/arch/arm/boards/a9m2440/a9m2440.c
+++ b/arch/arm/boards/a9m2440/a9m2440.c
@@ -28,7 +28,7 @@
#include <driver.h>
#include <init.h>
#include <asm/armlinux.h>
-#include <asm/mach-types.h>
+#include <generated/mach-types.h>
#include <partition.h>
#include <nand.h>
#include <asm/io.h>
@@ -44,6 +44,7 @@ static struct memory_platform_data ram_pdata = {
};
static struct device_d sdram_dev = {
+ .id = -1,
.name = "mem",
.map_base = CS6_BASE,
.platform_data = &ram_pdata,
@@ -54,6 +55,7 @@ static struct s3c24x0_nand_platform_data nand_info = {
};
static struct device_d nand_dev = {
+ .id = -1,
.name = "s3c24x0_nand",
.map_base = S3C24X0_NAND_BASE,
.platform_data = &nand_info,
@@ -65,6 +67,7 @@ static struct device_d nand_dev = {
* data width is 16 bit
*/
static struct device_d network_dev = {
+ .id = -1,
.name = "cs8900",
.map_base = CS5_BASE + (1 << 24) + 0x300,
.size = 16,
@@ -184,6 +187,7 @@ void __bare_init nand_boot(void)
#endif
static struct device_d a9m2440_serial_device = {
+ .id = -1,
.name = "s3c24x0_serial",
.map_base = UART1_BASE,
.size = UART1_SIZE,
diff --git a/arch/arm/boards/at91sam9260ek/init.c b/arch/arm/boards/at91sam9260ek/init.c
index 9fd75256c6..966dd2fd30 100644
--- a/arch/arm/boards/at91sam9260ek/init.c
+++ b/arch/arm/boards/at91sam9260ek/init.c
@@ -24,7 +24,7 @@
#include <environment.h>
#include <fec.h>
#include <asm/armlinux.h>
-#include <asm/mach-types.h>
+#include <generated/mach-types.h>
#include <partition.h>
#include <fs.h>
#include <fcntl.h>
@@ -40,6 +40,25 @@
#include <mach/at91_pmc.h>
#include <mach/at91_rstc.h>
+/*
+ * board revision encoding
+ * bit 0:
+ * 0 => 1 mmc
+ * 1 => 2 mmcs (board from revision C)
+ */
+#define HAVE_2MMC (1 << 0)
+static void ek_set_board_type(void)
+{
+ if (machine_is_at91sam9g20ek()) {
+ armlinux_set_architecture(MACH_TYPE_AT91SAM9G20EK);
+#ifdef CONFIG_AT91_HAVE_2MMC
+ armlinux_set_revision(HAVE_2MMC);
+#endif
+ } else {
+ armlinux_set_architecture(MACH_TYPE_AT91SAM9260EK);
+ }
+}
+
static struct atmel_nand_data nand_pdata = {
.ale = 21,
.cle = 22,
@@ -130,7 +149,7 @@ static int at91sam9260ek_devices_init(void)
at91_add_device_sdram(64 * 1024 * 1024);
armlinux_set_bootparams((void *)(AT91_CHIPSELECT_1 + 0x100));
- armlinux_set_architecture(MACH_TYPE_AT91SAM9260EK);
+ ek_set_board_type();
devfs_add_partition("nand0", 0x00000, 0x80000, PARTITION_FIXED, "self_raw");
dev_add_bb_dev("self_raw", "self0");
diff --git a/arch/arm/boards/at91sam9263ek/init.c b/arch/arm/boards/at91sam9263ek/init.c
index 61cd295396..8448866cdd 100644
--- a/arch/arm/boards/at91sam9263ek/init.c
+++ b/arch/arm/boards/at91sam9263ek/init.c
@@ -25,7 +25,7 @@
#include <init.h>
#include <environment.h>
#include <asm/armlinux.h>
-#include <asm/mach-types.h>
+#include <generated/mach-types.h>
#include <partition.h>
#include <fs.h>
#include <fcntl.h>
@@ -88,6 +88,7 @@ static void ek_add_device_nand(void)
}
static struct device_d cfi_dev = {
+ .id = -1,
.name = "cfi_flash",
.map_base = AT91_CHIPSELECT_0,
.size = 8 * 1024 * 1024,
diff --git a/arch/arm/boards/edb93xx/edb93xx.c b/arch/arm/boards/edb93xx/edb93xx.c
index b0078a5227..0f127b5c5e 100644
--- a/arch/arm/boards/edb93xx/edb93xx.c
+++ b/arch/arm/boards/edb93xx/edb93xx.c
@@ -28,7 +28,7 @@
#include <partition.h>
#include <asm/armlinux.h>
#include <asm/io.h>
-#include <asm/mach-types.h>
+#include <generated/mach-types.h>
#include <mach/ep93xx-regs.h>
#include "edb93xx.h"
@@ -39,6 +39,7 @@
* CS line 6, data width is 16 bit
*/
static struct device_d cfi_dev = {
+ .id = -1,
.name = "cfi_flash",
.map_base = 0x60000000,
.size = EDB93XX_CFI_FLASH_SIZE,
@@ -50,6 +51,7 @@ static struct memory_platform_data ram_dev_pdata0 = {
};
static struct device_d sdram0_dev = {
+ .id = -1,
.name = "mem",
.map_base = CONFIG_EP93XX_SDRAM_BANK0_BASE,
.size = CONFIG_EP93XX_SDRAM_BANK0_SIZE,
@@ -63,6 +65,7 @@ static struct memory_platform_data ram_dev_pdata1 = {
};
static struct device_d sdram1_dev = {
+ .id = -1,
.name = "mem",
.map_base = CONFIG_EP93XX_SDRAM_BANK1_BASE,
.size = CONFIG_EP93XX_SDRAM_BANK1_SIZE,
@@ -77,6 +80,7 @@ static struct memory_platform_data ram_dev_pdata2 = {
};
static struct device_d sdram2_dev = {
+ .id = -1,
.name = "mem",
.map_base = CONFIG_EP93XX_SDRAM_BANK2_BASE,
.size = CONFIG_EP93XX_SDRAM_BANK2_SIZE,
@@ -91,6 +95,7 @@ static struct memory_platform_data ram_dev_pdata3 = {
};
static struct device_d sdram3_dev = {
+ .id = -1,
.name = "mem",
.map_base = CONFIG_EP93XX_SDRAM_BANK3_BASE,
.size = CONFIG_EP93XX_SDRAM_BANK3_SIZE,
@@ -99,6 +104,7 @@ static struct device_d sdram3_dev = {
#endif
static struct device_d eth_dev = {
+ .id = -1,
.name = "ep93xx_eth",
};
@@ -149,6 +155,7 @@ static int ep93xx_devices_init(void)
device_initcall(ep93xx_devices_init);
static struct device_d edb93xx_serial_device = {
+ .id = -1,
.name = "pl010_serial",
.map_base = UART1_BASE,
.size = 4096,
diff --git a/arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c b/arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c
index caeb46e872..807fea3f1e 100644
--- a/arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c
+++ b/arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c
@@ -33,7 +33,7 @@
#include <asm/mmu.h>
#include <partition.h>
-#include <asm/mach-types.h>
+#include <generated/mach-types.h>
#include <mach/imx-nand.h>
#include <mach/imxfb.h>
#include <fec.h>
@@ -85,6 +85,7 @@ static struct fec_platform_data fec_info = {
};
static struct device_d fec_dev = {
+ .id = -1,
.name = "fec_imx",
.map_base = IMX_FEC_BASE,
.platform_data = &fec_info,
@@ -96,6 +97,7 @@ static struct memory_platform_data sdram_pdata = {
};
static struct device_d sdram0_dev = {
+ .id = -1,
.name = "mem",
.map_base = IMX_SDRAM_CS0,
.size = 64 * 1024 * 1024,
@@ -108,6 +110,7 @@ struct imx_nand_platform_data nand_info = {
};
static struct device_d nand_dev = {
+ .id = -1,
.name = "imx_nand",
.map_base = IMX_NFC_BASE,
.platform_data = &nand_info,
@@ -140,6 +143,7 @@ static struct imx_fb_platform_data eukrea_cpuimx25_fb_data = {
static struct device_d imxfb_dev = {
+ .id = -1,
.name = "imxfb",
.map_base = 0x53fbc000,
.size = 0x1000,
@@ -243,6 +247,7 @@ static int eukrea_cpuimx25_devices_init(void)
device_initcall(eukrea_cpuimx25_devices_init);
static struct device_d eukrea_cpuimx25_serial_device = {
+ .id = -1,
.name = "imx_serial",
.map_base = IMX_UART1_BASE,
.size = 16 * 1024,
diff --git a/arch/arm/boards/eukrea_cpuimx27/eukrea_cpuimx27.c b/arch/arm/boards/eukrea_cpuimx27/eukrea_cpuimx27.c
index 1937d21c85..4d1797bca7 100644
--- a/arch/arm/boards/eukrea_cpuimx27/eukrea_cpuimx27.c
+++ b/arch/arm/boards/eukrea_cpuimx27/eukrea_cpuimx27.c
@@ -30,7 +30,7 @@
#include <notifier.h>
#include <mach/gpio.h>
#include <asm/armlinux.h>
-#include <asm/mach-types.h>
+#include <generated/mach-types.h>
#include <mach/pmic.h>
#include <partition.h>
#include <fs.h>
@@ -48,12 +48,14 @@
#include <mach/iomux-mx27.h>
static struct device_d cfi_dev = {
+ .id = -1,
.name = "cfi_flash",
.map_base = 0xC0000000,
.size = 32 * 1024 * 1024,
};
#ifdef CONFIG_EUKREA_CPUIMX27_NOR_64MB
static struct device_d cfi_dev1 = {
+ .id = -1,
.name = "cfi_flash",
.map_base = 0xC2000000,
.size = 32 * 1024 * 1024,
@@ -72,6 +74,7 @@ static struct memory_platform_data ram_pdata = {
#endif
static struct device_d sdram_dev = {
+ .id = -1,
.name = "mem",
.map_base = 0xa0000000,
.size = SDRAM0 * 1024 * 1024,
@@ -84,6 +87,7 @@ static struct fec_platform_data fec_info = {
};
static struct device_d fec_dev = {
+ .id = -1,
.name = "fec_imx",
.map_base = 0x1002b000,
.platform_data = &fec_info,
@@ -96,6 +100,7 @@ struct imx_nand_platform_data nand_info = {
};
static struct device_d nand_dev = {
+ .id = -1,
.name = "imx_nand",
.map_base = 0xd8000000,
.platform_data = &nand_info,
@@ -137,6 +142,7 @@ static struct NS16550_plat quad_uart_serial_plat = {
#endif
static struct device_d quad_uart_serial_device = {
+ .id = -1,
.name = "serial_ns16550",
.map_base = IMX_CS3_BASE + QUART_OFFSET,
.size = 0xF,
@@ -151,6 +157,7 @@ static struct i2c_board_info i2c_devices[] = {
};
static struct device_d i2c_dev = {
+ .id = -1,
.name = "i2c-imx",
.map_base = IMX_I2C1_BASE,
};
@@ -204,6 +211,7 @@ static struct imx_fb_platform_data eukrea_cpuimx27_fb_data = {
};
static struct device_d imxfb_dev = {
+ .id = -1,
.name = "imxfb",
.map_base = 0x10021000,
.size = 0x1000,
@@ -316,6 +324,7 @@ device_initcall(eukrea_cpuimx27_devices_init);
#ifdef CONFIG_DRIVER_SERIAL_IMX
static struct device_d eukrea_cpuimx27_serial_device = {
+ .id = -1,
.name = "imx_serial",
.map_base = IMX_UART1_BASE,
.size = 4096,
@@ -342,14 +351,14 @@ console_initcall(eukrea_cpuimx27_console_init);
static int eukrea_cpuimx27_late_init(void)
{
-#ifdef CONFIG_DRIVER_I2C_LP3972
+#ifdef CONFIG_I2C_LP3972
struct i2c_client *client;
u8 reg[1];
#endif
console_flush();
register_device(&fec_dev);
-#ifdef CONFIG_DRIVER_I2C_LP3972
+#ifdef CONFIG_I2C_LP3972
client = lp3972_get_client();
if (!client)
return -ENODEV;
diff --git a/arch/arm/boards/eukrea_cpuimx35/eukrea_cpuimx35.c b/arch/arm/boards/eukrea_cpuimx35/eukrea_cpuimx35.c
index d41d9b548e..63d019a045 100644
--- a/arch/arm/boards/eukrea_cpuimx35/eukrea_cpuimx35.c
+++ b/arch/arm/boards/eukrea_cpuimx35/eukrea_cpuimx35.c
@@ -40,7 +40,7 @@
#include <asm/armlinux.h>
#include <asm/io.h>
-#include <asm/mach-types.h>
+#include <generated/mach-types.h>
#include <asm/mmu.h>
#include <mach/gpio.h>
@@ -58,6 +58,7 @@ static struct fec_platform_data fec_info = {
};
static struct device_d fec_dev = {
+ .id = -1,
.name = "fec_imx",
.map_base = IMX_FEC_BASE,
.platform_data = &fec_info,
@@ -69,6 +70,7 @@ static struct memory_platform_data sdram_pdata = {
};
static struct device_d sdram_dev = {
+ .id = -1,
.name = "mem",
.map_base = IMX_SDRAM_CS0,
.size = 128 * 1024 * 1024,
@@ -82,6 +84,7 @@ struct imx_nand_platform_data nand_info = {
};
static struct device_d nand_dev = {
+ .id = -1,
.name = "imx_nand",
.map_base = IMX_NFC_BASE,
.platform_data = &nand_info,
@@ -116,6 +119,7 @@ static struct imx_ipu_fb_platform_data ipu_fb_data = {
};
static struct device_d imxfb_dev = {
+ .id = -1,
.name = "imx-ipu-fb",
.map_base = 0x53fc0000,
.size = 0x1000,
@@ -171,6 +175,7 @@ static int eukrea_cpuimx35_devices_init(void)
device_initcall(eukrea_cpuimx35_devices_init);
static struct device_d eukrea_cpuimx35_serial_device = {
+ .id = -1,
.name = "imx_serial",
.map_base = IMX_UART1_BASE,
.size = 4096,
diff --git a/arch/arm/boards/freescale-mx25-3-stack/3stack.c b/arch/arm/boards/freescale-mx25-3-stack/3stack.c
index cd228cc470..8b477e36d8 100644
--- a/arch/arm/boards/freescale-mx25-3-stack/3stack.c
+++ b/arch/arm/boards/freescale-mx25-3-stack/3stack.c
@@ -30,7 +30,7 @@
#include <mach/gpio.h>
#include <asm/io.h>
#include <partition.h>
-#include <asm/mach-types.h>
+#include <generated/mach-types.h>
#include <mach/imx-nand.h>
#include <fec.h>
#include <nand.h>
@@ -114,6 +114,7 @@ static struct fec_platform_data fec_info = {
};
static struct device_d fec_dev = {
+ .id = -1,
.name = "fec_imx",
.map_base = IMX_FEC_BASE,
.platform_data = &fec_info,
@@ -125,6 +126,7 @@ static struct memory_platform_data sdram_pdata = {
};
static struct device_d sdram0_dev = {
+ .id = -1,
.name = "mem",
.map_base = IMX_SDRAM_CS0,
#if defined CONFIG_FREESCALE_MX25_3STACK_SDRAM_64MB_DDR2
@@ -143,6 +145,7 @@ static struct memory_platform_data sram_pdata = {
};
static struct device_d sram0_dev = {
+ .id = -1,
.name = "mem",
.map_base = 0x78000000,
.size = 128 * 1024,
@@ -155,6 +158,7 @@ struct imx_nand_platform_data nand_info = {
};
static struct device_d nand_dev = {
+ .id = -1,
.name = "imx_nand",
.map_base = IMX_NFC_BASE,
.platform_data = &nand_info,
@@ -181,6 +185,7 @@ static void imx25_usb_init(void)
}
static struct device_d usbh2_dev = {
+ .id = -1,
.name = "ehci",
.map_base = IMX_OTG_BASE + 0x400,
.size = 0x200,
@@ -194,6 +199,7 @@ static struct i2c_board_info i2c_devices[] = {
};
static struct device_d i2c_dev = {
+ .id = -1,
.name = "i2c-imx",
.map_base = IMX_I2C1_BASE,
};
@@ -284,6 +290,7 @@ static int imx25_devices_init(void)
device_initcall(imx25_devices_init);
static struct device_d imx25_serial_device = {
+ .id = -1,
.name = "imx_serial",
.map_base = IMX_UART1_BASE,
.size = 16 * 1024,
diff --git a/arch/arm/boards/freescale-mx35-3-stack/3stack.c b/arch/arm/boards/freescale-mx35-3-stack/3stack.c
index 9a66976f9d..71aaa92970 100644
--- a/arch/arm/boards/freescale-mx35-3-stack/3stack.c
+++ b/arch/arm/boards/freescale-mx35-3-stack/3stack.c
@@ -38,7 +38,7 @@
#include <asm/armlinux.h>
#include <asm/io.h>
-#include <asm/mach-types.h>
+#include <generated/mach-types.h>
#include <mach/gpio.h>
#include <mach/imx-nand.h>
@@ -59,6 +59,7 @@
#define MX35PDK_BOARD_REV_2 1
static struct device_d cfi_dev = {
+ .id = -1,
.name = "cfi_flash",
.map_base = IMX_CS0_BASE,
.size = 64 * 1024 * 1024,
@@ -70,6 +71,7 @@ static struct fec_platform_data fec_info = {
};
static struct device_d fec_dev = {
+ .id = -1,
.name = "fec_imx",
.map_base = IMX_FEC_BASE,
.platform_data = &fec_info,
@@ -81,6 +83,7 @@ static struct memory_platform_data sdram_pdata = {
};
static struct device_d sdram_dev = {
+ .id = -1,
.name = "mem",
.map_base = IMX_SDRAM_CS0,
.size = 128 * 1024 * 1024,
@@ -93,12 +96,14 @@ struct imx_nand_platform_data nand_info = {
};
static struct device_d nand_dev = {
+ .id = -1,
.name = "imx_nand",
.map_base = IMX_NFC_BASE,
.platform_data = &nand_info,
};
static struct device_d smc911x_dev = {
+ .id = -1,
.name = "smc911x",
.map_base = IMX_CS5_BASE,
.size = IMX_CS5_RANGE,
@@ -113,6 +118,7 @@ static struct i2c_board_info i2c_devices[] = {
};
static struct device_d i2c_dev = {
+ .id = -1,
.name = "i2c-imx",
.map_base = IMX_I2C1_BASE,
};
@@ -144,6 +150,7 @@ static struct imx_ipu_fb_platform_data ipu_fb_data = {
};
static struct device_d imxfb_dev = {
+ .id = -1,
.name = "imx-ipu-fb",
.map_base = 0x53fc0000,
.size = 0x1000,
@@ -244,6 +251,7 @@ static int f3s_enable_display(void)
late_initcall(f3s_enable_display);
static struct device_d f3s_serial_device = {
+ .id = -1,
.name = "imx_serial",
.map_base = IMX_UART1_BASE,
.size = 4096,
diff --git a/arch/arm/boards/guf-neso/board.c b/arch/arm/boards/guf-neso/board.c
index 2f53d34556..9c85c0869e 100644
--- a/arch/arm/boards/guf-neso/board.c
+++ b/arch/arm/boards/guf-neso/board.c
@@ -35,7 +35,7 @@
#include <asm/io.h>
#include <asm/mmu.h>
#include <asm/armlinux.h>
-#include <asm/mach-types.h>
+#include <generated/mach-types.h>
#include <mach/gpio.h>
#include <mach/spi.h>
@@ -59,6 +59,7 @@ static struct memory_platform_data ram_pdata = {
};
static struct device_d sdram_dev = {
+ .id = -1,
.name = "mem",
.map_base = 0xa0000000,
.size = 128 * 1024 * 1024,
@@ -71,6 +72,7 @@ static struct fec_platform_data fec_info = {
};
static struct device_d fec_dev = {
+ .id = -1,
.name = "fec_imx",
.map_base = 0x1002b000,
.platform_data = &fec_info,
@@ -83,6 +85,7 @@ static struct imx_nand_platform_data nand_info = {
};
static struct device_d nand_dev = {
+ .id = -1,
.name = "imx_nand",
.map_base = 0xd8000000,
.platform_data = &nand_info,
@@ -137,6 +140,7 @@ static struct imx_fb_platform_data neso_fb_data = {
};
static struct device_d imxfb_dev = {
+ .id = -1,
.name = "imxfb",
.map_base = 0x10021000,
.size = 0x1000,
@@ -146,6 +150,7 @@ static struct device_d imxfb_dev = {
#ifdef CONFIG_USB
static struct device_d usbh2_dev = {
+ .id = -1,
.name = "ehci",
.map_base = IMX_OTG_BASE + 0x400,
.size = 0x200,
@@ -356,6 +361,7 @@ static int neso_devices_init(void)
device_initcall(neso_devices_init);
static struct device_d neso_serial_device = {
+ .id = -1,
.name = "imx_serial",
.map_base = IMX_UART1_BASE,
.size = 4096,
diff --git a/arch/arm/boards/guf-neso/lowlevel.c b/arch/arm/boards/guf-neso/lowlevel.c
index 0c376f2fae..d366d440af 100644
--- a/arch/arm/boards/guf-neso/lowlevel.c
+++ b/arch/arm/boards/guf-neso/lowlevel.c
@@ -32,6 +32,7 @@
#include <asm/system.h>
#include <asm-generic/memory_layout.h>
+#ifdef CONFIG_NAND_IMX_BOOT
static void __bare_init __naked insdram(void)
{
uint32_t r;
@@ -46,6 +47,7 @@ static void __bare_init __naked insdram(void)
board_init_lowlevel_return();
}
+#endif
#define ESDCTL0_VAL (ESDCTL0_SDE | ESDCTL0_ROW13 | ESDCTL0_COL10)
@@ -53,8 +55,9 @@ void __bare_init __naked board_init_lowlevel(void)
{
uint32_t r;
int i;
+#ifdef CONFIG_NAND_IMX_BOOT
unsigned int *trg, *src;
-
+#endif
/* ahb lite ip interface */
AIPI1_PSR0 = 0x20040304;
AIPI1_PSR1 = 0xDFFBFCFB;
diff --git a/arch/arm/boards/imx21ads/imx21ads.c b/arch/arm/boards/imx21ads/imx21ads.c
index 5e88af4fd8..44d37aad4f 100644
--- a/arch/arm/boards/imx21ads/imx21ads.c
+++ b/arch/arm/boards/imx21ads/imx21ads.c
@@ -32,7 +32,7 @@
#include <partition.h>
#include <fs.h>
#include <fcntl.h>
-#include <asm/mach-types.h>
+#include <generated/mach-types.h>
#include <mach/imx-nand.h>
#include <mach/imxfb.h>
#include <mach/iomux-mx21.h>
@@ -41,6 +41,7 @@
#define MX21ADS_IO_LCDON (1 << 9)
static struct device_d cfi_dev = {
+ .id = -1,
.name = "cfi_flash",
.map_base = 0xC8000000,
.size = 32 * 1024 * 1024,
@@ -52,6 +53,7 @@ static struct memory_platform_data ram_pdata = {
};
static struct device_d sdram_dev = {
+ .id = -1,
.name = "mem",
.map_base = 0xc0000000,
.size = 64 * 1024 * 1024,
@@ -64,12 +66,14 @@ struct imx_nand_platform_data nand_info = {
};
static struct device_d nand_dev = {
+ .id = -1,
.name = "imx_nand",
.map_base = 0xDF003000,
.platform_data = &nand_info,
};
static struct device_d cs8900_dev = {
+ .id = -1,
.name = "cs8900",
.map_base = IMX_CS1_BASE,
// IRQ is connected to UART3_RTS
@@ -108,6 +112,7 @@ static struct imx_fb_platform_data imx_fb_data = {
};
static struct device_d imxfb_dev = {
+ .id = -1,
.name = "imxfb",
.map_base = 0x10021000,
.size = 0x1000,
@@ -220,6 +225,7 @@ static int mx21ads_enable_display(void)
late_initcall(mx21ads_enable_display);
static struct device_d mx21ads_serial_device = {
+ .id = -1,
.name = "imx_serial",
.map_base = IMX_UART1_BASE,
.size = 4096,
diff --git a/arch/arm/boards/imx27ads/imx27ads.c b/arch/arm/boards/imx27ads/imx27ads.c
index 6f31520ffa..ae5da7fd63 100644
--- a/arch/arm/boards/imx27ads/imx27ads.c
+++ b/arch/arm/boards/imx27ads/imx27ads.c
@@ -30,10 +30,11 @@
#include <partition.h>
#include <fs.h>
#include <fcntl.h>
-#include <asm/mach-types.h>
+#include <generated/mach-types.h>
#include <mach/iomux-mx27.h>
static struct device_d cfi_dev = {
+ .id = -1,
.name = "cfi_flash",
.map_base = 0xC0000000,
.size = 32 * 1024 * 1024,
@@ -45,6 +46,7 @@ static struct memory_platform_data ram_pdata = {
};
static struct device_d sdram_dev = {
+ .id = -1,
.name = "mem",
.map_base = 0xa0000000,
.size = 128 * 1024 * 1024,
@@ -57,6 +59,7 @@ static struct fec_platform_data fec_info = {
};
static struct device_d fec_dev = {
+ .id = -1,
.name = "fec_imx",
.map_base = 0x1002b000,
.platform_data = &fec_info,
@@ -147,6 +150,7 @@ static int mx27ads_devices_init(void)
device_initcall(mx27ads_devices_init);
static struct device_d mx27ads_serial_device = {
+ .id = -1,
.name = "imx_serial",
.map_base = IMX_UART1_BASE,
.size = 4096,
diff --git a/arch/arm/boards/mmccpu/init.c b/arch/arm/boards/mmccpu/init.c
index 9a7d930b6d..7cba01c4f0 100644
--- a/arch/arm/boards/mmccpu/init.c
+++ b/arch/arm/boards/mmccpu/init.c
@@ -24,7 +24,7 @@
#include <environment.h>
#include <fec.h>
#include <asm/armlinux.h>
-#include <asm/mach-types.h>
+#include <generated/mach-types.h>
#include <partition.h>
#include <fs.h>
#include <fcntl.h>
@@ -38,6 +38,7 @@
#include <mach/io.h>
static struct device_d cfi_dev = {
+ .id = -1,
.name = "cfi_flash",
.map_base = AT91_CHIPSELECT_0,
.size = 0, /* zero means autodetect size */
diff --git a/arch/arm/boards/netx/netx.c b/arch/arm/boards/netx/netx.c
index d6bfcca54d..c735d26bc4 100644
--- a/arch/arm/boards/netx/netx.c
+++ b/arch/arm/boards/netx/netx.c
@@ -27,10 +27,11 @@
#include <asm/armlinux.h>
#include <fs.h>
#include <fcntl.h>
-#include <asm/mach-types.h>
+#include <generated/mach-types.h>
#include <mach/netx-eth.h>
static struct device_d cfi_dev = {
+ .id = -1,
.name = "cfi_flash",
.map_base = 0xC0000000,
.size = 32 * 1024 * 1024,
@@ -42,6 +43,7 @@ static struct memory_platform_data ram_pdata = {
};
static struct device_d sdram_dev = {
+ .id = -1,
.name = "mem",
.map_base = 0x80000000,
.size = 64 * 1024 * 1024,
@@ -53,6 +55,7 @@ struct netx_eth_platform_data eth0_data = {
};
static struct device_d netx_eth_dev0 = {
+ .id = -1,
.name = "netx-eth",
.platform_data = &eth0_data,
};
@@ -62,6 +65,7 @@ struct netx_eth_platform_data eth1_data = {
};
static struct device_d netx_eth_dev1 = {
+ .id = -1,
.name = "netx-eth",
.platform_data = &eth1_data,
};
@@ -89,6 +93,7 @@ static int netx_devices_init(void) {
device_initcall(netx_devices_init);
static struct device_d netx_serial_device = {
+ .id = -1,
.name = "netx_serial",
.map_base = NETX_PA_UART0,
.size = 0x40,
diff --git a/arch/arm/boards/nhk8815/setup.c b/arch/arm/boards/nhk8815/setup.c
index e9295f651e..9cb0fd0494 100644
--- a/arch/arm/boards/nhk8815/setup.c
+++ b/arch/arm/boards/nhk8815/setup.c
@@ -25,7 +25,7 @@
#include <partition.h>
#include <nand.h>
#include <asm/armlinux.h>
-#include <asm/mach-types.h>
+#include <generated/mach-types.h>
#include <asm/io.h>
#include <mach/hardware.h>
@@ -34,6 +34,7 @@
#include <mach/fsmc.h>
static struct device_d nhk8815_network_dev = {
+ .id = -1,
.name = "smc91c111",
.map_base = 0x34000300,
.size = 16,
@@ -62,6 +63,7 @@ static struct nomadik_nand_platform_data nhk8815_nand_data = {
};
static struct device_d nhk8815_nand_device = {
+ .id = -1,
.name = "nomadik_nand",
.platform_data = &nhk8815_nand_data,
};
diff --git a/arch/arm/boards/omap/board-beagle.c b/arch/arm/boards/omap/board-beagle.c
index e9d3072262..6de2cce7d9 100644
--- a/arch/arm/boards/omap/board-beagle.c
+++ b/arch/arm/boards/omap/board-beagle.c
@@ -59,7 +59,7 @@
#include <asm/io.h>
#include <ns16550.h>
#include <asm/armlinux.h>
-#include <asm/mach-types.h>
+#include <generated/mach-types.h>
#include <mach/silicon.h>
#include <mach/sdrc.h>
#include <mach/sys_info.h>
@@ -241,6 +241,7 @@ static struct NS16550_plat serial_plat = {
};
static struct device_d beagle_serial_device = {
+ .id = -1,
.name = "serial_ns16550",
.map_base = OMAP_UART3_BASE,
.size = 1024,
@@ -267,6 +268,7 @@ static struct memory_platform_data sram_pdata = {
};
static struct device_d sdram_dev = {
+ .id = -1,
.name = "mem",
.map_base = 0x80000000,
.size = 128 * 1024 * 1024,
@@ -291,6 +293,7 @@ static struct ehci_platform_data ehci_pdata = {
};
static struct device_d usbh_dev = {
+ .id = -1,
.name = "ehci",
.map_base = 0x48064700,
.size = 4 * 1024,
@@ -299,6 +302,7 @@ static struct device_d usbh_dev = {
#endif /* CONFIG_USB_EHCI_OMAP */
static struct device_d i2c_dev = {
+ .id = -1,
.name = "i2c-omap",
.map_base = OMAP_I2C1_BASE,
};
diff --git a/arch/arm/boards/omap/board-omap3evm.c b/arch/arm/boards/omap/board-omap3evm.c
index 619ea94485..c37f1519ff 100644
--- a/arch/arm/boards/omap/board-omap3evm.c
+++ b/arch/arm/boards/omap/board-omap3evm.c
@@ -218,6 +218,7 @@ static struct NS16550_plat serial_plat = {
};
static struct device_d omap3evm_serial_device = {
+ .id = -1,
.name = "serial_ns16550",
#if defined(CONFIG_OMAP3EVM_UART1)
.map_base = OMAP_UART1_BASE,
@@ -246,6 +247,7 @@ static struct memory_platform_data sram_pdata = {
};
static struct device_d sdram_dev = {
+ .id = -1,
.name = "mem",
.map_base = 0x80000000,
.size = 128 * 1024 * 1024,
diff --git a/arch/arm/boards/omap/board-sdp343x.c b/arch/arm/boards/omap/board-sdp343x.c
index 32d1a4235c..f7615b4673 100644
--- a/arch/arm/boards/omap/board-sdp343x.c
+++ b/arch/arm/boards/omap/board-sdp343x.c
@@ -610,6 +610,7 @@ static struct NS16550_plat serial_plat = {
};
static struct device_d sdp3430_serial_device = {
+ .id = -1,
.name = "serial_ns16550",
.map_base = OMAP_UART3_BASE,
.size = 1024,
@@ -646,6 +647,7 @@ static struct memory_platform_data ram_pdata = {
};
struct device_d sdram_dev = {
+ .id = -1,
.name = "mem",
.map_base = 0x80000000,
.size = 128 * 1024 * 1024,
diff --git a/arch/arm/boards/omap/devices-gpmc-nand.c b/arch/arm/boards/omap/devices-gpmc-nand.c
index ac23e9d036..4369aa0029 100644
--- a/arch/arm/boards/omap/devices-gpmc-nand.c
+++ b/arch/arm/boards/omap/devices-gpmc-nand.c
@@ -72,6 +72,7 @@ static struct gpmc_nand_platform_data nand_plat = {
/** NAND device definition */
static struct device_d gpmc_generic_nand_nand_device = {
+ .id = -1,
.name = "gpmc_nand",
.map_base = OMAP_GPMC_BASE,
.size = 1024 * 4, /* GPMC size */
diff --git a/arch/arm/boards/pcm037/pcm037.c b/arch/arm/boards/pcm037/pcm037.c
index 2e6968b844..89e248190a 100644
--- a/arch/arm/boards/pcm037/pcm037.c
+++ b/arch/arm/boards/pcm037/pcm037.c
@@ -35,7 +35,7 @@
#include <asm/io.h>
#include <asm/mmu.h>
#include <partition.h>
-#include <asm/mach-types.h>
+#include <generated/mach-types.h>
#include <mach/imx-nand.h>
@@ -44,6 +44,7 @@
* CS line 0, data width is 16 bit
*/
static struct device_d cfi_dev = {
+ .id = -1,
.name = "cfi_flash",
.map_base = IMX_CS0_BASE,
.size = 32 * 1024 * 1024, /* area size */
@@ -59,6 +60,7 @@ static struct memory_platform_data sram_dev_pdata0 = {
};
static struct device_d sram_dev = {
+ .id = -1,
.name = "mem",
.map_base = IMX_CS4_BASE,
.size = IMX_CS4_RANGE, /* area size */
@@ -71,6 +73,7 @@ static struct device_d sram_dev = {
* GPIO3, data width is 16 bit
*/
static struct device_d network_dev = {
+ .id = -1,
.name = "smc911x",
.map_base = IMX_CS1_BASE,
.size = IMX_CS1_RANGE, /* area size */
@@ -88,6 +91,7 @@ static struct memory_platform_data ram_dev_pdata0 = {
};
static struct device_d sdram0_dev = {
+ .id = -1,
.name = "mem",
.map_base = IMX_SDRAM_CS0,
.size = SDRAM0 * 1024 * 1024, /* fix size */
@@ -108,6 +112,7 @@ static struct memory_platform_data ram_dev_pdata1 = {
};
static struct device_d sdram1_dev = {
+ .id = -1,
.name = "mem",
.map_base = IMX_SDRAM_CS1,
.size = SDRAM1 * 1024 * 1024, /* fix size */
@@ -122,6 +127,7 @@ struct imx_nand_platform_data nand_info = {
};
static struct device_d nand_dev = {
+ .id = -1,
.name = "imx_nand",
.map_base = 0xB8000000,
.platform_data = &nand_info,
@@ -129,12 +135,14 @@ static struct device_d nand_dev = {
#ifdef CONFIG_USB
static struct device_d usbotg_dev = {
+ .id = -1,
.name = "ehci",
.map_base = IMX_OTG_BASE,
.size = 0x200,
};
static struct device_d usbh2_dev = {
+ .id = -1,
.name = "ehci",
.map_base = IMX_OTG_BASE + 0x400,
.size = 0x200,
@@ -313,6 +321,7 @@ static int imx31_devices_init(void)
device_initcall(imx31_devices_init);
static struct device_d imx31_serial_device = {
+ .id = -1,
.name = "imx_serial",
.map_base = IMX_UART1_BASE,
.size = 16 * 1024,
diff --git a/arch/arm/boards/pcm038/lowlevel.c b/arch/arm/boards/pcm038/lowlevel.c
index 0c376f2fae..d366d440af 100644
--- a/arch/arm/boards/pcm038/lowlevel.c
+++ b/arch/arm/boards/pcm038/lowlevel.c
@@ -32,6 +32,7 @@
#include <asm/system.h>
#include <asm-generic/memory_layout.h>
+#ifdef CONFIG_NAND_IMX_BOOT
static void __bare_init __naked insdram(void)
{
uint32_t r;
@@ -46,6 +47,7 @@ static void __bare_init __naked insdram(void)
board_init_lowlevel_return();
}
+#endif
#define ESDCTL0_VAL (ESDCTL0_SDE | ESDCTL0_ROW13 | ESDCTL0_COL10)
@@ -53,8 +55,9 @@ void __bare_init __naked board_init_lowlevel(void)
{
uint32_t r;
int i;
+#ifdef CONFIG_NAND_IMX_BOOT
unsigned int *trg, *src;
-
+#endif
/* ahb lite ip interface */
AIPI1_PSR0 = 0x20040304;
AIPI1_PSR1 = 0xDFFBFCFB;
diff --git a/arch/arm/boards/pcm038/pcm038.c b/arch/arm/boards/pcm038/pcm038.c
index 03794fc13d..755ebcc7de 100644
--- a/arch/arm/boards/pcm038/pcm038.c
+++ b/arch/arm/boards/pcm038/pcm038.c
@@ -27,7 +27,7 @@
#include <notifier.h>
#include <mach/gpio.h>
#include <asm/armlinux.h>
-#include <asm/mach-types.h>
+#include <generated/mach-types.h>
#include <mach/pmic.h>
#include <partition.h>
#include <fs.h>
@@ -45,6 +45,7 @@
#include <mach/iomux-mx27.h>
static struct device_d cfi_dev = {
+ .id = -1,
.name = "cfi_flash",
.map_base = 0xC0000000,
.size = 32 * 1024 * 1024,
@@ -56,6 +57,7 @@ static struct memory_platform_data ram_pdata = {
};
static struct device_d sdram_dev = {
+ .id = -1,
.name = "mem",
.map_base = 0xa0000000,
.size = 128 * 1024 * 1024,
@@ -68,6 +70,7 @@ static struct memory_platform_data sram_pdata = {
};
static struct device_d sram_dev = {
+ .id = -1,
.name = "mem",
.map_base = 0xc8000000,
.size = 512 * 1024, /* Can be up to 2MiB */
@@ -80,6 +83,7 @@ static struct fec_platform_data fec_info = {
};
static struct device_d fec_dev = {
+ .id = -1,
.name = "fec_imx",
.map_base = 0x1002b000,
.platform_data = &fec_info,
@@ -93,6 +97,7 @@ static struct spi_imx_master pcm038_spi_0_data = {
};
static struct device_d spi_dev = {
+ .id = -1,
.name = "imx_spi",
.map_base = 0x1000e000,
.platform_data = &pcm038_spi_0_data,
@@ -114,6 +119,7 @@ static struct imx_nand_platform_data nand_info = {
};
static struct device_d nand_dev = {
+ .id = -1,
.name = "imx_nand",
.map_base = 0xd8000000,
.platform_data = &nand_info,
@@ -154,6 +160,7 @@ static struct imx_fb_platform_data pcm038_fb_data = {
};
static struct device_d imxfb_dev = {
+ .id = -1,
.name = "imxfb",
.map_base = 0x10021000,
.size = 0x1000,
@@ -162,6 +169,7 @@ static struct device_d imxfb_dev = {
#ifdef CONFIG_USB
static struct device_d usbh2_dev = {
+ .id = -1,
.name = "ehci",
.map_base = IMX_OTG_BASE + 0x400,
.size = 0x200,
@@ -363,6 +371,7 @@ static int pcm038_devices_init(void)
device_initcall(pcm038_devices_init);
static struct device_d pcm038_serial_device = {
+ .id = -1,
.name = "imx_serial",
.map_base = IMX_UART1_BASE,
.size = 4096,
diff --git a/arch/arm/boards/pcm043/lowlevel.c b/arch/arm/boards/pcm043/lowlevel.c
index 9eff5a6713..eff96f9777 100644
--- a/arch/arm/boards/pcm043/lowlevel.c
+++ b/arch/arm/boards/pcm043/lowlevel.c
@@ -37,6 +37,7 @@
#define MPCTL_PARAM_532 ((1 << 31) | IMX_PLL_PD(0) | IMX_PLL_MFD(11) | IMX_PLL_MFI(11) | IMX_PLL_MFN(1))
#define PPCTL_PARAM_300 (IMX_PLL_PD(0) | IMX_PLL_MFD(3) | IMX_PLL_MFI(6) | IMX_PLL_MFN(1))
+#ifdef CONFIG_NAND_IMX_BOOT
static void __bare_init __naked insdram(void)
{
uint32_t r;
@@ -55,15 +56,17 @@ static void __bare_init __naked insdram(void)
board_init_lowlevel_return();
}
+#endif
void __bare_init __naked board_init_lowlevel(void)
{
uint32_t r, s;
unsigned long ccm_base = IMX_CCM_BASE;
unsigned long iomuxc_base = IMX_IOMUXC_BASE;
+#ifdef CONFIG_NAND_IMX_BOOT
unsigned int *trg, *src;
int i;
-
+#endif
r = get_cr();
r |= CR_Z; /* Flow prediction (Z) */
r |= CR_U; /* unaligned accesses */
diff --git a/arch/arm/boards/pcm043/pcm043.c b/arch/arm/boards/pcm043/pcm043.c
index 497149d1d8..9f98795fd1 100644
--- a/arch/arm/boards/pcm043/pcm043.c
+++ b/arch/arm/boards/pcm043/pcm043.c
@@ -35,7 +35,7 @@
#include <asm/io.h>
#include <partition.h>
#include <nand.h>
-#include <asm/mach-types.h>
+#include <generated/mach-types.h>
#include <mach/imx-nand.h>
#include <fec.h>
#include <fb.h>
@@ -49,6 +49,7 @@
* CS line 0, data width is 16 bit
*/
static struct device_d cfi_dev = {
+ .id = -1,
.name = "cfi_flash",
.map_base = IMX_CS0_BASE,
.size = 32 * 1024 * 1024, /* area size */
@@ -59,6 +60,7 @@ static struct fec_platform_data fec_info = {
};
static struct device_d fec_dev = {
+ .id = -1,
.name = "fec_imx",
.map_base = IMX_FEC_BASE,
.platform_data = &fec_info,
@@ -70,6 +72,7 @@ static struct memory_platform_data ram_pdata = {
};
static struct device_d sdram0_dev = {
+ .id = -1,
.name = "mem",
.map_base = IMX_SDRAM_CS0,
.size = 128 * 1024 * 1024,
@@ -83,6 +86,7 @@ struct imx_nand_platform_data nand_info = {
};
static struct device_d nand_dev = {
+ .id = -1,
.name = "imx_nand",
.map_base = IMX_NFC_BASE,
.platform_data = &nand_info,
@@ -132,6 +136,7 @@ static struct imx_ipu_fb_platform_data ipu_fb_data = {
};
static struct device_d imx_ipu_fb_dev = {
+ .id = -1,
.name = "imx-ipu-fb",
.map_base = 0x53fc0000,
.size = 0x1000,
@@ -217,6 +222,7 @@ static int imx35_devices_init(void)
device_initcall(imx35_devices_init);
static struct device_d imx35_serial_device = {
+ .id = -1,
.name = "imx_serial",
.map_base = IMX_UART1_BASE,
.size = 16 * 1024,
diff --git a/arch/arm/boards/phycard-i.MX27/pca100.c b/arch/arm/boards/phycard-i.MX27/pca100.c
index ce59960e22..7328a6c894 100644
--- a/arch/arm/boards/phycard-i.MX27/pca100.c
+++ b/arch/arm/boards/phycard-i.MX27/pca100.c
@@ -26,7 +26,7 @@
#include <fec.h>
#include <mach/gpio.h>
#include <asm/armlinux.h>
-#include <asm/mach-types.h>
+#include <generated/mach-types.h>
#include <partition.h>
#include <fs.h>
#include <fcntl.h>
@@ -46,6 +46,7 @@ static struct memory_platform_data ram_pdata = {
};
static struct device_d sdram_dev = {
+ .id = -1,
.name = "mem",
.map_base = 0xa0000000,
.size = 128 * 1024 * 1024,
@@ -58,6 +59,7 @@ static struct fec_platform_data fec_info = {
};
static struct device_d fec_dev = {
+ .id = -1,
.name = "fec_imx",
.map_base = 0x1002b000,
.platform_data = &fec_info,
@@ -69,6 +71,7 @@ struct imx_nand_platform_data nand_info = {
};
static struct device_d nand_dev = {
+ .id = -1,
.name = "imx_nand",
.map_base = 0xd8000000,
.platform_data = &nand_info,
@@ -76,6 +79,7 @@ static struct device_d nand_dev = {
#ifdef CONFIG_USB
static struct device_d usbh2_dev = {
+ .id = -1,
.name = "ehci",
.map_base = IMX_OTG_BASE + 0x400,
.size = 0x200,
@@ -216,6 +220,7 @@ static int pca100_devices_init(void)
device_initcall(pca100_devices_init);
static struct device_d pca100_serial_device = {
+ .id = -1,
.name = "imx_serial",
.map_base = IMX_UART1_BASE,
.size = 4096,
diff --git a/arch/arm/boards/pm9263/init.c b/arch/arm/boards/pm9263/init.c
index d5ed921ff6..abe8def13c 100644
--- a/arch/arm/boards/pm9263/init.c
+++ b/arch/arm/boards/pm9263/init.c
@@ -24,7 +24,7 @@
#include <environment.h>
#include <fec.h>
#include <asm/armlinux.h>
-#include <asm/mach-types.h>
+#include <generated/mach-types.h>
#include <partition.h>
#include <fs.h>
#include <fcntl.h>
@@ -87,6 +87,7 @@ static void pm_add_device_nand(void)
}
static struct device_d cfi_dev = {
+ .id = -1,
.name = "cfi_flash",
.map_base = AT91_CHIPSELECT_0,
.size = 4 * 1024 * 1024,
diff --git a/arch/arm/boards/scb9328/scb9328.c b/arch/arm/boards/scb9328/scb9328.c
index 3c04996254..4c08c504c5 100644
--- a/arch/arm/boards/scb9328/scb9328.c
+++ b/arch/arm/boards/scb9328/scb9328.c
@@ -22,7 +22,7 @@
#include <net.h>
#include <init.h>
#include <environment.h>
-#include <asm/mach-types.h>
+#include <generated/mach-types.h>
#include <mach/imx-regs.h>
#include <asm/armlinux.h>
#include <mach/gpio.h>
@@ -33,6 +33,7 @@
#include <dm9000.h>
static struct device_d cfi_dev = {
+ .id = -1,
.name = "cfi_flash",
.map_base = 0x10000000,
@@ -45,6 +46,7 @@ static struct memory_platform_data sdram_pdata = {
};
static struct device_d sdram_dev = {
+ .id = -1,
.name = "mem",
.map_base = 0x08000000,
.size = 16 * 1024 * 1024,
@@ -55,10 +57,11 @@ static struct dm9000_platform_data dm9000_data = {
.iobase = 0x16000000,
.iodata = 0x16000004,
.buswidth = DM9000_WIDTH_16,
- .srom = 1;
+ .srom = 1,
};
static struct device_d dm9000_dev = {
+ .id = -1,
.name = "dm9000",
.map_base = 0x16000000,
.size = 8,
@@ -104,6 +107,7 @@ static int scb9328_devices_init(void) {
device_initcall(scb9328_devices_init);
static struct device_d scb9328_serial_device = {
+ .id = -1,
.name = "imx_serial",
.map_base = IMX_UART1_BASE,
.size = 4096,
diff --git a/arch/arm/common/Kconfig b/arch/arm/common/Kconfig
deleted file mode 100644
index e749e45d1f..0000000000
--- a/arch/arm/common/Kconfig
+++ /dev/null
@@ -1,2 +0,0 @@
-config COMMON_CLKDEV
- bool
diff --git a/arch/arm/common/Makefile b/arch/arm/common/Makefile
deleted file mode 100644
index 9cc8834626..0000000000
--- a/arch/arm/common/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-#
-# Makefile for the linux kernel.
-#
-
-obj-$(CONFIG_COMMON_CLKDEV) += clkdev.o
diff --git a/arch/arm/configs/a9m2410_defconfig b/arch/arm/configs/a9m2410_defconfig
index e9fa74c456..57e73c7f44 100644
--- a/arch/arm/configs/a9m2410_defconfig
+++ b/arch/arm/configs/a9m2410_defconfig
@@ -1,122 +1,16 @@
-#
-# Automatically generated make config: don't edit
-# barebox version: 2.0.0-rc10
-# Fri Dec 18 11:46:05 2009
-#
-# CONFIG_BOARD_LINKER_SCRIPT is not set
-CONFIG_GENERIC_LINKER_SCRIPT=y
-CONFIG_ARM=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_AT91RM9200 is not set
-# CONFIG_ARCH_IMX is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_OMAP is not set
CONFIG_ARCH_S3C24xx=y
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_ARM920T=y
-CONFIG_CPU_32v4T=y
-
-#
-# processor features
-#
-CONFIG_ARCH_TEXT_BASE=0x31fc0000
-CONFIG_BOARDINFO="Digi A9M2410"
-CONFIG_CPU_S3C2410=y
-CONFIG_MACH_A9M2410=y
-# CONFIG_MACH_A9M2440 is not set
-
-#
-# Board specific settings
-#
-
-#
-# S3C24X0 Features
-#
-CONFIG_S3C24XX_LOW_LEVEL_INIT=y
-CONFIG_S3C24XX_PLL_INIT=y
-CONFIG_S3C24XX_SDRAM_INIT=y
CONFIG_S3C24XX_NAND_BOOT=y
-# CONFIG_AEABI is not set
-
-#
-# Arm specific settings
-#
-CONFIG_CMD_ARM_CPUINFO=y
-CONFIG_CMDLINE_TAG=y
-CONFIG_SETUP_MEMORY_TAGS=y
-# CONFIG_INITRD_TAG is not set
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
-CONFIG_GREGORIAN_CALENDER=y
-CONFIG_HAS_KALLSYMS=y
-CONFIG_HAS_MODULES=y
-CONFIG_CMD_MEMORY=y
-CONFIG_ENV_HANDLING=y
-
-#
-# General Settings
-#
-CONFIG_LOCALVERSION_AUTO=y
-
-#
-# memory layout
-#
-CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
-CONFIG_TEXT_BASE=0x31fc0000
-CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
-CONFIG_MEMORY_LAYOUT_DEFAULT=y
-# CONFIG_MEMORY_LAYOUT_FIXED is not set
-CONFIG_STACK_SIZE=0x8000
-CONFIG_MALLOC_SIZE=0x400000
CONFIG_BROKEN=y
CONFIG_EXPERIMENTAL=y
-# CONFIG_MODULES is not set
-# CONFIG_KALLSYMS is not set
-CONFIG_MACH_HAS_LOWLEVEL_INIT=y
-CONFIG_MACH_DO_LOWLEVEL_INIT=y
-CONFIG_PROMPT="barebox:"
CONFIG_BAUDRATE=38400
CONFIG_LONGHELP=y
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-CONFIG_SHELL_HUSH=y
-# CONFIG_SHELL_SIMPLE is not set
CONFIG_GLOB=y
-CONFIG_PROMPT_HUSH_PS2="> "
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
-CONFIG_DYNAMIC_CRC_TABLE=y
-CONFIG_ERRNO_MESSAGES=y
-CONFIG_TIMESTAMP=y
-CONFIG_CONSOLE_FULL=y
-CONFIG_CONSOLE_ACTIVATE_FIRST=y
-# CONFIG_OF_FLAT_TREE is not set
CONFIG_PARTITION=y
-CONFIG_DEFAULT_ENVIRONMENT=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/a9m2410/env"
-
-#
-# Debugging
-#
CONFIG_DEBUG_INFO=y
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
-# CONFIG_ENABLE_DEVICE_NOISE is not set
-
-#
-# Commands
-#
-
-#
-# scripting
-#
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
@@ -124,114 +18,17 @@ CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
-CONFIG_CMD_TRUE=y
-CONFIG_CMD_FALSE=y
-
-#
-# file commands
-#
-CONFIG_CMD_LS=y
-CONFIG_CMD_RM=y
-CONFIG_CMD_CAT=y
-CONFIG_CMD_MKDIR=y
-CONFIG_CMD_RMDIR=y
-CONFIG_CMD_CP=y
-CONFIG_CMD_PWD=y
-CONFIG_CMD_CD=y
-CONFIG_CMD_MOUNT=y
-CONFIG_CMD_UMOUNT=y
-
-#
-# console
-#
-CONFIG_CMD_CLEAR=y
-CONFIG_CMD_ECHO=y
-
-#
-# memory
-#
-# CONFIG_CMD_LOADB is not set
-# CONFIG_CMD_LOADY is not set
-# CONFIG_CMD_LOADS is not set
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_CRC=y
CONFIG_CMD_MTEST=y
-# CONFIG_CMD_MTEST_ALTERNATIVE is not set
-
-#
-# flash
-#
CONFIG_CMD_FLASH=y
-
-#
-# booting
-#
-CONFIG_CMD_BOOTM=y
-# CONFIG_CMD_BOOTM_ZLIB is not set
-# CONFIG_CMD_BOOTM_BZLIB is not set
-# CONFIG_CMD_BOOTM_SHOW_TYPE is not set
-CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTU=y
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
-CONFIG_CMD_TEST=y
-CONFIG_CMD_VERSION=y
-CONFIG_CMD_HELP=y
-CONFIG_CMD_DEVINFO=y
CONFIG_NET=y
CONFIG_NET_DHCP=y
-# CONFIG_NET_RARP is not set
-# CONFIG_NET_NFS is not set
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
-# CONFIG_DRIVER_SERIAL_ARM_DCC is not set
-# CONFIG_DRIVER_SERIAL_NS16550 is not set
-CONFIG_DRIVER_SERIAL_S3C24X0=y
-# CONFIG_DRIVER_SERIAL_S3C24X0_AUTOSYNC is not set
-CONFIG_MIIDEV=y
-
-#
-# Network drivers
-#
-# CONFIG_DRIVER_NET_SMC911X is not set
CONFIG_DRIVER_NET_SMC91111=y
-
-#
-# SPI drivers
-#
# CONFIG_SPI is not set
-# CONFIG_I2C is not set
-
-#
-# flash drivers
-#
-# CONFIG_DRIVER_CFI is not set
-# CONFIG_DRIVER_CFI_OLD is not set
-CONFIG_NAND=y
-CONFIG_NAND_S3C24X0=y
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-# CONFIG_USB is not set
-# CONFIG_USB_GADGET is not set
-# CONFIG_VIDEO is not set
-
-#
-# Filesystem support
-#
-# CONFIG_FS_CRAMFS is not set
-CONFIG_FS_RAMFS=y
-CONFIG_FS_DEVFS=y
-CONFIG_CRC32=y
-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
diff --git a/arch/arm/configs/a9m2440_defconfig b/arch/arm/configs/a9m2440_defconfig
index b7a26bc0d0..ae7f5238c3 100644
--- a/arch/arm/configs/a9m2440_defconfig
+++ b/arch/arm/configs/a9m2440_defconfig
@@ -1,123 +1,18 @@
-#
-# Automatically generated make config: don't edit
-# barebox version: 2.0.0-rc10
-# Fri Dec 18 11:46:15 2009
-#
-# CONFIG_BOARD_LINKER_SCRIPT is not set
-CONFIG_GENERIC_LINKER_SCRIPT=y
-CONFIG_ARM=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_AT91RM9200 is not set
-# CONFIG_ARCH_IMX is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_OMAP is not set
CONFIG_ARCH_S3C24xx=y
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_ARM920T=y
-CONFIG_CPU_32v4T=y
-
-#
-# processor features
-#
-CONFIG_ARCH_TEXT_BASE=0x31fc0000
-CONFIG_BOARDINFO="Digi A9M2440"
-CONFIG_CPU_S3C2440=y
-# CONFIG_MACH_A9M2410 is not set
CONFIG_MACH_A9M2440=y
-
-#
-# Board specific settings
-#
-CONFIG_MACH_A9M2410DEV=y
-
-#
-# S3C24X0 Features
-#
-CONFIG_S3C24XX_LOW_LEVEL_INIT=y
-CONFIG_S3C24XX_PLL_INIT=y
CONFIG_S3C24XX_SDRAM_INIT=y
CONFIG_S3C24XX_NAND_BOOT=y
-# CONFIG_AEABI is not set
-
-#
-# Arm specific settings
-#
-CONFIG_CMD_ARM_CPUINFO=y
-CONFIG_CMDLINE_TAG=y
-CONFIG_SETUP_MEMORY_TAGS=y
-# CONFIG_INITRD_TAG is not set
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
-CONFIG_GREGORIAN_CALENDER=y
-CONFIG_HAS_KALLSYMS=y
-CONFIG_HAS_MODULES=y
-CONFIG_CMD_MEMORY=y
-CONFIG_ENV_HANDLING=y
-
-#
-# General Settings
-#
-CONFIG_LOCALVERSION_AUTO=y
-
-#
-# memory layout
-#
-CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
-CONFIG_TEXT_BASE=0x31fc0000
-CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
-CONFIG_MEMORY_LAYOUT_DEFAULT=y
-# CONFIG_MEMORY_LAYOUT_FIXED is not set
-CONFIG_STACK_SIZE=0x8000
-CONFIG_MALLOC_SIZE=0x400000
CONFIG_BROKEN=y
CONFIG_EXPERIMENTAL=y
-# CONFIG_MODULES is not set
-# CONFIG_KALLSYMS is not set
-CONFIG_MACH_HAS_LOWLEVEL_INIT=y
-CONFIG_MACH_DO_LOWLEVEL_INIT=y
-CONFIG_PROMPT="barebox:"
CONFIG_BAUDRATE=38400
CONFIG_LONGHELP=y
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-CONFIG_SHELL_HUSH=y
-# CONFIG_SHELL_SIMPLE is not set
CONFIG_GLOB=y
-CONFIG_PROMPT_HUSH_PS2="> "
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
-CONFIG_DYNAMIC_CRC_TABLE=y
-CONFIG_ERRNO_MESSAGES=y
-CONFIG_TIMESTAMP=y
-CONFIG_CONSOLE_FULL=y
-CONFIG_CONSOLE_ACTIVATE_FIRST=y
-# CONFIG_OF_FLAT_TREE is not set
CONFIG_PARTITION=y
-CONFIG_DEFAULT_ENVIRONMENT=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/a9m2440/env"
-
-#
-# Debugging
-#
CONFIG_DEBUG_INFO=y
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
-# CONFIG_ENABLE_DEVICE_NOISE is not set
-
-#
-# Commands
-#
-
-#
-# scripting
-#
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
@@ -125,116 +20,17 @@ CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
-CONFIG_CMD_TRUE=y
-CONFIG_CMD_FALSE=y
-
-#
-# file commands
-#
-CONFIG_CMD_LS=y
-CONFIG_CMD_RM=y
-CONFIG_CMD_CAT=y
-CONFIG_CMD_MKDIR=y
-CONFIG_CMD_RMDIR=y
-CONFIG_CMD_CP=y
-CONFIG_CMD_PWD=y
-CONFIG_CMD_CD=y
-CONFIG_CMD_MOUNT=y
-CONFIG_CMD_UMOUNT=y
-
-#
-# console
-#
-CONFIG_CMD_CLEAR=y
-CONFIG_CMD_ECHO=y
-
-#
-# memory
-#
-# CONFIG_CMD_LOADB is not set
-# CONFIG_CMD_LOADY is not set
-# CONFIG_CMD_LOADS is not set
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_CRC=y
CONFIG_CMD_MTEST=y
-# CONFIG_CMD_MTEST_ALTERNATIVE is not set
-
-#
-# flash
-#
CONFIG_CMD_FLASH=y
-
-#
-# booting
-#
-CONFIG_CMD_BOOTM=y
-# CONFIG_CMD_BOOTM_ZLIB is not set
-# CONFIG_CMD_BOOTM_BZLIB is not set
-# CONFIG_CMD_BOOTM_SHOW_TYPE is not set
-CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTU=y
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
-CONFIG_CMD_TEST=y
-CONFIG_CMD_VERSION=y
-CONFIG_CMD_HELP=y
-CONFIG_CMD_DEVINFO=y
CONFIG_NET=y
CONFIG_NET_DHCP=y
-# CONFIG_NET_RARP is not set
-# CONFIG_NET_NFS is not set
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
-# CONFIG_DRIVER_SERIAL_ARM_DCC is not set
-# CONFIG_DRIVER_SERIAL_NS16550 is not set
-CONFIG_DRIVER_SERIAL_S3C24X0=y
-# CONFIG_DRIVER_SERIAL_S3C24X0_AUTOSYNC is not set
-CONFIG_HAS_CS8900=y
-CONFIG_MIIDEV=y
-
-#
-# Network drivers
-#
-# CONFIG_DRIVER_NET_CS8900 is not set
-# CONFIG_DRIVER_NET_SMC911X is not set
CONFIG_DRIVER_NET_SMC91111=y
-
-#
-# SPI drivers
-#
# CONFIG_SPI is not set
-# CONFIG_I2C is not set
-
-#
-# flash drivers
-#
-# CONFIG_DRIVER_CFI is not set
-# CONFIG_DRIVER_CFI_OLD is not set
-CONFIG_NAND=y
-CONFIG_NAND_S3C24X0=y
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-# CONFIG_USB is not set
-# CONFIG_USB_GADGET is not set
-# CONFIG_VIDEO is not set
-
-#
-# Filesystem support
-#
-# CONFIG_FS_CRAMFS is not set
-CONFIG_FS_RAMFS=y
-CONFIG_FS_DEVFS=y
-CONFIG_CRC32=y
-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
diff --git a/arch/arm/configs/at91sam9260ek_defconfig b/arch/arm/configs/at91sam9260ek_defconfig
index 0387b713db..6038aec3fe 100644
--- a/arch/arm/configs/at91sam9260ek_defconfig
+++ b/arch/arm/configs/at91sam9260ek_defconfig
@@ -1,111 +1,10 @@
-#
-# Automatically generated make config: don't edit
-# barebox version: 2.0.0-rc10
-# Fri Dec 18 11:46:40 2009
-#
-# CONFIG_BOARD_LINKER_SCRIPT is not set
-CONFIG_GENERIC_LINKER_SCRIPT=y
-CONFIG_ARM=y
-
-#
-# System Type
-#
-CONFIG_ARCH_AT91=y
-# CONFIG_ARCH_AT91RM9200 is not set
-# CONFIG_ARCH_IMX is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_ARCH_S3C24xx is not set
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_ARM926T=y
-CONFIG_CPU_32v5=y
-
-#
-# processor features
-#
-CONFIG_ARCH_TEXT_BASE=0x23f00000
-CONFIG_BOARDINFO="Atmel 91SAM9260-EK"
-
-#
-# Atmel AT91 System-on-Chip
-#
-CONFIG_ARCH_AT91SAM9260=y
-# CONFIG_ARCH_AT91SAM9263 is not set
-CONFIG_MACH_AT91SAM9260EK=y
-# CONFIG_AEABI is not set
-
-#
-# Arm specific settings
-#
-CONFIG_CMD_ARM_CPUINFO=y
-CONFIG_CMDLINE_TAG=y
-CONFIG_SETUP_MEMORY_TAGS=y
-# CONFIG_INITRD_TAG is not set
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
-CONFIG_GREGORIAN_CALENDER=y
-CONFIG_HAS_KALLSYMS=y
-CONFIG_HAS_MODULES=y
-CONFIG_CMD_MEMORY=y
-CONFIG_ENV_HANDLING=y
-CONFIG_GENERIC_GPIO=y
-
-#
-# General Settings
-#
-CONFIG_LOCALVERSION_AUTO=y
-
-#
-# memory layout
-#
-CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
-CONFIG_TEXT_BASE=0x23f00000
-CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
-CONFIG_MEMORY_LAYOUT_DEFAULT=y
-# CONFIG_MEMORY_LAYOUT_FIXED is not set
-CONFIG_STACK_SIZE=0x8000
-CONFIG_MALLOC_SIZE=0x400000
-# CONFIG_BROKEN is not set
-# CONFIG_EXPERIMENTAL is not set
-CONFIG_PROMPT="barebox:"
-CONFIG_BAUDRATE=115200
CONFIG_LONGHELP=y
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-CONFIG_SHELL_HUSH=y
-# CONFIG_SHELL_SIMPLE is not set
CONFIG_GLOB=y
-CONFIG_PROMPT_HUSH_PS2="> "
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
-CONFIG_DYNAMIC_CRC_TABLE=y
-CONFIG_ERRNO_MESSAGES=y
-CONFIG_TIMESTAMP=y
-CONFIG_CONSOLE_FULL=y
-CONFIG_CONSOLE_ACTIVATE_FIRST=y
-# CONFIG_OF_FLAT_TREE is not set
CONFIG_PARTITION=y
-CONFIG_DEFAULT_ENVIRONMENT=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/at91sam9260ek/env"
-
-#
-# Debugging
-#
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
-# CONFIG_ENABLE_DEVICE_NOISE is not set
-
-#
-# Commands
-#
-
-#
-# scripting
-#
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
@@ -113,112 +12,18 @@ CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
-CONFIG_CMD_TRUE=y
-CONFIG_CMD_FALSE=y
-
-#
-# file commands
-#
-CONFIG_CMD_LS=y
-CONFIG_CMD_RM=y
-CONFIG_CMD_CAT=y
-CONFIG_CMD_MKDIR=y
-CONFIG_CMD_RMDIR=y
-CONFIG_CMD_CP=y
-CONFIG_CMD_PWD=y
-CONFIG_CMD_CD=y
-CONFIG_CMD_MOUNT=y
-CONFIG_CMD_UMOUNT=y
-
-#
-# console
-#
-CONFIG_CMD_CLEAR=y
-CONFIG_CMD_ECHO=y
-
-#
-# memory
-#
-# CONFIG_CMD_LOADB is not set
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_CRC=y
CONFIG_CMD_MTEST=y
-# CONFIG_CMD_MTEST_ALTERNATIVE is not set
-
-#
-# flash
-#
CONFIG_CMD_FLASH=y
-
-#
-# booting
-#
-CONFIG_CMD_BOOTM=y
-# CONFIG_CMD_BOOTM_ZLIB is not set
-# CONFIG_CMD_BOOTM_BZLIB is not set
-# CONFIG_CMD_BOOTM_SHOW_TYPE is not set
-CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTU=y
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
-CONFIG_CMD_TEST=y
-CONFIG_CMD_VERSION=y
-CONFIG_CMD_HELP=y
-CONFIG_CMD_DEVINFO=y
CONFIG_CMD_GPIO=y
CONFIG_NET=y
CONFIG_NET_DHCP=y
-# CONFIG_NET_RARP is not set
-# CONFIG_NET_NFS is not set
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
-# CONFIG_DRIVER_SERIAL_ARM_DCC is not set
-# CONFIG_DRIVER_SERIAL_NS16550 is not set
-CONFIG_DRIVER_SERIAL_ATMEL=y
-CONFIG_MIIDEV=y
-
-#
-# Network drivers
-#
-# CONFIG_DRIVER_NET_SMC911X is not set
-# CONFIG_DRIVER_NET_SMC91111 is not set
CONFIG_DRIVER_NET_MACB=y
-
-#
-# SPI drivers
-#
# CONFIG_SPI is not set
-# CONFIG_I2C is not set
-
-#
-# flash drivers
-#
-# CONFIG_DRIVER_CFI is not set
-# CONFIG_DRIVER_CFI_OLD is not set
-CONFIG_NAND=y
-CONFIG_NAND_ATMEL=y
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_USB is not set
-# CONFIG_USB_GADGET is not set
-# CONFIG_VIDEO is not set
-
-#
-# Filesystem support
-#
-# CONFIG_FS_CRAMFS is not set
-CONFIG_FS_RAMFS=y
-CONFIG_FS_DEVFS=y
-CONFIG_CRC32=y
-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
diff --git a/arch/arm/configs/at91sam9263ek_defconfig b/arch/arm/configs/at91sam9263ek_defconfig
index ae4006c47c..c92999f8c7 100644
--- a/arch/arm/configs/at91sam9263ek_defconfig
+++ b/arch/arm/configs/at91sam9263ek_defconfig
@@ -1,115 +1,12 @@
-#
-# Automatically generated make config: don't edit
-# barebox version: 2.0.0-rc10
-# Fri Dec 18 11:47:16 2009
-#
-# CONFIG_BOARD_LINKER_SCRIPT is not set
-CONFIG_GENERIC_LINKER_SCRIPT=y
-CONFIG_ARM=y
-
-#
-# System Type
-#
-CONFIG_ARCH_AT91=y
-# CONFIG_ARCH_AT91RM9200 is not set
-# CONFIG_ARCH_IMX is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_ARCH_S3C24xx is not set
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_ARM926T=y
-CONFIG_CPU_32v5=y
-
-#
-# processor features
-#
-CONFIG_ARCH_TEXT_BASE=0x23f00000
-CONFIG_BOARDINFO="Atmel at91sam9263-ek"
-
-#
-# Atmel AT91 System-on-Chip
-#
-# CONFIG_ARCH_AT91SAM9260 is not set
CONFIG_ARCH_AT91SAM9263=y
-CONFIG_MACH_AT91SAM9263EK=y
-# CONFIG_MACH_MMCCPU is not set
-# CONFIG_MACH_PM9263 is not set
-# CONFIG_AEABI is not set
-
-#
-# Arm specific settings
-#
-CONFIG_CMD_ARM_CPUINFO=y
-CONFIG_CMDLINE_TAG=y
-CONFIG_SETUP_MEMORY_TAGS=y
-# CONFIG_INITRD_TAG is not set
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
-CONFIG_GREGORIAN_CALENDER=y
-CONFIG_HAS_KALLSYMS=y
-CONFIG_HAS_MODULES=y
-CONFIG_CMD_MEMORY=y
-CONFIG_ENV_HANDLING=y
-CONFIG_GENERIC_GPIO=y
-
-#
-# General Settings
-#
-CONFIG_LOCALVERSION_AUTO=y
-
-#
-# memory layout
-#
-CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
-CONFIG_TEXT_BASE=0x23f00000
-CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
-CONFIG_MEMORY_LAYOUT_DEFAULT=y
-# CONFIG_MEMORY_LAYOUT_FIXED is not set
-CONFIG_STACK_SIZE=0x8000
-CONFIG_MALLOC_SIZE=0x400000
-# CONFIG_BROKEN is not set
-# CONFIG_EXPERIMENTAL is not set
-CONFIG_MACH_HAS_LOWLEVEL_INIT=y
-CONFIG_MACH_DO_LOWLEVEL_INIT=y
CONFIG_PROMPT="9263-EK:"
-CONFIG_BAUDRATE=115200
CONFIG_LONGHELP=y
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-CONFIG_SHELL_HUSH=y
-# CONFIG_SHELL_SIMPLE is not set
CONFIG_GLOB=y
-CONFIG_PROMPT_HUSH_PS2="> "
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
-CONFIG_DYNAMIC_CRC_TABLE=y
-CONFIG_ERRNO_MESSAGES=y
-CONFIG_TIMESTAMP=y
-CONFIG_CONSOLE_FULL=y
-CONFIG_CONSOLE_ACTIVATE_FIRST=y
-# CONFIG_OF_FLAT_TREE is not set
CONFIG_PARTITION=y
-CONFIG_DEFAULT_ENVIRONMENT=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/at91sam9263ek/env"
-
-#
-# Debugging
-#
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
-# CONFIG_ENABLE_DEVICE_NOISE is not set
-
-#
-# Commands
-#
-
-#
-# scripting
-#
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
@@ -117,121 +14,24 @@ CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
-CONFIG_CMD_TRUE=y
-CONFIG_CMD_FALSE=y
-
-#
-# file commands
-#
-CONFIG_CMD_LS=y
-CONFIG_CMD_RM=y
-CONFIG_CMD_CAT=y
-CONFIG_CMD_MKDIR=y
-CONFIG_CMD_RMDIR=y
-CONFIG_CMD_CP=y
-CONFIG_CMD_PWD=y
-CONFIG_CMD_CD=y
-CONFIG_CMD_MOUNT=y
-CONFIG_CMD_UMOUNT=y
-
-#
-# console
-#
-CONFIG_CMD_CLEAR=y
-CONFIG_CMD_ECHO=y
-
-#
-# memory
-#
-# CONFIG_CMD_LOADB is not set
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_CRC=y
CONFIG_CMD_MTEST=y
-# CONFIG_CMD_MTEST_ALTERNATIVE is not set
-
-#
-# flash
-#
CONFIG_CMD_FLASH=y
-
-#
-# booting
-#
-CONFIG_CMD_BOOTM=y
CONFIG_CMD_BOOTM_ZLIB=y
CONFIG_CMD_BOOTM_BZLIB=y
CONFIG_CMD_BOOTM_SHOW_TYPE=y
-CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTU=y
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
-CONFIG_CMD_TEST=y
-CONFIG_CMD_VERSION=y
-CONFIG_CMD_HELP=y
-CONFIG_CMD_DEVINFO=y
CONFIG_CMD_GPIO=y
CONFIG_NET=y
CONFIG_NET_DHCP=y
-# CONFIG_NET_RARP is not set
CONFIG_NET_NFS=y
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
-# CONFIG_DRIVER_SERIAL_ARM_DCC is not set
-# CONFIG_DRIVER_SERIAL_NS16550 is not set
-CONFIG_DRIVER_SERIAL_ATMEL=y
-CONFIG_MIIDEV=y
-
-#
-# Network drivers
-#
-# CONFIG_DRIVER_NET_SMC911X is not set
-# CONFIG_DRIVER_NET_SMC91111 is not set
CONFIG_DRIVER_NET_MACB=y
-
-#
-# SPI drivers
-#
# CONFIG_SPI is not set
-# CONFIG_I2C is not set
-
-#
-# flash drivers
-#
CONFIG_DRIVER_CFI=y
-CONFIG_DRIVER_CFI_NEW=y
-CONFIG_DRIVER_CFI_INTEL=y
-CONFIG_DRIVER_CFI_AMD=y
-CONFIG_DRIVER_CFI_BANK_WIDTH_1=y
-CONFIG_DRIVER_CFI_BANK_WIDTH_2=y
-CONFIG_DRIVER_CFI_BANK_WIDTH_4=y
-# CONFIG_DRIVER_CFI_BANK_WIDTH_8 is not set
CONFIG_CFI_BUFFER_WRITE=y
-CONFIG_NAND=y
-CONFIG_NAND_ATMEL=y
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_USB is not set
-# CONFIG_USB_GADGET is not set
-# CONFIG_VIDEO is not set
-
-#
-# Filesystem support
-#
-# CONFIG_FS_CRAMFS is not set
-CONFIG_FS_RAMFS=y
-CONFIG_FS_DEVFS=y
-CONFIG_ZLIB=y
-CONFIG_BZLIB=y
-CONFIG_CRC32=y
-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
diff --git a/arch/arm/configs/at91sam9g20ek_defconfig b/arch/arm/configs/at91sam9g20ek_defconfig
new file mode 100644
index 0000000000..bc7c242969
--- /dev/null
+++ b/arch/arm/configs/at91sam9g20ek_defconfig
@@ -0,0 +1,39 @@
+CONFIG_ARCH_AT91SAM9G20=y
+CONFIG_MACH_AT91SAM9G20EK=y
+CONFIG_AT91_HAVE_2MMC=y
+CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
+CONFIG_PROMPT="9G20-EK:"
+CONFIG_LONGHELP=y
+CONFIG_GLOB=y
+CONFIG_PROMPT_HUSH_PS2="y"
+CONFIG_CMDLINE_EDITING=y
+CONFIG_AUTO_COMPLETE=y
+CONFIG_PARTITION=y
+CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/at91sam9260ek/env"
+CONFIG_CMD_EDIT=y
+CONFIG_CMD_SLEEP=y
+CONFIG_CMD_SAVEENV=y
+CONFIG_CMD_LOADENV=y
+CONFIG_CMD_EXPORT=y
+CONFIG_CMD_PRINTENV=y
+CONFIG_CMD_READLINE=y
+CONFIG_CMD_MEMINFO=y
+CONFIG_CMD_CRC=y
+CONFIG_CMD_MTEST=y
+CONFIG_CMD_MTEST_ALTERNATIVE=y
+CONFIG_CMD_FLASH=y
+CONFIG_CMD_BOOTM_SHOW_TYPE=y
+CONFIG_CMD_RESET=y
+CONFIG_CMD_GO=y
+CONFIG_CMD_TIMEOUT=y
+CONFIG_CMD_PARTITION=y
+CONFIG_CMD_GPIO=y
+CONFIG_NET=y
+CONFIG_NET_DHCP=y
+CONFIG_NET_PING=y
+CONFIG_NET_TFTP=y
+CONFIG_DRIVER_NET_MACB=y
+# CONFIG_SPI is not set
+CONFIG_I2C=y
+CONFIG_DRIVER_CFI=y
+CONFIG_CFI_BUFFER_WRITE=y
diff --git a/arch/arm/configs/edb93xx_defconfig b/arch/arm/configs/edb93xx_defconfig
index 936bd4725c..3b663844e6 100644
--- a/arch/arm/configs/edb93xx_defconfig
+++ b/arch/arm/configs/edb93xx_defconfig
@@ -1,125 +1,12 @@
-#
-# Automatically generated make config: don't edit
-# barebox version: 2009.12.0
-# Fri Jan 8 17:27:15 2010
-#
-CONFIG_ARM=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_AT91RM9200 is not set
CONFIG_ARCH_EP93XX=y
-# CONFIG_ARCH_IMX is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_ARCH_S3C24xx is not set
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_ARM920T=y
-CONFIG_CPU_32v4T=y
-
-#
-# processor features
-#
-CONFIG_ARCH_TEXT_BASE=0x05700000
-CONFIG_BOARDINFO="Cirrus Logic EDB9301"
-CONFIG_EP93XX_SDCE3_SYNC_PHYS_OFFSET=y
-
-#
-# Cirrus EP93xx System-on-Chip
-#
-CONFIG_ARCH_EP9301=y
-# CONFIG_ARCH_EP9302 is not set
-# CONFIG_ARCH_EP9307 is not set
-# CONFIG_ARCH_EP9312 is not set
-# CONFIG_ARCH_EP9315 is not set
-CONFIG_MACH_EDB9301=y
-CONFIG_EP93XX_SDRAM_NUM_BANKS=4
-CONFIG_EP93XX_SDRAM_BANK0_BASE=0x00000000
-CONFIG_EP93XX_SDRAM_BANK0_SIZE=0x00800000
-CONFIG_EP93XX_SDRAM_BANK1_BASE=0x01000000
-CONFIG_EP93XX_SDRAM_BANK1_SIZE=0x00800000
-CONFIG_EP93XX_SDRAM_BANK2_BASE=0x04000000
-CONFIG_EP93XX_SDRAM_BANK2_SIZE=0x00800000
-CONFIG_EP93XX_SDRAM_BANK3_BASE=0x05000000
-CONFIG_EP93XX_SDRAM_BANK3_SIZE=0x00800000
CONFIG_AEABI=y
-
-#
-# Arm specific settings
-#
-CONFIG_CMD_ARM_CPUINFO=y
-CONFIG_CMDLINE_TAG=y
-CONFIG_SETUP_MEMORY_TAGS=y
-# CONFIG_INITRD_TAG is not set
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
-CONFIG_GREGORIAN_CALENDER=y
-CONFIG_HAS_KALLSYMS=y
-CONFIG_HAS_MODULES=y
-CONFIG_CMD_MEMORY=y
-CONFIG_ENV_HANDLING=y
-CONFIG_GENERIC_GPIO=y
-
-#
-# General Settings
-#
-CONFIG_LOCALVERSION_AUTO=y
-
-#
-# memory layout
-#
-CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
-CONFIG_TEXT_BASE=0x05700000
-CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
-CONFIG_MEMORY_LAYOUT_DEFAULT=y
-# CONFIG_MEMORY_LAYOUT_FIXED is not set
-CONFIG_STACK_SIZE=0x8000
-CONFIG_MALLOC_SIZE=0x400000
-# CONFIG_BROKEN is not set
-# CONFIG_EXPERIMENTAL is not set
-CONFIG_MACH_HAS_LOWLEVEL_INIT=y
-CONFIG_MACH_DO_LOWLEVEL_INIT=y
-CONFIG_PROMPT="barebox:"
-CONFIG_BAUDRATE=115200
CONFIG_LONGHELP=y
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-CONFIG_SHELL_HUSH=y
-# CONFIG_SHELL_SIMPLE is not set
CONFIG_GLOB=y
-CONFIG_PROMPT_HUSH_PS2="> "
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
-CONFIG_DYNAMIC_CRC_TABLE=y
-CONFIG_ERRNO_MESSAGES=y
-CONFIG_TIMESTAMP=y
-CONFIG_CONSOLE_FULL=y
-CONFIG_CONSOLE_ACTIVATE_FIRST=y
-# CONFIG_OF_FLAT_TREE is not set
CONFIG_PARTITION=y
-CONFIG_DEFAULT_ENVIRONMENT=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/edb93xx/env"
-
-#
-# Debugging
-#
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
-# CONFIG_ENABLE_DEVICE_NOISE is not set
-
-#
-# Commands
-#
-
-#
-# scripting
-#
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
@@ -127,110 +14,19 @@ CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
-CONFIG_CMD_TRUE=y
-CONFIG_CMD_FALSE=y
-
-#
-# file commands
-#
-CONFIG_CMD_LS=y
-CONFIG_CMD_RM=y
-CONFIG_CMD_CAT=y
-CONFIG_CMD_MKDIR=y
-CONFIG_CMD_RMDIR=y
-CONFIG_CMD_CP=y
-CONFIG_CMD_PWD=y
-CONFIG_CMD_CD=y
-CONFIG_CMD_MOUNT=y
-CONFIG_CMD_UMOUNT=y
-
-#
-# console
-#
-CONFIG_CMD_CLEAR=y
-CONFIG_CMD_ECHO=y
-
-#
-# memory
-#
-# CONFIG_CMD_LOADB is not set
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_CRC=y
CONFIG_CMD_MTEST=y
-# CONFIG_CMD_MTEST_ALTERNATIVE is not set
-
-#
-# flash
-#
CONFIG_CMD_FLASH=y
-
-#
-# booting
-#
-CONFIG_CMD_BOOTM=y
-# CONFIG_CMD_BOOTM_ZLIB is not set
-# CONFIG_CMD_BOOTM_BZLIB is not set
-# CONFIG_CMD_BOOTM_SHOW_TYPE is not set
-CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTU=y
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
-CONFIG_CMD_TEST=y
-CONFIG_CMD_VERSION=y
-CONFIG_CMD_HELP=y
-CONFIG_CMD_DEVINFO=y
CONFIG_CMD_GPIO=y
CONFIG_NET=y
CONFIG_NET_DHCP=y
-# CONFIG_NET_RARP is not set
-# CONFIG_NET_NFS is not set
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
-# CONFIG_DRIVER_SERIAL_ARM_DCC is not set
-# CONFIG_DRIVER_SERIAL_NS16550 is not set
-CONFIG_DRIVER_SERIAL_PL010=y
-CONFIG_MIIDEV=y
-
-#
-# Network drivers
-#
-# CONFIG_DRIVER_NET_SMC911X is not set
-# CONFIG_DRIVER_NET_SMC91111 is not set
CONFIG_DRIVER_NET_EP93XX=y
-
-#
-# SPI drivers
-#
# CONFIG_SPI is not set
-# CONFIG_I2C is not set
-
-#
-# flash drivers
-#
CONFIG_DRIVER_CFI=y
-# CONFIG_DRIVER_CFI_NEW is not set
-CONFIG_DRIVER_CFI_OLD=y
-# CONFIG_CFI_BUFFER_WRITE is not set
-# CONFIG_NAND is not set
-# CONFIG_USB is not set
-# CONFIG_USB_GADGET is not set
-# CONFIG_VIDEO is not set
-
-#
-# Filesystem support
-#
-# CONFIG_FS_CRAMFS is not set
-CONFIG_FS_RAMFS=y
-CONFIG_FS_DEVFS=y
-CONFIG_CRC32=y
-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
diff --git a/arch/arm/configs/eukrea_cpuimx25_defconfig b/arch/arm/configs/eukrea_cpuimx25_defconfig
index abafc7222a..feb758e91d 100644
--- a/arch/arm/configs/eukrea_cpuimx25_defconfig
+++ b/arch/arm/configs/eukrea_cpuimx25_defconfig
@@ -1,130 +1,18 @@
-#
-# Automatically generated make config: don't edit
-# barebox version: 2010.07.0
-# Thu Jul 29 09:54:50 2010
-#
-# CONFIG_BOARD_LINKER_SCRIPT is not set
-CONFIG_GENERIC_LINKER_SCRIPT=y
-CONFIG_ARM=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_AT91RM9200 is not set
-# CONFIG_ARCH_EP93XX is not set
CONFIG_ARCH_IMX=y
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_ARCH_S3C24xx is not set
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_ARM926T=y
-CONFIG_CPU_32v5=y
-
-#
-# processor features
-#
-CONFIG_ARCH_TEXT_BASE=0x83f00000
-CONFIG_BOARDINFO="Eukrea CPUIMX25"
-CONFIG_ARCH_HAS_FEC_IMX=y
CONFIG_ARCH_IMX_INTERNAL_BOOT=y
-
-#
-# Freescale i.MX System-on-Chip
-#
-# CONFIG_ARCH_IMX1 is not set
-# CONFIG_ARCH_IMX21 is not set
CONFIG_ARCH_IMX25=y
-# CONFIG_ARCH_IMX27 is not set
-# CONFIG_ARCH_IMX31 is not set
-# CONFIG_ARCH_IMX35 is not set
-CONFIG_MACH_EUKREA_CPUIMX25=y
-# CONFIG_MACH_FREESCALE_MX25_3STACK is not set
-
-#
-# Board specific settings
-#
-
-#
-# i.MX specific settings
-#
-# CONFIG_IMX_CLKO is not set
-# CONFIG_AEABI is not set
-
-#
-# Arm specific settings
-#
-CONFIG_CMD_ARM_CPUINFO=y
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
-CONFIG_GREGORIAN_CALENDER=y
-CONFIG_HAS_KALLSYMS=y
-CONFIG_HAS_MODULES=y
-CONFIG_CMD_MEMORY=y
-CONFIG_ENV_HANDLING=y
-CONFIG_GENERIC_GPIO=y
-
-#
-# General Settings
-#
-CONFIG_LOCALVERSION_AUTO=y
-
-#
-# memory layout
-#
-CONFIG_HAVE_MMU=y
CONFIG_MMU=y
-CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
-CONFIG_TEXT_BASE=0x83f00000
-CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
-CONFIG_MEMORY_LAYOUT_DEFAULT=y
-# CONFIG_MEMORY_LAYOUT_FIXED is not set
-CONFIG_STACK_SIZE=0x8000
CONFIG_MALLOC_SIZE=0x1000000
-# CONFIG_BROKEN is not set
-# CONFIG_EXPERIMENTAL is not set
-CONFIG_MACH_HAS_LOWLEVEL_INIT=y
-CONFIG_MACH_DO_LOWLEVEL_INIT=y
CONFIG_PROMPT="cpuimx25:"
-CONFIG_BAUDRATE=115200
CONFIG_LONGHELP=y
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-CONFIG_SHELL_HUSH=y
-# CONFIG_SHELL_SIMPLE is not set
CONFIG_GLOB=y
CONFIG_PROMPT_HUSH_PS2="cpuimx25>"
CONFIG_HUSH_FANCY_PROMPT=y
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
-CONFIG_DYNAMIC_CRC_TABLE=y
-CONFIG_ERRNO_MESSAGES=y
-CONFIG_TIMESTAMP=y
-CONFIG_CONSOLE_FULL=y
-CONFIG_CONSOLE_ACTIVATE_FIRST=y
-# CONFIG_OF_FLAT_TREE is not set
CONFIG_PARTITION=y
-CONFIG_DEFAULT_ENVIRONMENT=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/eukrea_cpuimx25/env"
-
-#
-# Debugging
-#
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
-# CONFIG_ENABLE_DEVICE_NOISE is not set
-
-#
-# Commands
-#
-
-#
-# scripting
-#
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
@@ -132,128 +20,30 @@ CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
-CONFIG_CMD_TRUE=y
-CONFIG_CMD_FALSE=y
-
-#
-# file commands
-#
-CONFIG_CMD_LS=y
-CONFIG_CMD_RM=y
-CONFIG_CMD_CAT=y
-CONFIG_CMD_MKDIR=y
-CONFIG_CMD_RMDIR=y
-CONFIG_CMD_CP=y
-CONFIG_CMD_PWD=y
-CONFIG_CMD_CD=y
-CONFIG_CMD_MOUNT=y
-CONFIG_CMD_UMOUNT=y
-
-#
-# console
-#
-CONFIG_CMD_CLEAR=y
-CONFIG_CMD_ECHO=y
CONFIG_CMD_ECHO_E=y
-
-#
-# memory
-#
-# CONFIG_CMD_LOADB is not set
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_CRC=y
CONFIG_CMD_MTEST=y
-# CONFIG_CMD_MTEST_ALTERNATIVE is not set
-
-#
-# flash
-#
CONFIG_CMD_FLASH=y
-# CONFIG_CMD_UBI is not set
-
-#
-# booting
-#
-CONFIG_CMD_BOOTM=y
CONFIG_CMD_BOOTM_ZLIB=y
CONFIG_CMD_BOOTM_BZLIB=y
CONFIG_CMD_BOOTM_SHOW_TYPE=y
-CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTU=y
-# CONFIG_CMD_LINUX16 is not set
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
-CONFIG_CMD_TEST=y
-CONFIG_CMD_VERSION=y
-CONFIG_CMD_HELP=y
-CONFIG_CMD_DEVINFO=y
CONFIG_CMD_BMP=y
CONFIG_CMD_GPIO=y
CONFIG_CMD_UNLZO=y
CONFIG_NET=y
CONFIG_NET_DHCP=y
-# CONFIG_NET_NFS is not set
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
-# CONFIG_NET_TFTP_PUSH is not set
-# CONFIG_NET_NETCONSOLE is not set
-# CONFIG_NET_RESOLV is not set
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
-# CONFIG_DRIVER_SERIAL_ARM_DCC is not set
-CONFIG_DRIVER_SERIAL_IMX=y
-# CONFIG_DRIVER_SERIAL_NS16550 is not set
-CONFIG_MIIDEV=y
-
-#
-# Network drivers
-#
-# CONFIG_DRIVER_NET_SMC911X is not set
-# CONFIG_DRIVER_NET_SMC91111 is not set
CONFIG_DRIVER_NET_FEC_IMX=y
-
-#
-# SPI drivers
-#
# CONFIG_SPI is not set
-# CONFIG_I2C is not set
-
-#
-# flash drivers
-#
-# CONFIG_DRIVER_CFI is not set
CONFIG_MTD=y
CONFIG_NAND=y
CONFIG_NAND_IMX=y
CONFIG_NAND_IMX_BOOT=y
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_UBI is not set
-# CONFIG_ATA is not set
-# CONFIG_USB is not set
-# CONFIG_USB_GADGET is not set
CONFIG_VIDEO=y
CONFIG_DRIVER_VIDEO_IMX=y
-# CONFIG_IMXFB_DRIVER_VIDEO_IMX_OVERLAY is not set
-
-#
-# Filesystem support
-#
-# CONFIG_FS_CRAMFS is not set
-CONFIG_FS_RAMFS=y
-CONFIG_FS_DEVFS=y
-CONFIG_ZLIB=y
-CONFIG_BZLIB=y
-CONFIG_CRC32=y
-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
-CONFIG_PROCESS_ESCAPE_SEQUENCE=y
-CONFIG_LZO_DECOMPRESS=y
diff --git a/arch/arm/configs/eukrea_cpuimx27_defconfig b/arch/arm/configs/eukrea_cpuimx27_defconfig
index 13df5677b0..75b849badf 100644
--- a/arch/arm/configs/eukrea_cpuimx27_defconfig
+++ b/arch/arm/configs/eukrea_cpuimx27_defconfig
@@ -1,140 +1,19 @@
-#
-# Automatically generated make config: don't edit
-# barebox version: 2010.05.0
-# Tue May 25 09:57:55 2010
-#
-# CONFIG_BOARD_LINKER_SCRIPT is not set
-CONFIG_GENERIC_LINKER_SCRIPT=y
-CONFIG_ARM=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_AT91RM9200 is not set
-# CONFIG_ARCH_EP93XX is not set
CONFIG_ARCH_IMX=y
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_ARCH_S3C24xx is not set
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_ARM926T=y
-CONFIG_CPU_32v5=y
-
-#
-# processor features
-#
-CONFIG_ARCH_TEXT_BASE=0xa0000000
-CONFIG_BOARDINFO="Eukrea CPUIMX27"
-CONFIG_ARCH_HAS_FEC_IMX=y
-
-#
-# Freescale i.MX System-on-Chip
-#
-# CONFIG_ARCH_IMX1 is not set
-# CONFIG_ARCH_IMX21 is not set
-# CONFIG_ARCH_IMX25 is not set
CONFIG_ARCH_IMX27=y
-# CONFIG_ARCH_IMX31 is not set
-# CONFIG_ARCH_IMX35 is not set
-CONFIG_MACH_EUKREA_CPUIMX27=y
-# CONFIG_MACH_IMX27ADS is not set
-# CONFIG_MACH_PCA100 is not set
-# CONFIG_MACH_PCM038 is not set
-
-#
-# Board specific settings
-#
-CONFIG_EUKREA_CPUIMX27_SDRAM_128MB=y
-# CONFIG_EUKREA_CPUIMX27_SDRAM_256MB is not set
-CONFIG_EUKREA_CPUIMX27_NOR_32MB=y
-# CONFIG_EUKREA_CPUIMX27_NOR_64MB is not set
-CONFIG_EUKREA_CPUIMX27_QUART1=y
-# CONFIG_EUKREA_CPUIMX27_QUART2 is not set
-# CONFIG_EUKREA_CPUIMX27_QUART3 is not set
-# CONFIG_EUKREA_CPUIMX27_QUART4 is not set
-
-#
-# i.MX specific settings
-#
CONFIG_IMX_CLKO=y
-# CONFIG_AEABI is not set
-
-#
-# Arm specific settings
-#
-CONFIG_CMD_ARM_CPUINFO=y
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
-CONFIG_GREGORIAN_CALENDER=y
-CONFIG_HAS_KALLSYMS=y
-CONFIG_HAS_MODULES=y
-CONFIG_CMD_MEMORY=y
-CONFIG_ENV_HANDLING=y
-CONFIG_GENERIC_GPIO=y
-
-#
-# General Settings
-#
-CONFIG_LOCALVERSION_AUTO=y
-
-#
-# memory layout
-#
-CONFIG_HAVE_MMU=y
CONFIG_MMU=y
-CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
CONFIG_TEXT_BASE=0xa7f00000
-CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
-CONFIG_MEMORY_LAYOUT_DEFAULT=y
-# CONFIG_MEMORY_LAYOUT_FIXED is not set
-CONFIG_STACK_SIZE=0x8000
CONFIG_MALLOC_SIZE=0x800000
-# CONFIG_BROKEN is not set
-# CONFIG_EXPERIMENTAL is not set
-CONFIG_MACH_HAS_LOWLEVEL_INIT=y
-CONFIG_MACH_DO_LOWLEVEL_INIT=y
-CONFIG_PROMPT="barebox:"
-CONFIG_BAUDRATE=115200
CONFIG_LONGHELP=y
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-CONFIG_SHELL_HUSH=y
-# CONFIG_SHELL_SIMPLE is not set
CONFIG_GLOB=y
-CONFIG_PROMPT_HUSH_PS2="> "
CONFIG_HUSH_FANCY_PROMPT=y
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
-CONFIG_DYNAMIC_CRC_TABLE=y
-CONFIG_ERRNO_MESSAGES=y
-CONFIG_TIMESTAMP=y
-CONFIG_CONSOLE_FULL=y
# CONFIG_CONSOLE_ACTIVATE_FIRST is not set
CONFIG_CONSOLE_ACTIVATE_ALL=y
-# CONFIG_OF_FLAT_TREE is not set
CONFIG_PARTITION=y
-CONFIG_DEFAULT_ENVIRONMENT=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/eukrea_cpuimx27/env"
-
-#
-# Debugging
-#
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
-# CONFIG_ENABLE_DEVICE_NOISE is not set
-
-#
-# Commands
-#
-
-#
-# scripting
-#
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
@@ -142,134 +21,34 @@ CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
-CONFIG_CMD_TRUE=y
-CONFIG_CMD_FALSE=y
-
-#
-# file commands
-#
-CONFIG_CMD_LS=y
-CONFIG_CMD_RM=y
-CONFIG_CMD_CAT=y
-CONFIG_CMD_MKDIR=y
-CONFIG_CMD_RMDIR=y
-CONFIG_CMD_CP=y
-CONFIG_CMD_PWD=y
-CONFIG_CMD_CD=y
-CONFIG_CMD_MOUNT=y
-CONFIG_CMD_UMOUNT=y
-
-#
-# console
-#
-CONFIG_CMD_CLEAR=y
-CONFIG_CMD_ECHO=y
CONFIG_CMD_ECHO_E=y
-
-#
-# memory
-#
-# CONFIG_CMD_LOADB is not set
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_CRC=y
CONFIG_CMD_MTEST=y
-# CONFIG_CMD_MTEST_ALTERNATIVE is not set
-
-#
-# flash
-#
CONFIG_CMD_FLASH=y
-
-#
-# booting
-#
-CONFIG_CMD_BOOTM=y
-# CONFIG_CMD_BOOTM_ZLIB is not set
-# CONFIG_CMD_BOOTM_BZLIB is not set
CONFIG_CMD_BOOTM_SHOW_TYPE=y
-CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTU=y
-# CONFIG_CMD_LINUX16 is not set
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
-CONFIG_CMD_TEST=y
-CONFIG_CMD_VERSION=y
-CONFIG_CMD_HELP=y
-CONFIG_CMD_DEVINFO=y
CONFIG_CMD_BMP=y
CONFIG_CMD_GPIO=y
CONFIG_CMD_UNLZO=y
CONFIG_CMD_I2C=y
CONFIG_NET=y
CONFIG_NET_DHCP=y
-# CONFIG_NET_RARP is not set
-# CONFIG_NET_NFS is not set
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
-# CONFIG_DRIVER_SERIAL_ARM_DCC is not set
-CONFIG_DRIVER_SERIAL_IMX=y
CONFIG_DRIVER_SERIAL_NS16550=y
-CONFIG_MIIDEV=y
-
-#
-# Network drivers
-#
-# CONFIG_DRIVER_NET_SMC911X is not set
-# CONFIG_DRIVER_NET_SMC91111 is not set
CONFIG_DRIVER_NET_FEC_IMX=y
-
-#
-# SPI drivers
-#
# CONFIG_SPI is not set
CONFIG_I2C=y
-CONFIG_DRIVER_I2C_IMX=y
-# CONFIG_DRIVER_I2C_MC13892 is not set
-# CONFIG_DRIVER_I2C_MC9SDZ60 is not set
-CONFIG_DRIVER_I2C_LP3972=y
-
-#
-# flash drivers
-#
-CONFIG_HAS_CFI=y
+CONFIG_I2C_IMX=y
+CONFIG_I2C_LP3972=y
CONFIG_DRIVER_CFI=y
-CONFIG_DRIVER_CFI_INTEL=y
# CONFIG_DRIVER_CFI_AMD is not set
# CONFIG_DRIVER_CFI_BANK_WIDTH_1 is not set
-CONFIG_DRIVER_CFI_BANK_WIDTH_2=y
# CONFIG_DRIVER_CFI_BANK_WIDTH_4 is not set
-# CONFIG_DRIVER_CFI_BANK_WIDTH_8 is not set
CONFIG_CFI_BUFFER_WRITE=y
-CONFIG_NAND=y
-CONFIG_NAND_IMX=y
-# CONFIG_NAND_IMX_BOOT is not set
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_ATA is not set
-# CONFIG_USB is not set
-# CONFIG_USB_GADGET is not set
CONFIG_VIDEO=y
CONFIG_DRIVER_VIDEO_IMX=y
-# CONFIG_IMXFB_DRIVER_VIDEO_IMX_OVERLAY is not set
-
-#
-# Filesystem support
-#
-# CONFIG_FS_CRAMFS is not set
-CONFIG_FS_RAMFS=y
-CONFIG_FS_DEVFS=y
-CONFIG_CRC32=y
-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
-CONFIG_PROCESS_ESCAPE_SEQUENCE=y
-CONFIG_LZO_DECOMPRESS=y
diff --git a/arch/arm/configs/eukrea_cpuimx35_defconfig b/arch/arm/configs/eukrea_cpuimx35_defconfig
index 77f52465e6..975d09519b 100644
--- a/arch/arm/configs/eukrea_cpuimx35_defconfig
+++ b/arch/arm/configs/eukrea_cpuimx35_defconfig
@@ -1,133 +1,16 @@
-#
-# Automatically generated make config: don't edit
-# barebox version: 2010.07.0
-# Wed Jul 28 21:46:15 2010
-#
-# CONFIG_BOARD_LINKER_SCRIPT is not set
-CONFIG_GENERIC_LINKER_SCRIPT=y
-CONFIG_ARM=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_AT91RM9200 is not set
-# CONFIG_ARCH_EP93XX is not set
CONFIG_ARCH_IMX=y
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_ARCH_S3C24xx is not set
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_V6=y
-CONFIG_CPU_32v6=y
-
-#
-# processor features
-#
-CONFIG_ARCH_HAS_L2X0=y
CONFIG_CACHE_L2X0=y
-CONFIG_ARCH_TEXT_BASE=0x87f00000
-CONFIG_BOARDINFO="Eukrea CPUIMX35"
-CONFIG_ARCH_HAS_FEC_IMX=y
CONFIG_ARCH_IMX_INTERNAL_BOOT=y
-
-#
-# Freescale i.MX System-on-Chip
-#
-# CONFIG_ARCH_IMX1 is not set
-# CONFIG_ARCH_IMX21 is not set
-# CONFIG_ARCH_IMX25 is not set
-# CONFIG_ARCH_IMX27 is not set
-# CONFIG_ARCH_IMX31 is not set
CONFIG_ARCH_IMX35=y
-CONFIG_MACH_EUKREA_CPUIMX35=y
-# CONFIG_MACH_FREESCALE_MX35_3STACK is not set
-# CONFIG_MACH_PCM043 is not set
-
-#
-# Board specific settings
-#
-
-#
-# i.MX specific settings
-#
-# CONFIG_IMX_CLKO is not set
-# CONFIG_AEABI is not set
-
-#
-# Arm specific settings
-#
-CONFIG_CMD_ARM_CPUINFO=y
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
-CONFIG_GREGORIAN_CALENDER=y
-CONFIG_HAS_KALLSYMS=y
-CONFIG_HAS_MODULES=y
-CONFIG_CMD_MEMORY=y
-CONFIG_ENV_HANDLING=y
-CONFIG_GENERIC_GPIO=y
-
-#
-# General Settings
-#
-CONFIG_LOCALVERSION_AUTO=y
-
-#
-# memory layout
-#
-CONFIG_HAVE_MMU=y
CONFIG_MMU=y
-CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
-CONFIG_TEXT_BASE=0x87f00000
-CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
-CONFIG_MEMORY_LAYOUT_DEFAULT=y
-# CONFIG_MEMORY_LAYOUT_FIXED is not set
-CONFIG_STACK_SIZE=0x8000
CONFIG_MALLOC_SIZE=0x800000
-# CONFIG_BROKEN is not set
-# CONFIG_EXPERIMENTAL is not set
-CONFIG_MACH_HAS_LOWLEVEL_INIT=y
-CONFIG_MACH_DO_LOWLEVEL_INIT=y
-CONFIG_PROMPT="barebox:"
-CONFIG_BAUDRATE=115200
CONFIG_LONGHELP=y
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-CONFIG_SHELL_HUSH=y
-# CONFIG_SHELL_SIMPLE is not set
CONFIG_GLOB=y
-CONFIG_PROMPT_HUSH_PS2="> "
CONFIG_HUSH_FANCY_PROMPT=y
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
-CONFIG_DYNAMIC_CRC_TABLE=y
-CONFIG_ERRNO_MESSAGES=y
-CONFIG_TIMESTAMP=y
-CONFIG_CONSOLE_FULL=y
-CONFIG_CONSOLE_ACTIVATE_FIRST=y
-# CONFIG_OF_FLAT_TREE is not set
-# CONFIG_PARTITION is not set
-CONFIG_DEFAULT_ENVIRONMENT=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/eukrea_cpuimx35/env"
-
-#
-# Debugging
-#
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
-# CONFIG_ENABLE_DEVICE_NOISE is not set
-
-#
-# Commands
-#
-
-#
-# scripting
-#
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
@@ -135,126 +18,28 @@ CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
-CONFIG_CMD_TRUE=y
-CONFIG_CMD_FALSE=y
-
-#
-# file commands
-#
-CONFIG_CMD_LS=y
-CONFIG_CMD_RM=y
-CONFIG_CMD_CAT=y
-CONFIG_CMD_MKDIR=y
-CONFIG_CMD_RMDIR=y
-CONFIG_CMD_CP=y
-CONFIG_CMD_PWD=y
-CONFIG_CMD_CD=y
-CONFIG_CMD_MOUNT=y
-CONFIG_CMD_UMOUNT=y
-
-#
-# console
-#
-CONFIG_CMD_CLEAR=y
-CONFIG_CMD_ECHO=y
CONFIG_CMD_ECHO_E=y
-
-#
-# memory
-#
CONFIG_CMD_LOADB=y
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_CRC=y
CONFIG_CMD_MTEST=y
-# CONFIG_CMD_MTEST_ALTERNATIVE is not set
-
-#
-# flash
-#
CONFIG_CMD_FLASH=y
-# CONFIG_CMD_UBI is not set
-
-#
-# booting
-#
-CONFIG_CMD_BOOTM=y
-# CONFIG_CMD_BOOTM_ZLIB is not set
-# CONFIG_CMD_BOOTM_BZLIB is not set
-# CONFIG_CMD_BOOTM_SHOW_TYPE is not set
-CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTU=y
-# CONFIG_CMD_LINUX16 is not set
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
-CONFIG_CMD_TEST=y
-CONFIG_CMD_VERSION=y
-CONFIG_CMD_HELP=y
-CONFIG_CMD_DEVINFO=y
CONFIG_CMD_BMP=y
CONFIG_CMD_GPIO=y
CONFIG_CMD_UNLZO=y
CONFIG_NET=y
CONFIG_NET_DHCP=y
-# CONFIG_NET_NFS is not set
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
-# CONFIG_NET_TFTP_PUSH is not set
-# CONFIG_NET_NETCONSOLE is not set
-# CONFIG_NET_RESOLV is not set
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
-# CONFIG_DRIVER_SERIAL_ARM_DCC is not set
-CONFIG_DRIVER_SERIAL_IMX=y
-# CONFIG_DRIVER_SERIAL_NS16550 is not set
-CONFIG_MIIDEV=y
-
-#
-# Network drivers
-#
-# CONFIG_DRIVER_NET_SMC911X is not set
-# CONFIG_DRIVER_NET_SMC91111 is not set
CONFIG_DRIVER_NET_FEC_IMX=y
-
-#
-# SPI drivers
-#
# CONFIG_SPI is not set
-# CONFIG_I2C is not set
-
-#
-# flash drivers
-#
-# CONFIG_DRIVER_CFI is not set
CONFIG_MTD=y
CONFIG_NAND=y
CONFIG_NAND_IMX=y
CONFIG_NAND_IMX_BOOT=y
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_UBI is not set
-# CONFIG_ATA is not set
-# CONFIG_USB is not set
-# CONFIG_USB_GADGET is not set
CONFIG_VIDEO=y
CONFIG_DRIVER_VIDEO_IMX_IPU=y
-
-#
-# Filesystem support
-#
-# CONFIG_FS_CRAMFS is not set
-CONFIG_FS_RAMFS=y
-CONFIG_FS_DEVFS=y
-CONFIG_CRC32=y
-CONFIG_CRC16=y
-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
-CONFIG_PROCESS_ESCAPE_SEQUENCE=y
-CONFIG_LZO_DECOMPRESS=y
diff --git a/arch/arm/configs/freescale_mx25_3stack_defconfig b/arch/arm/configs/freescale_mx25_3stack_defconfig
index b45b995f26..e833636eef 100644
--- a/arch/arm/configs/freescale_mx25_3stack_defconfig
+++ b/arch/arm/configs/freescale_mx25_3stack_defconfig
@@ -1,128 +1,14 @@
-#
-# Automatically generated make config: don't edit
-# barebox version: 2.0.0-rc10
-# Fri Dec 18 11:47:29 2009
-#
-# CONFIG_BOARD_LINKER_SCRIPT is not set
-CONFIG_GENERIC_LINKER_SCRIPT=y
-CONFIG_ARM=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_AT91RM9200 is not set
CONFIG_ARCH_IMX=y
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_ARCH_S3C24xx is not set
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_ARM926T=y
-CONFIG_CPU_32v5=y
-
-#
-# processor features
-#
-CONFIG_ARCH_TEXT_BASE=0x87f00000
-CONFIG_BOARDINFO="Freescale MX25 3Stack"
-CONFIG_ARCH_HAS_FEC_IMX=y
-# CONFIG_ARCH_IMX_INTERNAL_BOOT is not set
-
-#
-# Freescale i.MX System-on-Chip
-#
-# CONFIG_ARCH_IMX1 is not set
-# CONFIG_ARCH_IMX21 is not set
CONFIG_ARCH_IMX25=y
-# CONFIG_ARCH_IMX27 is not set
-# CONFIG_ARCH_IMX31 is not set
-# CONFIG_ARCH_IMX35 is not set
CONFIG_MACH_FREESCALE_MX25_3STACK=y
-
-#
-# Board specific settings
-#
-
-#
-# i.MX specific settings
-#
-# CONFIG_IMX_CLKO is not set
-# CONFIG_AEABI is not set
-
-#
-# Arm specific settings
-#
-CONFIG_CMD_ARM_CPUINFO=y
-CONFIG_CMDLINE_TAG=y
-CONFIG_SETUP_MEMORY_TAGS=y
-# CONFIG_INITRD_TAG is not set
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
-CONFIG_GREGORIAN_CALENDER=y
-CONFIG_HAS_KALLSYMS=y
-CONFIG_HAS_MODULES=y
-CONFIG_CMD_MEMORY=y
-CONFIG_ENV_HANDLING=y
-CONFIG_GENERIC_GPIO=y
-
-#
-# General Settings
-#
-CONFIG_LOCALVERSION_AUTO=y
-
-#
-# memory layout
-#
-CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
CONFIG_TEXT_BASE=0x87F00000
-CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
-CONFIG_MEMORY_LAYOUT_DEFAULT=y
-# CONFIG_MEMORY_LAYOUT_FIXED is not set
-CONFIG_STACK_SIZE=0x8000
-CONFIG_MALLOC_SIZE=0x400000
-# CONFIG_BROKEN is not set
-# CONFIG_EXPERIMENTAL is not set
-CONFIG_MACH_HAS_LOWLEVEL_INIT=y
-CONFIG_MACH_DO_LOWLEVEL_INIT=y
-CONFIG_PROMPT="barebox:"
-CONFIG_BAUDRATE=115200
-# CONFIG_LONGHELP is not set
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-CONFIG_SHELL_HUSH=y
-# CONFIG_SHELL_SIMPLE is not set
CONFIG_GLOB=y
-CONFIG_PROMPT_HUSH_PS2="> "
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
-CONFIG_DYNAMIC_CRC_TABLE=y
# CONFIG_ERRNO_MESSAGES is not set
-CONFIG_TIMESTAMP=y
-CONFIG_CONSOLE_FULL=y
-CONFIG_CONSOLE_ACTIVATE_FIRST=y
-# CONFIG_OF_FLAT_TREE is not set
CONFIG_PARTITION=y
-CONFIG_DEFAULT_ENVIRONMENT=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/freescale-mx25-3-stack/env/"
-
-#
-# Debugging
-#
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
-# CONFIG_ENABLE_DEVICE_NOISE is not set
-
-#
-# Commands
-#
-
-#
-# scripting
-#
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
@@ -130,115 +16,19 @@ CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
-CONFIG_CMD_TRUE=y
-CONFIG_CMD_FALSE=y
-
-#
-# file commands
-#
-CONFIG_CMD_LS=y
-CONFIG_CMD_RM=y
-CONFIG_CMD_CAT=y
-CONFIG_CMD_MKDIR=y
-CONFIG_CMD_RMDIR=y
-CONFIG_CMD_CP=y
-CONFIG_CMD_PWD=y
-CONFIG_CMD_CD=y
-CONFIG_CMD_MOUNT=y
-CONFIG_CMD_UMOUNT=y
-
-#
-# console
-#
-CONFIG_CMD_CLEAR=y
-CONFIG_CMD_ECHO=y
-
-#
-# memory
-#
-# CONFIG_CMD_LOADB is not set
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_CRC=y
-# CONFIG_CMD_MTEST is not set
-
-#
-# flash
-#
CONFIG_CMD_FLASH=y
-
-#
-# booting
-#
-CONFIG_CMD_BOOTM=y
-# CONFIG_CMD_BOOTM_ZLIB is not set
-# CONFIG_CMD_BOOTM_BZLIB is not set
-# CONFIG_CMD_BOOTM_SHOW_TYPE is not set
-CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTU=y
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
-CONFIG_CMD_TEST=y
-CONFIG_CMD_VERSION=y
-CONFIG_CMD_HELP=y
-CONFIG_CMD_DEVINFO=y
CONFIG_CMD_GPIO=y
CONFIG_NET=y
CONFIG_NET_DHCP=y
-# CONFIG_NET_RARP is not set
-# CONFIG_NET_NFS is not set
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
-# CONFIG_DRIVER_SERIAL_ARM_DCC is not set
-CONFIG_DRIVER_SERIAL_IMX=y
-# CONFIG_DRIVER_SERIAL_NS16550 is not set
-CONFIG_MIIDEV=y
-
-#
-# Network drivers
-#
-# CONFIG_DRIVER_NET_SMC911X is not set
-# CONFIG_DRIVER_NET_SMC91111 is not set
CONFIG_DRIVER_NET_FEC_IMX=y
-# CONFIG_NET_USB is not set
-
-#
-# SPI drivers
-#
# CONFIG_SPI is not set
-# CONFIG_I2C is not set
-
-#
-# flash drivers
-#
-CONFIG_HAS_CFI=y
-# CONFIG_DRIVER_CFI is not set
-# CONFIG_DRIVER_CFI_OLD is not set
-CONFIG_NAND=y
-# CONFIG_NAND_IMX is not set
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND_IDS=y
CONFIG_USB=y
CONFIG_USB_EHCI=y
-# CONFIG_USB_ISP1504 is not set
-# CONFIG_USB_GADGET is not set
-# CONFIG_VIDEO is not set
-
-#
-# Filesystem support
-#
-# CONFIG_FS_CRAMFS is not set
-CONFIG_FS_RAMFS=y
-CONFIG_FS_DEVFS=y
-CONFIG_CRC32=y
-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
diff --git a/arch/arm/configs/freescale_mx35_3stack_defconfig b/arch/arm/configs/freescale_mx35_3stack_defconfig
index ff3ba6a9e7..20c59535bf 100644
--- a/arch/arm/configs/freescale_mx35_3stack_defconfig
+++ b/arch/arm/configs/freescale_mx35_3stack_defconfig
@@ -1,127 +1,16 @@
-#
-# Automatically generated make config: don't edit
-# barebox version: 2009.12.0-pre
-# Tue Dec 22 17:43:43 2009
-#
-# CONFIG_BOARD_LINKER_SCRIPT is not set
-CONFIG_GENERIC_LINKER_SCRIPT=y
-CONFIG_ARM=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_AT91RM9200 is not set
CONFIG_ARCH_IMX=y
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_ARCH_S3C24xx is not set
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-
-#
-# processor features
-#
-CONFIG_ARCH_TEXT_BASE=0x87f00000
-CONFIG_BOARDINFO="Freescale MX35 3Stack"
-CONFIG_ARCH_HAS_FEC_IMX=y
-# CONFIG_ARCH_IMX_INTERNAL_BOOT is not set
-
-#
-# Freescale i.MX System-on-Chip
-#
-# CONFIG_ARCH_IMX1 is not set
-# CONFIG_ARCH_IMX21 is not set
-# CONFIG_ARCH_IMX25 is not set
-# CONFIG_ARCH_IMX27 is not set
-# CONFIG_ARCH_IMX31 is not set
CONFIG_ARCH_IMX35=y
CONFIG_MACH_FREESCALE_MX35_3STACK=y
-# CONFIG_MACH_PCM043 is not set
-
-#
-# Board specific settings
-#
-
-#
-# i.MX specific settings
-#
-# CONFIG_IMX_CLKO is not set
CONFIG_AEABI=y
-
-#
-# Arm specific settings
-#
-CONFIG_CMD_ARM_CPUINFO=y
-CONFIG_CMDLINE_TAG=y
-CONFIG_SETUP_MEMORY_TAGS=y
-# CONFIG_INITRD_TAG is not set
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
-CONFIG_GREGORIAN_CALENDER=y
-CONFIG_HAS_KALLSYMS=y
-CONFIG_HAS_MODULES=y
-CONFIG_CMD_MEMORY=y
-CONFIG_ENV_HANDLING=y
-CONFIG_GENERIC_GPIO=y
-
-#
-# General Settings
-#
-CONFIG_LOCALVERSION_AUTO=y
-
-#
-# memory layout
-#
-CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
CONFIG_TEXT_BASE=0x87F00000
-CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
-CONFIG_MEMORY_LAYOUT_DEFAULT=y
-# CONFIG_MEMORY_LAYOUT_FIXED is not set
-CONFIG_STACK_SIZE=0x8000
CONFIG_MALLOC_SIZE=0x1000000
-# CONFIG_BROKEN is not set
-# CONFIG_EXPERIMENTAL is not set
-CONFIG_MACH_HAS_LOWLEVEL_INIT=y
-CONFIG_MACH_DO_LOWLEVEL_INIT=y
-CONFIG_PROMPT="barebox:"
-CONFIG_BAUDRATE=115200
CONFIG_LONGHELP=y
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-CONFIG_SHELL_HUSH=y
-# CONFIG_SHELL_SIMPLE is not set
CONFIG_GLOB=y
-CONFIG_PROMPT_HUSH_PS2="> "
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
-CONFIG_DYNAMIC_CRC_TABLE=y
-CONFIG_ERRNO_MESSAGES=y
-CONFIG_TIMESTAMP=y
-CONFIG_CONSOLE_FULL=y
-CONFIG_CONSOLE_ACTIVATE_FIRST=y
-# CONFIG_OF_FLAT_TREE is not set
CONFIG_PARTITION=y
-CONFIG_DEFAULT_ENVIRONMENT=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/freescale-mx35-3-stack/env/"
-
-#
-# Debugging
-#
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
-# CONFIG_ENABLE_DEVICE_NOISE is not set
-
-#
-# Commands
-#
-
-#
-# scripting
-#
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
@@ -129,121 +18,22 @@ CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
-CONFIG_CMD_TRUE=y
-CONFIG_CMD_FALSE=y
-
-#
-# file commands
-#
-CONFIG_CMD_LS=y
-CONFIG_CMD_RM=y
-CONFIG_CMD_CAT=y
-CONFIG_CMD_MKDIR=y
-CONFIG_CMD_RMDIR=y
-CONFIG_CMD_CP=y
-CONFIG_CMD_PWD=y
-CONFIG_CMD_CD=y
-CONFIG_CMD_MOUNT=y
-CONFIG_CMD_UMOUNT=y
-
-#
-# console
-#
-CONFIG_CMD_CLEAR=y
-CONFIG_CMD_ECHO=y
-
-#
-# memory
-#
-# CONFIG_CMD_LOADB is not set
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_CRC=y
-# CONFIG_CMD_MTEST is not set
-
-#
-# flash
-#
CONFIG_CMD_FLASH=y
-
-#
-# booting
-#
-CONFIG_CMD_BOOTM=y
-# CONFIG_CMD_BOOTM_ZLIB is not set
-# CONFIG_CMD_BOOTM_BZLIB is not set
-# CONFIG_CMD_BOOTM_SHOW_TYPE is not set
-CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTU=y
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
-CONFIG_CMD_TEST=y
-CONFIG_CMD_VERSION=y
-CONFIG_CMD_HELP=y
-CONFIG_CMD_DEVINFO=y
CONFIG_CMD_BMP=y
-# CONFIG_CMD_GPIO is not set
CONFIG_NET=y
CONFIG_NET_DHCP=y
-# CONFIG_NET_RARP is not set
-# CONFIG_NET_NFS is not set
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
-# CONFIG_DRIVER_SERIAL_ARM_DCC is not set
-CONFIG_DRIVER_SERIAL_IMX=y
-# CONFIG_DRIVER_SERIAL_NS16550 is not set
-CONFIG_MIIDEV=y
-
-#
-# Network drivers
-#
CONFIG_DRIVER_NET_SMC911X=y
-CONFIG_DRIVER_NET_SMC911X_ADDRESS_SHIFT=0
-# CONFIG_DRIVER_NET_SMC91111 is not set
CONFIG_DRIVER_NET_FEC_IMX=y
-
-#
-# SPI drivers
-#
# CONFIG_SPI is not set
-CONFIG_I2C=y
-CONFIG_DRIVER_I2C_IMX=y
-CONFIG_DRIVER_I2C_MC13892=y
-CONFIG_DRIVER_I2C_MC9SDZ60=y
-
-#
-# flash drivers
-#
-CONFIG_HAS_CFI=y
CONFIG_DRIVER_CFI=y
-# CONFIG_DRIVER_CFI_NEW is not set
-CONFIG_DRIVER_CFI_OLD=y
CONFIG_CFI_BUFFER_WRITE=y
-CONFIG_NAND=y
-CONFIG_NAND_IMX=y
-CONFIG_NAND_IMX_BOOT=y
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_USB is not set
-# CONFIG_USB_GADGET is not set
CONFIG_VIDEO=y
CONFIG_DRIVER_VIDEO_IMX_IPU=y
-
-#
-# Filesystem support
-#
-# CONFIG_FS_CRAMFS is not set
-CONFIG_FS_RAMFS=y
-CONFIG_FS_DEVFS=y
-CONFIG_CRC32=y
-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
diff --git a/arch/arm/configs/mmccpu_defconfig b/arch/arm/configs/mmccpu_defconfig
index e196a0cf52..3f1af6a961 100644
--- a/arch/arm/configs/mmccpu_defconfig
+++ b/arch/arm/configs/mmccpu_defconfig
@@ -1,115 +1,13 @@
-#
-# Automatically generated make config: don't edit
-# barebox version: 2.0.0-rc10
-# Fri Dec 18 11:47:54 2009
-#
-# CONFIG_BOARD_LINKER_SCRIPT is not set
-CONFIG_GENERIC_LINKER_SCRIPT=y
-CONFIG_ARM=y
-
-#
-# System Type
-#
-CONFIG_ARCH_AT91=y
-# CONFIG_ARCH_AT91RM9200 is not set
-# CONFIG_ARCH_IMX is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_ARCH_S3C24xx is not set
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_ARM926T=y
-CONFIG_CPU_32v5=y
-
-#
-# processor features
-#
-CONFIG_ARCH_TEXT_BASE=0x23f00000
-CONFIG_BOARDINFO="Bucyrus MMC-CPU"
-
-#
-# Atmel AT91 System-on-Chip
-#
-# CONFIG_ARCH_AT91SAM9260 is not set
CONFIG_ARCH_AT91SAM9263=y
-# CONFIG_MACH_AT91SAM9263EK is not set
CONFIG_MACH_MMCCPU=y
-# CONFIG_MACH_PM9263 is not set
-# CONFIG_AEABI is not set
-
-#
-# Arm specific settings
-#
-CONFIG_CMD_ARM_CPUINFO=y
-CONFIG_CMDLINE_TAG=y
-CONFIG_SETUP_MEMORY_TAGS=y
-# CONFIG_INITRD_TAG is not set
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
-CONFIG_GREGORIAN_CALENDER=y
-CONFIG_HAS_KALLSYMS=y
-CONFIG_HAS_MODULES=y
-CONFIG_CMD_MEMORY=y
-CONFIG_ENV_HANDLING=y
-CONFIG_GENERIC_GPIO=y
-
-#
-# General Settings
-#
-CONFIG_LOCALVERSION_AUTO=y
-
-#
-# memory layout
-#
-CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
-CONFIG_TEXT_BASE=0x23f00000
-CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
-CONFIG_MEMORY_LAYOUT_DEFAULT=y
-# CONFIG_MEMORY_LAYOUT_FIXED is not set
-CONFIG_STACK_SIZE=0x8000
-CONFIG_MALLOC_SIZE=0x400000
-# CONFIG_BROKEN is not set
-# CONFIG_EXPERIMENTAL is not set
-CONFIG_MACH_HAS_LOWLEVEL_INIT=y
-CONFIG_MACH_DO_LOWLEVEL_INIT=y
-CONFIG_PROMPT="barebox:"
-CONFIG_BAUDRATE=115200
CONFIG_LONGHELP=y
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-CONFIG_SHELL_HUSH=y
-# CONFIG_SHELL_SIMPLE is not set
CONFIG_GLOB=y
CONFIG_PROMPT_HUSH_PS2="y"
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
-CONFIG_DYNAMIC_CRC_TABLE=y
-CONFIG_ERRNO_MESSAGES=y
-CONFIG_TIMESTAMP=y
-CONFIG_CONSOLE_FULL=y
-CONFIG_CONSOLE_ACTIVATE_FIRST=y
-# CONFIG_OF_FLAT_TREE is not set
CONFIG_PARTITION=y
-CONFIG_DEFAULT_ENVIRONMENT=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/mmccpu/env"
-
-#
-# Debugging
-#
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
-# CONFIG_ENABLE_DEVICE_NOISE is not set
-
-#
-# Commands
-#
-
-#
-# scripting
-#
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
@@ -117,117 +15,23 @@ CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
-CONFIG_CMD_TRUE=y
-CONFIG_CMD_FALSE=y
-
-#
-# file commands
-#
-CONFIG_CMD_LS=y
-CONFIG_CMD_RM=y
-CONFIG_CMD_CAT=y
-CONFIG_CMD_MKDIR=y
-CONFIG_CMD_RMDIR=y
-CONFIG_CMD_CP=y
-CONFIG_CMD_PWD=y
-CONFIG_CMD_CD=y
-CONFIG_CMD_MOUNT=y
-CONFIG_CMD_UMOUNT=y
-
-#
-# console
-#
-CONFIG_CMD_CLEAR=y
-CONFIG_CMD_ECHO=y
-
-#
-# memory
-#
-# CONFIG_CMD_LOADB is not set
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_CRC=y
CONFIG_CMD_MTEST=y
CONFIG_CMD_MTEST_ALTERNATIVE=y
-
-#
-# flash
-#
CONFIG_CMD_FLASH=y
-
-#
-# booting
-#
-CONFIG_CMD_BOOTM=y
-# CONFIG_CMD_BOOTM_ZLIB is not set
-# CONFIG_CMD_BOOTM_BZLIB is not set
CONFIG_CMD_BOOTM_SHOW_TYPE=y
-CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTU=y
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
-CONFIG_CMD_TEST=y
-CONFIG_CMD_VERSION=y
-CONFIG_CMD_HELP=y
-CONFIG_CMD_DEVINFO=y
CONFIG_CMD_GPIO=y
CONFIG_NET=y
CONFIG_NET_DHCP=y
-# CONFIG_NET_RARP is not set
-# CONFIG_NET_NFS is not set
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
-# CONFIG_DRIVER_SERIAL_ARM_DCC is not set
-# CONFIG_DRIVER_SERIAL_NS16550 is not set
-CONFIG_DRIVER_SERIAL_ATMEL=y
-CONFIG_MIIDEV=y
-
-#
-# Network drivers
-#
-# CONFIG_DRIVER_NET_SMC911X is not set
-# CONFIG_DRIVER_NET_SMC91111 is not set
CONFIG_DRIVER_NET_MACB=y
-
-#
-# SPI drivers
-#
# CONFIG_SPI is not set
CONFIG_I2C=y
-# CONFIG_DRIVER_I2C_MC13892 is not set
-# CONFIG_DRIVER_I2C_MC9SDZ60 is not set
-
-#
-# flash drivers
-#
CONFIG_DRIVER_CFI=y
-CONFIG_DRIVER_CFI_NEW=y
-CONFIG_DRIVER_CFI_INTEL=y
-CONFIG_DRIVER_CFI_AMD=y
-CONFIG_DRIVER_CFI_BANK_WIDTH_1=y
-CONFIG_DRIVER_CFI_BANK_WIDTH_2=y
-CONFIG_DRIVER_CFI_BANK_WIDTH_4=y
-# CONFIG_DRIVER_CFI_BANK_WIDTH_8 is not set
CONFIG_CFI_BUFFER_WRITE=y
-# CONFIG_NAND is not set
-# CONFIG_USB is not set
-# CONFIG_USB_GADGET is not set
-# CONFIG_VIDEO is not set
-
-#
-# Filesystem support
-#
-# CONFIG_FS_CRAMFS is not set
-CONFIG_FS_RAMFS=y
-CONFIG_FS_DEVFS=y
-CONFIG_CRC32=y
-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
diff --git a/arch/arm/configs/mx21ads_defconfig b/arch/arm/configs/mx21ads_defconfig
index 99b5ed6aa4..52f84e1e9a 100644
--- a/arch/arm/configs/mx21ads_defconfig
+++ b/arch/arm/configs/mx21ads_defconfig
@@ -1,126 +1,13 @@
-#
-# Automatically generated make config: don't edit
-# barebox version: 2.0.0-rc10
-# Fri Dec 18 11:48:02 2009
-#
-# CONFIG_BOARD_LINKER_SCRIPT is not set
-CONFIG_GENERIC_LINKER_SCRIPT=y
-CONFIG_ARM=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_AT91RM9200 is not set
CONFIG_ARCH_IMX=y
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_ARCH_S3C24xx is not set
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_ARM926T=y
-CONFIG_CPU_32v5=y
-
-#
-# processor features
-#
-CONFIG_ARCH_TEXT_BASE=0xc0000000
-CONFIG_BOARDINFO="Freescale i.MX21 ADS"
-
-#
-# Freescale i.MX System-on-Chip
-#
-# CONFIG_ARCH_IMX1 is not set
CONFIG_ARCH_IMX21=y
-# CONFIG_ARCH_IMX25 is not set
-# CONFIG_ARCH_IMX27 is not set
-# CONFIG_ARCH_IMX31 is not set
-# CONFIG_ARCH_IMX35 is not set
-CONFIG_MACH_IMX21ADS=y
-
-#
-# Board specific settings
-#
-
-#
-# i.MX specific settings
-#
CONFIG_IMX_CLKO=y
-# CONFIG_AEABI is not set
-
-#
-# Arm specific settings
-#
-CONFIG_CMD_ARM_CPUINFO=y
-CONFIG_CMDLINE_TAG=y
-CONFIG_SETUP_MEMORY_TAGS=y
-# CONFIG_INITRD_TAG is not set
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
-CONFIG_GREGORIAN_CALENDER=y
-CONFIG_HAS_KALLSYMS=y
-CONFIG_HAS_MODULES=y
-CONFIG_CMD_MEMORY=y
-CONFIG_ENV_HANDLING=y
-CONFIG_GENERIC_GPIO=y
-
-#
-# General Settings
-#
-CONFIG_LOCALVERSION_AUTO=y
-
-#
-# memory layout
-#
-CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
CONFIG_TEXT_BASE=0xc1000000
-CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
-CONFIG_MEMORY_LAYOUT_DEFAULT=y
-# CONFIG_MEMORY_LAYOUT_FIXED is not set
-CONFIG_STACK_SIZE=0x8000
-CONFIG_MALLOC_SIZE=0x400000
-# CONFIG_BROKEN is not set
-# CONFIG_EXPERIMENTAL is not set
-CONFIG_MACH_HAS_LOWLEVEL_INIT=y
-CONFIG_MACH_DO_LOWLEVEL_INIT=y
-CONFIG_PROMPT="barebox:"
-CONFIG_BAUDRATE=115200
CONFIG_LONGHELP=y
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-CONFIG_SHELL_HUSH=y
-# CONFIG_SHELL_SIMPLE is not set
-# CONFIG_GLOB is not set
-CONFIG_PROMPT_HUSH_PS2="> "
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
-CONFIG_DYNAMIC_CRC_TABLE=y
-CONFIG_ERRNO_MESSAGES=y
-CONFIG_TIMESTAMP=y
-CONFIG_CONSOLE_FULL=y
-CONFIG_CONSOLE_ACTIVATE_FIRST=y
-# CONFIG_OF_FLAT_TREE is not set
CONFIG_PARTITION=y
-CONFIG_DEFAULT_ENVIRONMENT=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/imx21ads/env"
-
-#
-# Debugging
-#
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
-# CONFIG_ENABLE_DEVICE_NOISE is not set
-
-#
-# Commands
-#
-
-#
-# scripting
-#
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
@@ -128,121 +15,24 @@ CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
-CONFIG_CMD_TRUE=y
-CONFIG_CMD_FALSE=y
-
-#
-# file commands
-#
-CONFIG_CMD_LS=y
-CONFIG_CMD_RM=y
-CONFIG_CMD_CAT=y
-CONFIG_CMD_MKDIR=y
-CONFIG_CMD_RMDIR=y
-CONFIG_CMD_CP=y
-CONFIG_CMD_PWD=y
-CONFIG_CMD_CD=y
-CONFIG_CMD_MOUNT=y
-CONFIG_CMD_UMOUNT=y
-
-#
-# console
-#
-CONFIG_CMD_CLEAR=y
-CONFIG_CMD_ECHO=y
-
-#
-# memory
-#
-# CONFIG_CMD_LOADB is not set
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_CRC=y
CONFIG_CMD_MTEST=y
CONFIG_CMD_MTEST_ALTERNATIVE=y
-
-#
-# flash
-#
CONFIG_CMD_FLASH=y
-
-#
-# booting
-#
-CONFIG_CMD_BOOTM=y
-# CONFIG_CMD_BOOTM_ZLIB is not set
-# CONFIG_CMD_BOOTM_BZLIB is not set
CONFIG_CMD_BOOTM_SHOW_TYPE=y
-CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTU=y
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
-CONFIG_CMD_TEST=y
-CONFIG_CMD_VERSION=y
-CONFIG_CMD_HELP=y
-CONFIG_CMD_DEVINFO=y
CONFIG_CMD_GPIO=y
CONFIG_NET=y
CONFIG_NET_DHCP=y
-# CONFIG_NET_RARP is not set
CONFIG_NET_NFS=y
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
-# CONFIG_DRIVER_SERIAL_ARM_DCC is not set
-CONFIG_DRIVER_SERIAL_IMX=y
-# CONFIG_DRIVER_SERIAL_NS16550 is not set
-CONFIG_HAS_CS8900=y
-
-#
-# Network drivers
-#
CONFIG_DRIVER_NET_CS8900=y
-# CONFIG_DRIVER_NET_SMC911X is not set
-# CONFIG_DRIVER_NET_SMC91111 is not set
-
-#
-# SPI drivers
-#
# CONFIG_SPI is not set
-# CONFIG_I2C is not set
-
-#
-# flash drivers
-#
-CONFIG_HAS_CFI=y
CONFIG_DRIVER_CFI=y
-CONFIG_DRIVER_CFI_NEW=y
# CONFIG_DRIVER_CFI_INTEL is not set
-CONFIG_DRIVER_CFI_AMD=y
-CONFIG_DRIVER_CFI_BANK_WIDTH_1=y
-CONFIG_DRIVER_CFI_BANK_WIDTH_2=y
-CONFIG_DRIVER_CFI_BANK_WIDTH_4=y
-# CONFIG_DRIVER_CFI_BANK_WIDTH_8 is not set
CONFIG_CFI_BUFFER_WRITE=y
-CONFIG_NAND=y
-CONFIG_NAND_IMX=y
-# CONFIG_NAND_IMX_BOOT is not set
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_USB is not set
-# CONFIG_USB_GADGET is not set
-# CONFIG_VIDEO is not set
-
-#
-# Filesystem support
-#
-# CONFIG_FS_CRAMFS is not set
-CONFIG_FS_RAMFS=y
-CONFIG_FS_DEVFS=y
-CONFIG_CRC32=y
-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
diff --git a/arch/arm/configs/mx27ads_defconfig b/arch/arm/configs/mx27ads_defconfig
index a1bf3f9412..e92fb9c8f5 100644
--- a/arch/arm/configs/mx27ads_defconfig
+++ b/arch/arm/configs/mx27ads_defconfig
@@ -1,130 +1,14 @@
-#
-# Automatically generated make config: don't edit
-# barebox version: 2.0.0-rc10
-# Fri Dec 18 11:48:21 2009
-#
-# CONFIG_BOARD_LINKER_SCRIPT is not set
-CONFIG_GENERIC_LINKER_SCRIPT=y
-CONFIG_ARM=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_AT91RM9200 is not set
CONFIG_ARCH_IMX=y
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_ARCH_S3C24xx is not set
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_ARM926T=y
-CONFIG_CPU_32v5=y
-
-#
-# processor features
-#
-CONFIG_ARCH_TEXT_BASE=0xa0000000
-CONFIG_BOARDINFO="Freescale i.MX27 ADS"
-CONFIG_ARCH_HAS_FEC_IMX=y
-
-#
-# Freescale i.MX System-on-Chip
-#
-# CONFIG_ARCH_IMX1 is not set
-# CONFIG_ARCH_IMX21 is not set
-# CONFIG_ARCH_IMX25 is not set
CONFIG_ARCH_IMX27=y
-# CONFIG_ARCH_IMX31 is not set
-# CONFIG_ARCH_IMX35 is not set
-# CONFIG_MACH_EUKREA_CPUIMX27 is not set
CONFIG_MACH_IMX27ADS=y
-# CONFIG_MACH_PCA100 is not set
-# CONFIG_MACH_PCM038 is not set
-
-#
-# Board specific settings
-#
-
-#
-# i.MX specific settings
-#
CONFIG_IMX_CLKO=y
-# CONFIG_AEABI is not set
-
-#
-# Arm specific settings
-#
-CONFIG_CMD_ARM_CPUINFO=y
-CONFIG_CMDLINE_TAG=y
-CONFIG_SETUP_MEMORY_TAGS=y
-# CONFIG_INITRD_TAG is not set
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
-CONFIG_GREGORIAN_CALENDER=y
-CONFIG_HAS_KALLSYMS=y
-CONFIG_HAS_MODULES=y
-CONFIG_CMD_MEMORY=y
-CONFIG_ENV_HANDLING=y
-CONFIG_GENERIC_GPIO=y
-
-#
-# General Settings
-#
-CONFIG_LOCALVERSION_AUTO=y
-
-#
-# memory layout
-#
-CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
CONFIG_TEXT_BASE=0xa7f00000
-CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
-CONFIG_MEMORY_LAYOUT_DEFAULT=y
-# CONFIG_MEMORY_LAYOUT_FIXED is not set
-CONFIG_STACK_SIZE=0x8000
-CONFIG_MALLOC_SIZE=0x400000
-# CONFIG_BROKEN is not set
-# CONFIG_EXPERIMENTAL is not set
-CONFIG_MACH_HAS_LOWLEVEL_INIT=y
-CONFIG_MACH_DO_LOWLEVEL_INIT=y
-CONFIG_PROMPT="barebox:"
-CONFIG_BAUDRATE=115200
CONFIG_LONGHELP=y
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-CONFIG_SHELL_HUSH=y
-# CONFIG_SHELL_SIMPLE is not set
-# CONFIG_GLOB is not set
-CONFIG_PROMPT_HUSH_PS2="> "
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
-CONFIG_DYNAMIC_CRC_TABLE=y
-CONFIG_ERRNO_MESSAGES=y
-CONFIG_TIMESTAMP=y
-CONFIG_CONSOLE_FULL=y
-CONFIG_CONSOLE_ACTIVATE_FIRST=y
-# CONFIG_OF_FLAT_TREE is not set
CONFIG_PARTITION=y
-CONFIG_DEFAULT_ENVIRONMENT=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/imx27ads/env"
-
-#
-# Debugging
-#
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
-# CONFIG_ENABLE_DEVICE_NOISE is not set
-
-#
-# Commands
-#
-
-#
-# scripting
-#
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
@@ -132,117 +16,23 @@ CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
-CONFIG_CMD_TRUE=y
-CONFIG_CMD_FALSE=y
-
-#
-# file commands
-#
-CONFIG_CMD_LS=y
-CONFIG_CMD_RM=y
-CONFIG_CMD_CAT=y
-CONFIG_CMD_MKDIR=y
-CONFIG_CMD_RMDIR=y
-CONFIG_CMD_CP=y
-CONFIG_CMD_PWD=y
-CONFIG_CMD_CD=y
-CONFIG_CMD_MOUNT=y
-CONFIG_CMD_UMOUNT=y
-
-#
-# console
-#
-CONFIG_CMD_CLEAR=y
-CONFIG_CMD_ECHO=y
-
-#
-# memory
-#
-# CONFIG_CMD_LOADB is not set
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_CRC=y
CONFIG_CMD_MTEST=y
CONFIG_CMD_MTEST_ALTERNATIVE=y
-
-#
-# flash
-#
CONFIG_CMD_FLASH=y
-
-#
-# booting
-#
-CONFIG_CMD_BOOTM=y
-# CONFIG_CMD_BOOTM_ZLIB is not set
-# CONFIG_CMD_BOOTM_BZLIB is not set
CONFIG_CMD_BOOTM_SHOW_TYPE=y
-CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTU=y
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
-CONFIG_CMD_TEST=y
-CONFIG_CMD_VERSION=y
-CONFIG_CMD_HELP=y
-CONFIG_CMD_DEVINFO=y
CONFIG_CMD_GPIO=y
CONFIG_NET=y
CONFIG_NET_DHCP=y
-# CONFIG_NET_RARP is not set
-# CONFIG_NET_NFS is not set
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
-# CONFIG_DRIVER_SERIAL_ARM_DCC is not set
-CONFIG_DRIVER_SERIAL_IMX=y
-# CONFIG_DRIVER_SERIAL_NS16550 is not set
-
-#
-# Network drivers
-#
-# CONFIG_DRIVER_NET_SMC911X is not set
-# CONFIG_DRIVER_NET_SMC91111 is not set
-# CONFIG_DRIVER_NET_FEC_IMX is not set
-
-#
-# SPI drivers
-#
-CONFIG_SPI=y
CONFIG_DRIVER_SPI_IMX=y
CONFIG_DRIVER_SPI_MC13783=y
-# CONFIG_I2C is not set
-
-#
-# flash drivers
-#
-CONFIG_HAS_CFI=y
CONFIG_DRIVER_CFI=y
-CONFIG_DRIVER_CFI_NEW=y
# CONFIG_DRIVER_CFI_INTEL is not set
-CONFIG_DRIVER_CFI_AMD=y
-CONFIG_DRIVER_CFI_BANK_WIDTH_1=y
-CONFIG_DRIVER_CFI_BANK_WIDTH_2=y
-CONFIG_DRIVER_CFI_BANK_WIDTH_4=y
-# CONFIG_DRIVER_CFI_BANK_WIDTH_8 is not set
CONFIG_CFI_BUFFER_WRITE=y
-# CONFIG_NAND is not set
-# CONFIG_USB is not set
-# CONFIG_USB_GADGET is not set
-# CONFIG_VIDEO is not set
-
-#
-# Filesystem support
-#
-# CONFIG_FS_CRAMFS is not set
-CONFIG_FS_RAMFS=y
-CONFIG_FS_DEVFS=y
-CONFIG_CRC32=y
-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
diff --git a/arch/arm/configs/neso_defconfig b/arch/arm/configs/neso_defconfig
index 03673f2b2c..9f6e3f4b94 100644
--- a/arch/arm/configs/neso_defconfig
+++ b/arch/arm/configs/neso_defconfig
@@ -1,132 +1,18 @@
-#
-# Automatically generated make config: don't edit
-# barebox version: 2010.06.0
-# Mon Jun 21 14:06:11 2010
-#
-# CONFIG_BOARD_LINKER_SCRIPT is not set
-CONFIG_GENERIC_LINKER_SCRIPT=y
-CONFIG_ARM=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_AT91RM9200 is not set
-# CONFIG_ARCH_EP93XX is not set
CONFIG_ARCH_IMX=y
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_ARCH_S3C24xx is not set
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_ARM926T=y
-CONFIG_CPU_32v5=y
-
-#
-# processor features
-#
-CONFIG_ARCH_TEXT_BASE=0xa7e00000
-CONFIG_BOARDINFO="Garz+Fricke Neso"
-CONFIG_ARCH_HAS_FEC_IMX=y
-
-#
-# Freescale i.MX System-on-Chip
-#
-# CONFIG_ARCH_IMX1 is not set
-# CONFIG_ARCH_IMX21 is not set
-# CONFIG_ARCH_IMX25 is not set
CONFIG_ARCH_IMX27=y
-# CONFIG_ARCH_IMX31 is not set
-# CONFIG_ARCH_IMX35 is not set
-# CONFIG_MACH_EUKREA_CPUIMX27 is not set
-# CONFIG_MACH_IMX27ADS is not set
-# CONFIG_MACH_PCA100 is not set
-# CONFIG_MACH_PCM038 is not set
CONFIG_MACH_NESO=y
-
-#
-# Board specific settings
-#
-
-#
-# i.MX specific settings
-#
CONFIG_IMX_CLKO=y
CONFIG_AEABI=y
-
-#
-# Arm specific settings
-#
-CONFIG_CMD_ARM_CPUINFO=y
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
-CONFIG_GREGORIAN_CALENDER=y
-CONFIG_HAS_KALLSYMS=y
-CONFIG_HAS_MODULES=y
-CONFIG_CMD_MEMORY=y
-CONFIG_ENV_HANDLING=y
-CONFIG_GENERIC_GPIO=y
-
-#
-# General Settings
-#
-CONFIG_LOCALVERSION_AUTO=y
-
-#
-# memory layout
-#
-CONFIG_HAVE_MMU=y
CONFIG_MMU=y
-CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
-CONFIG_TEXT_BASE=0xa7e00000
-CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
-CONFIG_MEMORY_LAYOUT_DEFAULT=y
-# CONFIG_MEMORY_LAYOUT_FIXED is not set
-CONFIG_STACK_SIZE=0x8000
CONFIG_MALLOC_SIZE=0x1000000
-# CONFIG_BROKEN is not set
-# CONFIG_EXPERIMENTAL is not set
-CONFIG_MACH_HAS_LOWLEVEL_INIT=y
-CONFIG_MACH_DO_LOWLEVEL_INIT=y
-CONFIG_PROMPT="barebox:"
-CONFIG_BAUDRATE=115200
CONFIG_LONGHELP=y
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-CONFIG_SHELL_HUSH=y
-# CONFIG_SHELL_SIMPLE is not set
CONFIG_GLOB=y
-CONFIG_PROMPT_HUSH_PS2="> "
CONFIG_HUSH_FANCY_PROMPT=y
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
-CONFIG_DYNAMIC_CRC_TABLE=y
-CONFIG_ERRNO_MESSAGES=y
-CONFIG_TIMESTAMP=y
-CONFIG_CONSOLE_FULL=y
-CONFIG_CONSOLE_ACTIVATE_FIRST=y
-# CONFIG_OF_FLAT_TREE is not set
CONFIG_PARTITION=y
-CONFIG_DEFAULT_ENVIRONMENT=y
-CONFIG_DEFAULT_ENVIRONMENT_PATH="defaultenv board/guf-neso/env"
-
-#
-# Debugging
-#
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
-# CONFIG_ENABLE_DEVICE_NOISE is not set
-
-#
-# Commands
-#
-
-#
-# scripting
-#
+CONFIG_DEFAULT_ENVIRONMENT_PATH="defaultenv arch/arm/boards/guf-neso/env"
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
@@ -134,62 +20,15 @@ CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
-CONFIG_CMD_TRUE=y
-CONFIG_CMD_FALSE=y
-
-#
-# file commands
-#
-CONFIG_CMD_LS=y
-CONFIG_CMD_RM=y
-CONFIG_CMD_CAT=y
-CONFIG_CMD_MKDIR=y
-CONFIG_CMD_RMDIR=y
-CONFIG_CMD_CP=y
-CONFIG_CMD_PWD=y
-CONFIG_CMD_CD=y
-CONFIG_CMD_MOUNT=y
-CONFIG_CMD_UMOUNT=y
-
-#
-# console
-#
-CONFIG_CMD_CLEAR=y
-CONFIG_CMD_ECHO=y
CONFIG_CMD_ECHO_E=y
-
-#
-# memory
-#
-# CONFIG_CMD_LOADB is not set
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_CRC=y
CONFIG_CMD_MTEST=y
-# CONFIG_CMD_MTEST_ALTERNATIVE is not set
-
-#
-# flash
-#
CONFIG_CMD_FLASH=y
-
-#
-# booting
-#
-CONFIG_CMD_BOOTM=y
-# CONFIG_CMD_BOOTM_ZLIB is not set
-# CONFIG_CMD_BOOTM_BZLIB is not set
-# CONFIG_CMD_BOOTM_SHOW_TYPE is not set
-CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTU=y
-# CONFIG_CMD_LINUX16 is not set
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
-CONFIG_CMD_TEST=y
-CONFIG_CMD_VERSION=y
-CONFIG_CMD_HELP=y
-CONFIG_CMD_DEVINFO=y
CONFIG_CMD_BMP=y
CONFIG_CMD_GPIO=y
CONFIG_CMD_UNLZO=y
@@ -201,64 +40,19 @@ CONFIG_NET_TFTP=y
CONFIG_NET_TFTP_PUSH=y
CONFIG_NET_NETCONSOLE=y
CONFIG_NET_RESOLV=y
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
-# CONFIG_DRIVER_SERIAL_ARM_DCC is not set
-CONFIG_DRIVER_SERIAL_IMX=y
-# CONFIG_DRIVER_SERIAL_NS16550 is not set
-CONFIG_MIIDEV=y
-
-#
-# Network drivers
-#
-# CONFIG_DRIVER_NET_SMC911X is not set
-# CONFIG_DRIVER_NET_SMC91111 is not set
CONFIG_DRIVER_NET_FEC_IMX=y
CONFIG_NET_USB=y
CONFIG_NET_USB_ASIX=y
-# CONFIG_NET_USB_SMSC95XX is not set
-
-#
-# SPI drivers
-#
-CONFIG_SPI=y
CONFIG_DRIVER_SPI_IMX=y
CONFIG_DRIVER_SPI_MC13783=y
-# CONFIG_I2C is not set
-
-#
-# flash drivers
-#
-# CONFIG_DRIVER_CFI is not set
+CONFIG_MTD=y
CONFIG_NAND=y
CONFIG_NAND_IMX=y
CONFIG_NAND_IMX_BOOT=y
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_ATA is not set
+CONFIG_UBI=y
CONFIG_USB=y
CONFIG_USB_EHCI=y
-CONFIG_USB_ULPI=y
CONFIG_USB_ISP1504=y
-# CONFIG_USB_GADGET is not set
CONFIG_VIDEO=y
CONFIG_DRIVER_VIDEO_IMX=y
CONFIG_IMXFB_DRIVER_VIDEO_IMX_OVERLAY=y
-
-#
-# Filesystem support
-#
-# CONFIG_FS_CRAMFS is not set
-CONFIG_FS_RAMFS=y
-CONFIG_FS_DEVFS=y
-CONFIG_CRC32=y
-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
-CONFIG_PROCESS_ESCAPE_SEQUENCE=y
-CONFIG_LZO_DECOMPRESS=y
diff --git a/arch/arm/configs/netx_nxdb500_defconfig b/arch/arm/configs/netx_nxdb500_defconfig
index 7047d6b5ba..179058be65 100644
--- a/arch/arm/configs/netx_nxdb500_defconfig
+++ b/arch/arm/configs/netx_nxdb500_defconfig
@@ -1,110 +1,11 @@
-#
-# Automatically generated make config: don't edit
-# barebox version: 2.0.0-rc10
-# Fri Dec 18 11:48:29 2009
-#
-# CONFIG_BOARD_LINKER_SCRIPT is not set
-CONFIG_GENERIC_LINKER_SCRIPT=y
-CONFIG_ARM=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_AT91RM9200 is not set
-# CONFIG_ARCH_IMX is not set
CONFIG_ARCH_NETX=y
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_ARCH_S3C24xx is not set
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_ARM926T=y
-CONFIG_CPU_32v5=y
-
-#
-# processor features
-#
-CONFIG_ARCH_TEXT_BASE=0x81f00000
-CONFIG_BOARDINFO="Hilscher Netx nxdb500"
-CONFIG_NETX_SDRAM_CTRL=0x010D0121
-CONFIG_NETX_SDRAM_TIMING_CTRL=0x03C13261
-CONFIG_NETX_MEM_CTRL=0x0203030F
-CONFIG_NETX_COOKIE=32
-CONFIG_MACH_NXDB500=y
-# CONFIG_AEABI is not set
-
-#
-# Arm specific settings
-#
-CONFIG_CMD_ARM_CPUINFO=y
-CONFIG_CMDLINE_TAG=y
-CONFIG_SETUP_MEMORY_TAGS=y
-CONFIG_INITRD_TAG=y
-# CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS is not set
-CONFIG_GREGORIAN_CALENDER=y
-CONFIG_HAS_KALLSYMS=y
-CONFIG_HAS_MODULES=y
-CONFIG_CMD_MEMORY=y
-CONFIG_ENV_HANDLING=y
-
-#
-# General Settings
-#
-CONFIG_LOCALVERSION_AUTO=y
-
-#
-# memory layout
-#
-CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
CONFIG_TEXT_BASE=0x08f80000
-CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
-CONFIG_MEMORY_LAYOUT_DEFAULT=y
-# CONFIG_MEMORY_LAYOUT_FIXED is not set
-CONFIG_STACK_SIZE=0x8000
-CONFIG_MALLOC_SIZE=0x400000
CONFIG_BROKEN=y
-# CONFIG_EXPERIMENTAL is not set
-# CONFIG_KALLSYMS is not set
-CONFIG_MACH_HAS_LOWLEVEL_INIT=y
-CONFIG_MACH_DO_LOWLEVEL_INIT=y
-CONFIG_PROMPT="barebox:"
-CONFIG_BAUDRATE=115200
CONFIG_LONGHELP=y
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-CONFIG_SHELL_HUSH=y
-# CONFIG_SHELL_SIMPLE is not set
-# CONFIG_GLOB is not set
-CONFIG_PROMPT_HUSH_PS2="> "
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
-CONFIG_DYNAMIC_CRC_TABLE=y
-CONFIG_ERRNO_MESSAGES=y
-CONFIG_TIMESTAMP=y
-CONFIG_CONSOLE_FULL=y
-CONFIG_CONSOLE_ACTIVATE_FIRST=y
-# CONFIG_OF_FLAT_TREE is not set
CONFIG_PARTITION=y
# CONFIG_DEFAULT_ENVIRONMENT is not set
-
-#
-# Debugging
-#
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
-# CONFIG_ENABLE_DEVICE_NOISE is not set
-
-#
-# Commands
-#
-
-#
-# scripting
-#
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
@@ -112,112 +13,17 @@ CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
-CONFIG_CMD_TRUE=y
-CONFIG_CMD_FALSE=y
-
-#
-# file commands
-#
-CONFIG_CMD_LS=y
-CONFIG_CMD_RM=y
-CONFIG_CMD_CAT=y
-CONFIG_CMD_MKDIR=y
-CONFIG_CMD_RMDIR=y
-CONFIG_CMD_CP=y
-CONFIG_CMD_PWD=y
-CONFIG_CMD_CD=y
-CONFIG_CMD_MOUNT=y
-CONFIG_CMD_UMOUNT=y
-
-#
-# console
-#
-CONFIG_CMD_CLEAR=y
-CONFIG_CMD_ECHO=y
-
-#
-# memory
-#
-# CONFIG_CMD_LOADB is not set
-# CONFIG_CMD_LOADS is not set
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_CRC=y
-# CONFIG_CMD_MTEST is not set
-
-#
-# flash
-#
CONFIG_CMD_FLASH=y
-
-#
-# booting
-#
-CONFIG_CMD_BOOTM=y
-# CONFIG_CMD_BOOTM_ZLIB is not set
-# CONFIG_CMD_BOOTM_BZLIB is not set
-# CONFIG_CMD_BOOTM_SHOW_TYPE is not set
-CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTU=y
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
-CONFIG_CMD_TEST=y
-CONFIG_CMD_VERSION=y
-CONFIG_CMD_HELP=y
-CONFIG_CMD_DEVINFO=y
CONFIG_NET=y
CONFIG_NET_DHCP=y
-# CONFIG_NET_RARP is not set
-# CONFIG_NET_NFS is not set
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
-# CONFIG_DRIVER_SERIAL_ARM_DCC is not set
-CONFIG_DRIVER_SERIAL_NETX=y
-# CONFIG_DRIVER_SERIAL_NS16550 is not set
-CONFIG_HAS_NETX_ETHER=y
-CONFIG_MIIDEV=y
-
-#
-# Network drivers
-#
-# CONFIG_DRIVER_NET_SMC911X is not set
-# CONFIG_DRIVER_NET_SMC91111 is not set
CONFIG_DRIVER_NET_NETX=y
-
-#
-# SPI drivers
-#
-CONFIG_SPI=y
-# CONFIG_DRIVER_SPI_MC13783 is not set
-# CONFIG_I2C is not set
-
-#
-# flash drivers
-#
-CONFIG_HAS_CFI=y
CONFIG_DRIVER_CFI=y
-# CONFIG_DRIVER_CFI_NEW is not set
-CONFIG_DRIVER_CFI_OLD=y
CONFIG_CFI_BUFFER_WRITE=y
-# CONFIG_NAND is not set
-# CONFIG_USB is not set
-# CONFIG_USB_GADGET is not set
-# CONFIG_VIDEO is not set
-
-#
-# Filesystem support
-#
-# CONFIG_FS_CRAMFS is not set
-CONFIG_FS_RAMFS=y
-CONFIG_FS_DEVFS=y
-CONFIG_CRC32=y
-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
diff --git a/arch/arm/configs/nhk8815_defconfig b/arch/arm/configs/nhk8815_defconfig
index 21d596f8b7..e3f41025ce 100644
--- a/arch/arm/configs/nhk8815_defconfig
+++ b/arch/arm/configs/nhk8815_defconfig
@@ -1,110 +1,16 @@
-#
-# Automatically generated make config: don't edit
-# U-Boot version: 2.0.0-rc10
-# Mon Oct 12 18:36:24 2009
-#
-# CONFIG_BOARD_LINKER_SCRIPT is not set
-CONFIG_GENERIC_LINKER_SCRIPT=y
-CONFIG_ARM=y
-CONFIG_ARM_AMBA=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_AT91RM9200 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_IMX is not set
-# CONFIG_ARCH_NETX is not set
CONFIG_ARCH_NOMADIK=y
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_ARCH_S3C24xx is not set
-CONFIG_COMMON_CLKDEV=y
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_ARM926T=y
-CONFIG_CPU_32v5=y
-
-#
-# processor features
-#
-CONFIG_ARCH_TEXT_BASE=0x03c00000
-CONFIG_BOARDINFO="NHK8815"
-CONFIG_MACH_NOMADIK_8815NHK=y
-CONFIG_NOMADIK_8815=y
-# CONFIG_AEABI is not set
-
-#
-# Arm specific settings
-#
-CONFIG_CMD_ARM_CPUINFO=y
-CONFIG_CMDLINE_TAG=y
-CONFIG_SETUP_MEMORY_TAGS=y
-# CONFIG_INITRD_TAG is not set
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
-CONFIG_GREGORIAN_CALENDER=y
-CONFIG_HAS_KALLSYMS=y
-CONFIG_HAS_MODULES=y
-CONFIG_CMD_MEMORY=y
-CONFIG_ENV_HANDLING=y
-
-#
-# General Settings
-#
-CONFIG_LOCALVERSION_AUTO=y
-
-#
-# memory layout
-#
-CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
CONFIG_TEXT_BASE=0x03F80000
-CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
-CONFIG_MEMORY_LAYOUT_DEFAULT=y
-# CONFIG_MEMORY_LAYOUT_FIXED is not set
-CONFIG_STACK_SIZE=0x8000
-CONFIG_MALLOC_SIZE=0x400000
-# CONFIG_BROKEN is not set
-# CONFIG_EXPERIMENTAL is not set
CONFIG_PROMPT="Nomadik:"
-CONFIG_BAUDRATE=115200
CONFIG_LONGHELP=y
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-CONFIG_SHELL_HUSH=y
-# CONFIG_SHELL_SIMPLE is not set
CONFIG_GLOB=y
-CONFIG_PROMPT_HUSH_PS2="> "
-# CONFIG_HUSH_FANCY_PROMPT is not set
+CONFIG_HUSH_FANCY_PROMPT=y
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
-CONFIG_DYNAMIC_CRC_TABLE=y
-CONFIG_ERRNO_MESSAGES=y
-CONFIG_TIMESTAMP=y
-CONFIG_CONSOLE_FULL=y
-CONFIG_CONSOLE_ACTIVATE_FIRST=y
-# CONFIG_OF_FLAT_TREE is not set
+CONFIG_MENU=y
+CONFIG_PASSWD_SUM_SHA1=y
CONFIG_PARTITION=y
-CONFIG_DEFAULT_ENVIRONMENT=y
-CONFIG_DEFAULT_ENVIRONMENT_PATH="board/nhk8815/env"
-
-#
-# Debugging
-#
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
-# CONFIG_ENABLE_DEVICE_NOISE is not set
-
-#
-# Commands
-#
-
-#
-# scripting
-#
+CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/nhk8815/env"
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
@@ -112,121 +18,39 @@ CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
-CONFIG_CMD_TRUE=y
-CONFIG_CMD_FALSE=y
-
-#
-# file commands
-#
-CONFIG_CMD_LS=y
-CONFIG_CMD_RM=y
-CONFIG_CMD_CAT=y
-CONFIG_CMD_MKDIR=y
-CONFIG_CMD_RMDIR=y
-CONFIG_CMD_CP=y
-CONFIG_CMD_PWD=y
-CONFIG_CMD_CD=y
-CONFIG_CMD_MOUNT=y
-CONFIG_CMD_UMOUNT=y
-
-#
-# console
-#
-CONFIG_CMD_CLEAR=y
-CONFIG_CMD_ECHO=y
-# CONFIG_CMD_ECHO_E is not set
-
-#
-# memory
-#
-# CONFIG_CMD_LOADB is not set
+CONFIG_CMD_MENU=y
+CONFIG_CMD_MENU_MANAGEMENT=y
+CONFIG_CMD_PASSWD=y
+CONFIG_CMD_ECHO_E=y
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_CRC=y
CONFIG_CMD_MTEST=y
-# CONFIG_CMD_MTEST_ALTERNATIVE is not set
-
-#
-# flash
-#
CONFIG_CMD_FLASH=y
-# CONFIG_CMD_UBI is not set
-
-#
-# booting
-#
-CONFIG_CMD_BOOTM=y
CONFIG_CMD_BOOTM_ZLIB=y
CONFIG_CMD_BOOTM_BZLIB=y
CONFIG_CMD_BOOTM_SHOW_TYPE=y
-CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTU=y
-# CONFIG_CMD_LINUX16 is not set
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
-CONFIG_CMD_TEST=y
-CONFIG_CMD_VERSION=y
-CONFIG_CMD_HELP=y
-CONFIG_CMD_DEVINFO=y
-# CONFIG_CMD_UNLZO is not set
+CONFIG_CMD_UNLZO=y
CONFIG_NET=y
CONFIG_NET_DHCP=y
CONFIG_NET_NFS=y
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
-# CONFIG_NET_TFTP_PUSH is not set
-# CONFIG_NET_NETCONSOLE is not set
-# CONFIG_NET_RESOLV is not set
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
-# CONFIG_DRIVER_SERIAL_ARM_DCC is not set
+CONFIG_NET_TFTP_PUSH=y
+CONFIG_NET_NETCONSOLE=y
+CONFIG_NET_RESOLV=y
CONFIG_SERIAL_AMBA_PL011=y
-# CONFIG_DRIVER_SERIAL_NS16550 is not set
-CONFIG_MIIDEV=y
-
-#
-# Network drivers
-#
-# CONFIG_DRIVER_NET_SMC911X is not set
CONFIG_DRIVER_NET_SMC91111=y
-
-#
-# SPI drivers
-#
# CONFIG_SPI is not set
-# CONFIG_I2C is not set
-
-#
-# flash drivers
-#
-# CONFIG_DRIVER_CFI is not set
CONFIG_MTD=y
CONFIG_NAND=y
CONFIG_MTD_NAND_VERIFY_WRITE=y
CONFIG_MTD_NAND_ECC_SMC=y
-CONFIG_MTD_NAND_IDS=y
CONFIG_MTD_NAND_NOMADIK=y
-# CONFIG_UBI is not set
-# CONFIG_ATA is not set
-# CONFIG_USB is not set
-# CONFIG_USB_GADGET is not set
-# CONFIG_VIDEO is not set
-
-#
-# Filesystem support
-#
-# CONFIG_FS_CRAMFS is not set
-CONFIG_FS_RAMFS=y
-CONFIG_FS_DEVFS=y
-CONFIG_ZLIB=y
-CONFIG_BZLIB=y
-CONFIG_CRC32=y
-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
-# CONFIG_PROCESS_ESCAPE_SEQUENCE is not set
+CONFIG_UBI=y
+CONFIG_FS_CRAMFS=y
+CONFIG_MD5=y
+CONFIG_SHA256=y
diff --git a/arch/arm/configs/omap3430_sdp3430_per_uart_defconfig b/arch/arm/configs/omap3430_sdp3430_per_uart_defconfig
index 4501f5ac9f..013d000589 100644
--- a/arch/arm/configs/omap3430_sdp3430_per_uart_defconfig
+++ b/arch/arm/configs/omap3430_sdp3430_per_uart_defconfig
@@ -1,139 +1,18 @@
-#
-# Automatically generated make config: don't edit
-# barebox version: 2.0.0-rc10
-# Fri Dec 18 11:48:53 2009
-#
-# CONFIG_BOARD_LINKER_SCRIPT is not set
-CONFIG_GENERIC_LINKER_SCRIPT=y
-CONFIG_ARM=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_AT91RM9200 is not set
-# CONFIG_ARCH_IMX is not set
-# CONFIG_ARCH_NETX is not set
CONFIG_ARCH_OMAP=y
-# CONFIG_ARCH_S3C24xx is not set
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_V7=y
-CONFIG_CPU_32v7=y
-
-#
-# processor features
-#
-CONFIG_ARCH_TEXT_BASE=0x80e80000
-CONFIG_BOARDINFO="Texas Instrument's SDP343x"
-
-#
-# OMAP Features
-#
-CONFIG_ARCH_OMAP3=y
-CONFIG_OMAP_CONFIG_STACKSIZE=0x00008000
-CONFIG_OMAP_MALLOC_LEN=0x00008000
-CONFIG_OMAP_CLOCK_ALL=y
-CONFIG_OMAP_CLOCK_SOURCE_S32K=y
-CONFIG_OMAP3_CLOCK_CONFIG=y
# CONFIG_OMAP3_COPY_CLOCK_SRAM is not set
-CONFIG_GPMC=y
-
-#
-# OMAP Platform Features
-#
-CONFIG_MACH_OMAP343xSDP=y
-# CONFIG_MACH_BEAGLE is not set
-# CONFIG_MACH_OMAP3EVM is not set
-# CONFIG_MACH_OMAP_ADVANCED_MUX is not set
-CONFIG_HAS_OMAP_NAND=y
-# CONFIG_MACH_OMAP_GPMC_NAND is not set
-# CONFIG_AEABI is not set
-
-#
-# Arm specific settings
-#
-CONFIG_CMD_ARM_CPUINFO=y
-CONFIG_CMDLINE_TAG=y
-CONFIG_SETUP_MEMORY_TAGS=y
-# CONFIG_INITRD_TAG is not set
-# CONFIG_CPU_V7_DCACHE_SKIP is not set
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
-CONFIG_HAS_KALLSYMS=y
-CONFIG_HAS_MODULES=y
# CONFIG_CMD_MEMORY is not set
-
-#
-# General Settings
-#
-CONFIG_LOCALVERSION_AUTO=y
-
-#
-# memory layout
-#
-CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
CONFIG_TEXT_BASE=0x40200000
-CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
-# CONFIG_MEMORY_LAYOUT_DEFAULT is not set
CONFIG_MEMORY_LAYOUT_FIXED=y
CONFIG_STACK_BASE=0x87BF7F10
-CONFIG_STACK_SIZE=0x8000
CONFIG_MALLOC_BASE=0x87BFFF10
-CONFIG_MALLOC_SIZE=0x400000
-# CONFIG_BROKEN is not set
-# CONFIG_EXPERIMENTAL is not set
-CONFIG_MACH_HAS_LOWLEVEL_INIT=y
-CONFIG_MACH_DO_LOWLEVEL_INIT=y
-CONFIG_ARCH_HAS_LOWLEVEL_INIT=y
CONFIG_PROMPT="X-load 343x> "
-CONFIG_BAUDRATE=115200
-CONFIG_SIMPLE_READLINE=y
CONFIG_LONGHELP=y
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-# CONFIG_SHELL_HUSH is not set
CONFIG_SHELL_SIMPLE=y
-# CONFIG_CMDLINE_EDITING is not set
# CONFIG_ERRNO_MESSAGES is not set
# CONFIG_TIMESTAMP is not set
-CONFIG_CONSOLE_FULL=y
-CONFIG_CONSOLE_ACTIVATE_FIRST=y
-# CONFIG_OF_FLAT_TREE is not set
-# CONFIG_PARTITION is not set
# CONFIG_DEFAULT_ENVIRONMENT is not set
-
-#
-# Debugging
-#
CONFIG_DEBUG_INFO=y
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
-# CONFIG_ENABLE_DEVICE_NOISE is not set
-
-#
-# Commands
-#
-
-#
-# scripting
-#
-# CONFIG_CMD_EDIT is not set
-# CONFIG_CMD_EXEC is not set
-# CONFIG_CMD_SLEEP is not set
-# CONFIG_CMD_SAVEENV is not set
-# CONFIG_CMD_LOADENV is not set
-# CONFIG_CMD_EXPORT is not set
-# CONFIG_CMD_PRINTENV is not set
-# CONFIG_CMD_READLINE is not set
-CONFIG_CMD_TRUE=y
-CONFIG_CMD_FALSE=y
-
-#
-# file commands
-#
# CONFIG_CMD_LS is not set
# CONFIG_CMD_RM is not set
# CONFIG_CMD_CAT is not set
@@ -144,73 +23,12 @@ CONFIG_CMD_FALSE=y
# CONFIG_CMD_CD is not set
# CONFIG_CMD_MOUNT is not set
# CONFIG_CMD_UMOUNT is not set
-
-#
-# console
-#
# CONFIG_CMD_CLEAR is not set
# CONFIG_CMD_ECHO is not set
-
-#
-# memory
-#
CONFIG_CMD_LOADB=y
-# CONFIG_CMD_MEMINFO is not set
-# CONFIG_CMD_CRC is not set
-# CONFIG_CMD_MTEST is not set
-
-#
-# flash
-#
-# CONFIG_CMD_FLASH is not set
-
-#
-# booting
-#
# CONFIG_CMD_BOOTM is not set
-CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTU=y
-# CONFIG_CMD_RESET is not set
CONFIG_CMD_GO=y
-# CONFIG_CMD_TIMEOUT is not set
-# CONFIG_CMD_PARTITION is not set
-CONFIG_CMD_VERSION=y
# CONFIG_CMD_HELP is not set
-CONFIG_CMD_DEVINFO=y
-# CONFIG_NET is not set
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
-# CONFIG_DRIVER_SERIAL_ARM_DCC is not set
CONFIG_DRIVER_SERIAL_NS16550=y
CONFIG_DRIVER_SERIAL_NS16550_OMAP_EXTENSIONS=y
-
-#
-# SPI drivers
-#
# CONFIG_SPI is not set
-# CONFIG_I2C is not set
-
-#
-# flash drivers
-#
-# CONFIG_DRIVER_CFI is not set
-# CONFIG_DRIVER_CFI_OLD is not set
-# CONFIG_NAND is not set
-# CONFIG_USB is not set
-# CONFIG_USB_GADGET is not set
-# CONFIG_VIDEO is not set
-
-#
-# Filesystem support
-#
-# CONFIG_FS_CRAMFS is not set
-CONFIG_FS_RAMFS=y
-CONFIG_FS_DEVFS=y
-CONFIG_CRC16=y
-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
diff --git a/arch/arm/configs/omap3530_beagle_defconfig b/arch/arm/configs/omap3530_beagle_defconfig
index 41b8d87ade..d4b8737406 100644
--- a/arch/arm/configs/omap3530_beagle_defconfig
+++ b/arch/arm/configs/omap3530_beagle_defconfig
@@ -1,125 +1,17 @@
-#
-# Automatically generated make config: don't edit
-# barebox version: 2010.08.0
-# Tue Aug 10 18:52:24 2010
-#
-# CONFIG_BOARD_LINKER_SCRIPT is not set
-CONFIG_GENERIC_LINKER_SCRIPT=y
-CONFIG_ARM=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_AT91RM9200 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_IMX is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_NOMADIK is not set
CONFIG_ARCH_OMAP=y
-# CONFIG_ARCH_S3C24xx is not set
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_V7=y
-CONFIG_CPU_32v7=y
-
-#
-# processor features
-#
-CONFIG_ARCH_TEXT_BASE=0x80e80000
-CONFIG_BOARDINFO="Texas Instrument's Beagle"
-
-#
-# OMAP Features
-#
-CONFIG_ARCH_OMAP3=y
-CONFIG_OMAP_CLOCK_ALL=y
-CONFIG_OMAP_CLOCK_SOURCE_S32K=y
-CONFIG_OMAP3_CLOCK_CONFIG=y
# CONFIG_OMAP3_COPY_CLOCK_SRAM is not set
-CONFIG_GPMC=y
-CONFIG_GPIO=y
-
-#
-# OMAP Platform Features
-#
-# CONFIG_MACH_OMAP343xSDP is not set
CONFIG_MACH_BEAGLE=y
-# CONFIG_MACH_OMAP3EVM is not set
-CONFIG_HAS_OMAP_NAND=y
CONFIG_AEABI=y
-
-#
-# Arm specific settings
-#
-CONFIG_CMD_ARM_CPUINFO=y
-# CONFIG_CPU_V7_DCACHE_SKIP is not set
-# CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS is not set
-CONFIG_HAS_KALLSYMS=y
-CONFIG_HAS_MODULES=y
-CONFIG_CMD_MEMORY=y
-CONFIG_ENV_HANDLING=y
-CONFIG_GENERIC_GPIO=y
-
-#
-# General Settings
-#
-CONFIG_LOCALVERSION_AUTO=y
-
-#
-# memory layout
-#
-CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
CONFIG_TEXT_BASE=0x81000000
-CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
-CONFIG_MEMORY_LAYOUT_DEFAULT=y
-# CONFIG_MEMORY_LAYOUT_FIXED is not set
-CONFIG_STACK_SIZE=0x8000
-CONFIG_MALLOC_SIZE=0x400000
-# CONFIG_BROKEN is not set
-# CONFIG_EXPERIMENTAL is not set
-CONFIG_MACH_HAS_LOWLEVEL_INIT=y
-CONFIG_MACH_DO_LOWLEVEL_INIT=y
-CONFIG_ARCH_HAS_LOWLEVEL_INIT=y
CONFIG_PROMPT="barebox> "
-CONFIG_BAUDRATE=115200
CONFIG_LONGHELP=y
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-CONFIG_SHELL_HUSH=y
-# CONFIG_SHELL_SIMPLE is not set
CONFIG_GLOB=y
-CONFIG_PROMPT_HUSH_PS2="> "
CONFIG_HUSH_FANCY_PROMPT=y
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
-CONFIG_DYNAMIC_CRC_TABLE=y
-CONFIG_ERRNO_MESSAGES=y
# CONFIG_TIMESTAMP is not set
-CONFIG_CONSOLE_FULL=y
-CONFIG_CONSOLE_ACTIVATE_FIRST=y
-# CONFIG_OF_FLAT_TREE is not set
CONFIG_PARTITION=y
# CONFIG_DEFAULT_ENVIRONMENT is not set
-
-#
-# Debugging
-#
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
-# CONFIG_ENABLE_DEVICE_NOISE is not set
-
-#
-# Commands
-#
-
-#
-# scripting
-#
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
@@ -127,60 +19,14 @@ CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
-CONFIG_CMD_TRUE=y
-CONFIG_CMD_FALSE=y
-
-#
-# file commands
-#
-CONFIG_CMD_LS=y
-CONFIG_CMD_RM=y
-CONFIG_CMD_CAT=y
-CONFIG_CMD_MKDIR=y
-CONFIG_CMD_RMDIR=y
-CONFIG_CMD_CP=y
-CONFIG_CMD_PWD=y
-CONFIG_CMD_CD=y
-CONFIG_CMD_MOUNT=y
-CONFIG_CMD_UMOUNT=y
-
-#
-# console
-#
-CONFIG_CMD_CLEAR=y
-CONFIG_CMD_ECHO=y
CONFIG_CMD_ECHO_E=y
-
-#
-# memory
-#
CONFIG_CMD_LOADB=y
-# CONFIG_CMD_MEMINFO is not set
-# CONFIG_CMD_CRC is not set
-# CONFIG_CMD_MTEST is not set
-
-#
-# flash
-#
CONFIG_CMD_FLASH=y
-# CONFIG_CMD_UBI is not set
-
-#
-# booting
-#
# CONFIG_CMD_BOOTM is not set
-CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTU=y
-# CONFIG_CMD_LINUX16 is not set
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
-CONFIG_CMD_TEST=y
-CONFIG_CMD_VERSION=y
-CONFIG_CMD_HELP=y
-CONFIG_CMD_DEVINFO=y
-# CONFIG_CMD_GPIO is not set
CONFIG_CMD_UNLZO=y
CONFIG_CMD_I2C=y
CONFIG_NET=y
@@ -188,70 +34,18 @@ CONFIG_NET_DHCP=y
CONFIG_NET_NFS=y
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
-# CONFIG_NET_TFTP_PUSH is not set
-# CONFIG_NET_NETCONSOLE is not set
-# CONFIG_NET_RESOLV is not set
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
-# CONFIG_DRIVER_SERIAL_ARM_DCC is not set
CONFIG_DRIVER_SERIAL_NS16550=y
CONFIG_DRIVER_SERIAL_NS16550_OMAP_EXTENSIONS=y
-CONFIG_MIIDEV=y
-
-#
-# Network drivers
-#
-# CONFIG_DRIVER_NET_SMC911X is not set
-# CONFIG_DRIVER_NET_SMC91111 is not set
CONFIG_NET_USB=y
CONFIG_NET_USB_ASIX=y
-
-#
-# SPI drivers
-#
# CONFIG_SPI is not set
CONFIG_I2C=y
-CONFIG_DRIVER_I2C_OMAP=y
-# CONFIG_DRIVER_I2C_MC13892 is not set
-# CONFIG_DRIVER_I2C_MC34704 is not set
-# CONFIG_DRIVER_I2C_MC9SDZ60 is not set
-# CONFIG_DRIVER_I2C_LP3972 is not set
-CONFIG_DRIVER_I2C_TWL4030=y
-
-#
-# flash drivers
-#
-# CONFIG_DRIVER_CFI is not set
+CONFIG_I2C_OMAP=y
+CONFIG_I2C_TWL4030=y
CONFIG_MTD=y
CONFIG_NAND=y
CONFIG_NAND_OMAP_GPMC=y
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_UBI is not set
-# CONFIG_ATA is not set
CONFIG_USB=y
CONFIG_USB_EHCI=y
CONFIG_USB_EHCI_OMAP=y
-# CONFIG_USB_ISP1504 is not set
CONFIG_USB_TWL4030=y
-# CONFIG_USB_GADGET is not set
-# CONFIG_VIDEO is not set
-
-#
-# Filesystem support
-#
-# CONFIG_FS_CRAMFS is not set
-CONFIG_FS_RAMFS=y
-CONFIG_FS_DEVFS=y
-CONFIG_CRC32=y
-CONFIG_CRC16=y
-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
-CONFIG_PROCESS_ESCAPE_SEQUENCE=y
-CONFIG_LZO_DECOMPRESS=y
diff --git a/arch/arm/configs/omap3530_beagle_per_uart_defconfig b/arch/arm/configs/omap3530_beagle_per_uart_defconfig
index 76fbe84c6b..f574666342 100644
--- a/arch/arm/configs/omap3530_beagle_per_uart_defconfig
+++ b/arch/arm/configs/omap3530_beagle_per_uart_defconfig
@@ -1,138 +1,16 @@
-#
-# Automatically generated make config: don't edit
-# barebox version: 2.0.0-rc10
-# Fri Dec 18 11:49:08 2009
-#
-# CONFIG_BOARD_LINKER_SCRIPT is not set
-CONFIG_GENERIC_LINKER_SCRIPT=y
-CONFIG_ARM=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_AT91RM9200 is not set
-# CONFIG_ARCH_IMX is not set
-# CONFIG_ARCH_NETX is not set
CONFIG_ARCH_OMAP=y
-# CONFIG_ARCH_S3C24xx is not set
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_V7=y
-CONFIG_CPU_32v7=y
-
-#
-# processor features
-#
-CONFIG_ARCH_TEXT_BASE=0x80e80000
-CONFIG_BOARDINFO="Texas Instrument's Beagle"
-
-#
-# OMAP Features
-#
-CONFIG_ARCH_OMAP3=y
-CONFIG_OMAP_CONFIG_STACKSIZE=0x00008000
-CONFIG_OMAP_MALLOC_LEN=0x00008000
-CONFIG_OMAP_CLOCK_ALL=y
-CONFIG_OMAP_CLOCK_SOURCE_S32K=y
-CONFIG_OMAP3_CLOCK_CONFIG=y
# CONFIG_OMAP3_COPY_CLOCK_SRAM is not set
-CONFIG_GPMC=y
-
-#
-# OMAP Platform Features
-#
-# CONFIG_MACH_OMAP343xSDP is not set
CONFIG_MACH_BEAGLE=y
-# CONFIG_MACH_OMAP3EVM is not set
-CONFIG_HAS_OMAP_NAND=y
-# CONFIG_MACH_OMAP_GPMC_NAND is not set
-# CONFIG_AEABI is not set
-
-#
-# Arm specific settings
-#
-CONFIG_CMD_ARM_CPUINFO=y
-CONFIG_CMDLINE_TAG=y
-CONFIG_SETUP_MEMORY_TAGS=y
-# CONFIG_INITRD_TAG is not set
-# CONFIG_CPU_V7_DCACHE_SKIP is not set
-# CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS is not set
-CONFIG_HAS_KALLSYMS=y
-CONFIG_HAS_MODULES=y
-CONFIG_CMD_MEMORY=y
-
-#
-# General Settings
-#
-CONFIG_LOCALVERSION_AUTO=y
-
-#
-# memory layout
-#
-CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
CONFIG_TEXT_BASE=0x40200000
-CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
-# CONFIG_MEMORY_LAYOUT_DEFAULT is not set
CONFIG_MEMORY_LAYOUT_FIXED=y
CONFIG_STACK_BASE=0x87BF7F10
-CONFIG_STACK_SIZE=0x8000
CONFIG_MALLOC_BASE=0x87BFFF10
-CONFIG_MALLOC_SIZE=0x400000
-# CONFIG_BROKEN is not set
-# CONFIG_EXPERIMENTAL is not set
-CONFIG_MACH_HAS_LOWLEVEL_INIT=y
-CONFIG_MACH_DO_LOWLEVEL_INIT=y
-CONFIG_ARCH_HAS_LOWLEVEL_INIT=y
CONFIG_PROMPT="X-load Beagle>"
-CONFIG_BAUDRATE=115200
-CONFIG_SIMPLE_READLINE=y
CONFIG_LONGHELP=y
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-# CONFIG_SHELL_HUSH is not set
CONFIG_SHELL_SIMPLE=y
-# CONFIG_CMDLINE_EDITING is not set
# CONFIG_ERRNO_MESSAGES is not set
# CONFIG_TIMESTAMP is not set
-CONFIG_CONSOLE_FULL=y
-CONFIG_CONSOLE_ACTIVATE_FIRST=y
-# CONFIG_OF_FLAT_TREE is not set
-# CONFIG_PARTITION is not set
# CONFIG_DEFAULT_ENVIRONMENT is not set
-
-#
-# Debugging
-#
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
-# CONFIG_ENABLE_DEVICE_NOISE is not set
-
-#
-# Commands
-#
-
-#
-# scripting
-#
-# CONFIG_CMD_EDIT is not set
-# CONFIG_CMD_EXEC is not set
-# CONFIG_CMD_SLEEP is not set
-# CONFIG_CMD_SAVEENV is not set
-# CONFIG_CMD_LOADENV is not set
-# CONFIG_CMD_EXPORT is not set
-# CONFIG_CMD_PRINTENV is not set
-# CONFIG_CMD_READLINE is not set
-CONFIG_CMD_TRUE=y
-CONFIG_CMD_FALSE=y
-
-#
-# file commands
-#
# CONFIG_CMD_LS is not set
# CONFIG_CMD_RM is not set
# CONFIG_CMD_CAT is not set
@@ -143,73 +21,12 @@ CONFIG_CMD_FALSE=y
# CONFIG_CMD_CD is not set
# CONFIG_CMD_MOUNT is not set
# CONFIG_CMD_UMOUNT is not set
-
-#
-# console
-#
# CONFIG_CMD_CLEAR is not set
# CONFIG_CMD_ECHO is not set
-
-#
-# memory
-#
CONFIG_CMD_LOADB=y
-# CONFIG_CMD_MEMINFO is not set
-# CONFIG_CMD_CRC is not set
-# CONFIG_CMD_MTEST is not set
-
-#
-# flash
-#
-# CONFIG_CMD_FLASH is not set
-
-#
-# booting
-#
# CONFIG_CMD_BOOTM is not set
-CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTU=y
-# CONFIG_CMD_RESET is not set
CONFIG_CMD_GO=y
-# CONFIG_CMD_TIMEOUT is not set
-# CONFIG_CMD_PARTITION is not set
-CONFIG_CMD_VERSION=y
# CONFIG_CMD_HELP is not set
-CONFIG_CMD_DEVINFO=y
-# CONFIG_NET is not set
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
-# CONFIG_DRIVER_SERIAL_ARM_DCC is not set
CONFIG_DRIVER_SERIAL_NS16550=y
CONFIG_DRIVER_SERIAL_NS16550_OMAP_EXTENSIONS=y
-
-#
-# SPI drivers
-#
# CONFIG_SPI is not set
-# CONFIG_I2C is not set
-
-#
-# flash drivers
-#
-# CONFIG_DRIVER_CFI is not set
-# CONFIG_DRIVER_CFI_OLD is not set
-# CONFIG_NAND is not set
-# CONFIG_USB is not set
-# CONFIG_USB_GADGET is not set
-# CONFIG_VIDEO is not set
-
-#
-# Filesystem support
-#
-# CONFIG_FS_CRAMFS is not set
-CONFIG_FS_RAMFS=y
-CONFIG_FS_DEVFS=y
-CONFIG_CRC16=y
-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
diff --git a/arch/arm/configs/omap3_evm_defconfig b/arch/arm/configs/omap3_evm_defconfig
index abf60e65b0..3fe2647fde 100644
--- a/arch/arm/configs/omap3_evm_defconfig
+++ b/arch/arm/configs/omap3_evm_defconfig
@@ -1,216 +1,30 @@
-#
-# Automatically generated make config: don't edit
-# barebox version: 2009.12.0-pre
-# Fri Dec 18 16:39:27 2009
-#
-# CONFIG_BOARD_LINKER_SCRIPT is not set
-CONFIG_GENERIC_LINKER_SCRIPT=y
-CONFIG_ARM=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_AT91RM9200 is not set
-# CONFIG_ARCH_IMX is not set
-# CONFIG_ARCH_NETX is not set
CONFIG_ARCH_OMAP=y
-# CONFIG_ARCH_S3C24xx is not set
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_V7=y
-CONFIG_CPU_32v7=y
-
-#
-# processor features
-#
-CONFIG_BOARDINFO="Texas Instrument's OMAP3EVM"
-
-#
-# OMAP Features
-#
-CONFIG_ARCH_OMAP3=y
-CONFIG_OMAP_CONFIG_STACKSIZE=0x00008000
-CONFIG_OMAP_MALLOC_LEN=0x00008000
-CONFIG_OMAP_CLOCK_ALL=y
-CONFIG_OMAP_CLOCK_SOURCE_S32K=y
-CONFIG_OMAP3_CLOCK_CONFIG=y
# CONFIG_OMAP3_COPY_CLOCK_SRAM is not set
-CONFIG_GPMC=y
-
-#
-# OMAP Platform Features
-#
-# CONFIG_MACH_OMAP343xSDP is not set
-# CONFIG_MACH_BEAGLE is not set
CONFIG_MACH_OMAP3EVM=y
-CONFIG_OMAP3EVM_UART1=y
-# CONFIG_OMAP3EVM_UART3 is not set
-CONFIG_HAS_OMAP_NAND=y
-# CONFIG_MACH_OMAP_GPMC_NAND is not set
CONFIG_AEABI=y
-
-#
-# Arm specific settings
-#
-CONFIG_CMD_ARM_CPUINFO=y
-# CONFIG_CMDLINE_TAG is not set
-# CONFIG_SETUP_MEMORY_TAGS is not set
-# CONFIG_INITRD_TAG is not set
-# CONFIG_CPU_V7_DCACHE_SKIP is not set
-# CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS is not set
-CONFIG_HAS_KALLSYMS=y
-CONFIG_HAS_MODULES=y
# CONFIG_CMD_MEMORY is not set
-
-#
-# General Settings
-#
-CONFIG_LOCALVERSION_AUTO=y
-
-#
-# memory layout
-#
-CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
CONFIG_TEXT_BASE=0x40200000
-CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
-# CONFIG_MEMORY_LAYOUT_DEFAULT is not set
CONFIG_MEMORY_LAYOUT_FIXED=y
CONFIG_STACK_BASE=0x87BF7F10
-CONFIG_STACK_SIZE=0x8000
CONFIG_MALLOC_BASE=0x87BFFF10
-CONFIG_MALLOC_SIZE=0x400000
-# CONFIG_BROKEN is not set
-# CONFIG_EXPERIMENTAL is not set
-CONFIG_MACH_HAS_LOWLEVEL_INIT=y
-CONFIG_MACH_DO_LOWLEVEL_INIT=y
-CONFIG_ARCH_HAS_LOWLEVEL_INIT=y
CONFIG_PROMPT="OMAP3_EVM> "
-CONFIG_BAUDRATE=115200
-CONFIG_SIMPLE_READLINE=y
CONFIG_LONGHELP=y
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-# CONFIG_SHELL_HUSH is not set
CONFIG_SHELL_SIMPLE=y
-# CONFIG_CMDLINE_EDITING is not set
# CONFIG_ERRNO_MESSAGES is not set
# CONFIG_TIMESTAMP is not set
-CONFIG_CONSOLE_FULL=y
-CONFIG_CONSOLE_ACTIVATE_FIRST=y
-# CONFIG_OF_FLAT_TREE is not set
-# CONFIG_PARTITION is not set
# CONFIG_DEFAULT_ENVIRONMENT is not set
-
-#
-# Debugging
-#
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
-# CONFIG_ENABLE_DEVICE_NOISE is not set
-
-#
-# Commands
-#
-
-#
-# scripting
-#
-# CONFIG_CMD_EDIT is not set
-# CONFIG_CMD_EXEC is not set
-# CONFIG_CMD_SLEEP is not set
-# CONFIG_CMD_SAVEENV is not set
-# CONFIG_CMD_LOADENV is not set
-# CONFIG_CMD_EXPORT is not set
-# CONFIG_CMD_PRINTENV is not set
-# CONFIG_CMD_READLINE is not set
-CONFIG_CMD_TRUE=y
-CONFIG_CMD_FALSE=y
-
-#
-# file commands
-#
-CONFIG_CMD_LS=y
# CONFIG_CMD_RM is not set
# CONFIG_CMD_CAT is not set
# CONFIG_CMD_MKDIR is not set
# CONFIG_CMD_RMDIR is not set
# CONFIG_CMD_CP is not set
-CONFIG_CMD_PWD=y
-CONFIG_CMD_CD=y
# CONFIG_CMD_MOUNT is not set
# CONFIG_CMD_UMOUNT is not set
-
-#
-# console
-#
-CONFIG_CMD_CLEAR=y
-CONFIG_CMD_ECHO=y
-
-#
-# memory
-#
CONFIG_CMD_LOADB=y
CONFIG_CMD_MEMINFO=y
-# CONFIG_CMD_CRC is not set
-# CONFIG_CMD_MTEST is not set
-
-#
-# flash
-#
-# CONFIG_CMD_FLASH is not set
-
-#
-# booting
-#
# CONFIG_CMD_BOOTM is not set
-CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTU=y
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
-# CONFIG_CMD_TIMEOUT is not set
-# CONFIG_CMD_PARTITION is not set
-CONFIG_CMD_VERSION=y
-CONFIG_CMD_HELP=y
-CONFIG_CMD_DEVINFO=y
-# CONFIG_NET is not set
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
-# CONFIG_DRIVER_SERIAL_ARM_DCC is not set
CONFIG_DRIVER_SERIAL_NS16550=y
CONFIG_DRIVER_SERIAL_NS16550_OMAP_EXTENSIONS=y
-
-#
-# SPI drivers
-#
# CONFIG_SPI is not set
-# CONFIG_I2C is not set
-
-#
-# flash drivers
-#
-# CONFIG_DRIVER_CFI is not set
-CONFIG_DRIVER_CFI_OLD=y
-# CONFIG_NAND is not set
-# CONFIG_USB is not set
-# CONFIG_USB_GADGET is not set
-# CONFIG_VIDEO is not set
-
-#
-# Filesystem support
-#
-# CONFIG_FS_CRAMFS is not set
-CONFIG_FS_RAMFS=y
-CONFIG_FS_DEVFS=y
-CONFIG_CRC16=y
-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
diff --git a/arch/arm/configs/pca100_defconfig b/arch/arm/configs/pca100_defconfig
index 5053bf655f..d1708a681e 100644
--- a/arch/arm/configs/pca100_defconfig
+++ b/arch/arm/configs/pca100_defconfig
@@ -1,131 +1,18 @@
-#
-# Automatically generated make config: don't edit
-# barebox version: 2010.07.0
-# Tue Aug 3 08:28:20 2010
-#
-# CONFIG_BOARD_LINKER_SCRIPT is not set
-CONFIG_GENERIC_LINKER_SCRIPT=y
-CONFIG_ARM=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_AT91RM9200 is not set
-# CONFIG_ARCH_EP93XX is not set
CONFIG_ARCH_IMX=y
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_ARCH_S3C24xx is not set
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_ARM926T=y
-CONFIG_CPU_32v5=y
-
-#
-# processor features
-#
-CONFIG_ARCH_TEXT_BASE=0xa7f00000
-CONFIG_BOARDINFO="Phytec phyCard-i.MX27"
-CONFIG_ARCH_HAS_FEC_IMX=y
-
-#
-# Freescale i.MX System-on-Chip
-#
-# CONFIG_ARCH_IMX1 is not set
-# CONFIG_ARCH_IMX21 is not set
-# CONFIG_ARCH_IMX25 is not set
CONFIG_ARCH_IMX27=y
-# CONFIG_ARCH_IMX31 is not set
-# CONFIG_ARCH_IMX35 is not set
-# CONFIG_MACH_EUKREA_CPUIMX27 is not set
-# CONFIG_MACH_IMX27ADS is not set
CONFIG_MACH_PCA100=y
-# CONFIG_MACH_PCM038 is not set
-
-#
-# Board specific settings
-#
-
-#
-# i.MX specific settings
-#
CONFIG_IMX_CLKO=y
CONFIG_AEABI=y
-
-#
-# Arm specific settings
-#
-CONFIG_CMD_ARM_CPUINFO=y
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
-CONFIG_GREGORIAN_CALENDER=y
-CONFIG_HAS_KALLSYMS=y
-CONFIG_HAS_MODULES=y
-CONFIG_CMD_MEMORY=y
-CONFIG_ENV_HANDLING=y
-CONFIG_GENERIC_GPIO=y
-
-#
-# General Settings
-#
-CONFIG_LOCALVERSION_AUTO=y
-
-#
-# memory layout
-#
-CONFIG_HAVE_MMU=y
CONFIG_MMU=y
-CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
-CONFIG_TEXT_BASE=0xa7f00000
-CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
-CONFIG_MEMORY_LAYOUT_DEFAULT=y
-# CONFIG_MEMORY_LAYOUT_FIXED is not set
-CONFIG_STACK_SIZE=0x8000
CONFIG_MALLOC_SIZE=0x500000
-# CONFIG_BROKEN is not set
-# CONFIG_EXPERIMENTAL is not set
-CONFIG_MACH_HAS_LOWLEVEL_INIT=y
-CONFIG_MACH_DO_LOWLEVEL_INIT=y
-CONFIG_PROMPT="barebox:"
-CONFIG_BAUDRATE=115200
CONFIG_LONGHELP=y
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-CONFIG_SHELL_HUSH=y
-# CONFIG_SHELL_SIMPLE is not set
CONFIG_GLOB=y
-CONFIG_PROMPT_HUSH_PS2="> "
CONFIG_HUSH_FANCY_PROMPT=y
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
-CONFIG_DYNAMIC_CRC_TABLE=y
-CONFIG_ERRNO_MESSAGES=y
-CONFIG_TIMESTAMP=y
-CONFIG_CONSOLE_FULL=y
-CONFIG_CONSOLE_ACTIVATE_FIRST=y
-# CONFIG_OF_FLAT_TREE is not set
CONFIG_PARTITION=y
-CONFIG_DEFAULT_ENVIRONMENT=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="defaultenv arch/arm/boards/phycard-i.MX27/env"
-
-#
-# Debugging
-#
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
-# CONFIG_ENABLE_DEVICE_NOISE is not set
-
-#
-# Commands
-#
-
-#
-# scripting
-#
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
@@ -133,124 +20,26 @@ CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
-CONFIG_CMD_TRUE=y
-CONFIG_CMD_FALSE=y
-
-#
-# file commands
-#
-CONFIG_CMD_LS=y
-CONFIG_CMD_RM=y
-CONFIG_CMD_CAT=y
-CONFIG_CMD_MKDIR=y
-CONFIG_CMD_RMDIR=y
-CONFIG_CMD_CP=y
-CONFIG_CMD_PWD=y
-CONFIG_CMD_CD=y
-CONFIG_CMD_MOUNT=y
-CONFIG_CMD_UMOUNT=y
-
-#
-# console
-#
-CONFIG_CMD_CLEAR=y
-CONFIG_CMD_ECHO=y
CONFIG_CMD_ECHO_E=y
-
-#
-# memory
-#
-# CONFIG_CMD_LOADB is not set
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_CRC=y
CONFIG_CMD_MTEST=y
-# CONFIG_CMD_MTEST_ALTERNATIVE is not set
-
-#
-# flash
-#
CONFIG_CMD_FLASH=y
-
-#
-# booting
-#
-CONFIG_CMD_BOOTM=y
-# CONFIG_CMD_BOOTM_ZLIB is not set
-# CONFIG_CMD_BOOTM_BZLIB is not set
-# CONFIG_CMD_BOOTM_SHOW_TYPE is not set
-CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTU=y
-# CONFIG_CMD_LINUX16 is not set
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
-CONFIG_CMD_TEST=y
-CONFIG_CMD_VERSION=y
-CONFIG_CMD_HELP=y
-CONFIG_CMD_DEVINFO=y
CONFIG_CMD_GPIO=y
-# CONFIG_CMD_UNLZO is not set
CONFIG_NET=y
CONFIG_NET_DHCP=y
-# CONFIG_NET_NFS is not set
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
CONFIG_NET_TFTP_PUSH=y
CONFIG_NET_NETCONSOLE=y
-# CONFIG_NET_RESOLV is not set
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
-# CONFIG_DRIVER_SERIAL_ARM_DCC is not set
-CONFIG_DRIVER_SERIAL_IMX=y
-# CONFIG_DRIVER_SERIAL_NS16550 is not set
-CONFIG_MIIDEV=y
-
-#
-# Network drivers
-#
-# CONFIG_DRIVER_NET_SMC911X is not set
-# CONFIG_DRIVER_NET_SMC91111 is not set
CONFIG_DRIVER_NET_FEC_IMX=y
CONFIG_NET_USB=y
CONFIG_NET_USB_ASIX=y
-
-#
-# SPI drivers
-#
# CONFIG_SPI is not set
-# CONFIG_I2C is not set
-
-#
-# flash drivers
-#
-# CONFIG_DRIVER_CFI is not set
-CONFIG_NAND=y
-CONFIG_NAND_IMX=y
-CONFIG_NAND_IMX_BOOT=y
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_ATA is not set
CONFIG_USB=y
CONFIG_USB_EHCI=y
-CONFIG_USB_ULPI=y
CONFIG_USB_ISP1504=y
-# CONFIG_USB_GADGET is not set
-# CONFIG_VIDEO is not set
-
-#
-# Filesystem support
-#
-# CONFIG_FS_CRAMFS is not set
-CONFIG_FS_RAMFS=y
-CONFIG_FS_DEVFS=y
-CONFIG_CRC32=y
-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
-CONFIG_PROCESS_ESCAPE_SEQUENCE=y
diff --git a/arch/arm/configs/pcm037_defconfig b/arch/arm/configs/pcm037_defconfig
index bfee2b2243..8e60b0a6c3 100644
--- a/arch/arm/configs/pcm037_defconfig
+++ b/arch/arm/configs/pcm037_defconfig
@@ -1,133 +1,16 @@
-#
-# Automatically generated make config: don't edit
-# barebox version: 2010.07.0
-# Tue Aug 3 08:28:42 2010
-#
-# CONFIG_BOARD_LINKER_SCRIPT is not set
-CONFIG_GENERIC_LINKER_SCRIPT=y
-CONFIG_ARM=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_AT91RM9200 is not set
-# CONFIG_ARCH_EP93XX is not set
CONFIG_ARCH_IMX=y
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_ARCH_S3C24xx is not set
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_V6=y
-CONFIG_CPU_32v6=y
-
-#
-# processor features
-#
-CONFIG_ARCH_HAS_L2X0=y
CONFIG_CACHE_L2X0=y
-CONFIG_ARCH_TEXT_BASE=0x87f00000
-CONFIG_BOARDINFO="Phytec phyCORE-i.MX31"
-
-#
-# Freescale i.MX System-on-Chip
-#
-# CONFIG_ARCH_IMX1 is not set
-# CONFIG_ARCH_IMX21 is not set
-# CONFIG_ARCH_IMX25 is not set
-# CONFIG_ARCH_IMX27 is not set
CONFIG_ARCH_IMX31=y
-# CONFIG_ARCH_IMX35 is not set
-CONFIG_MACH_PCM037=y
-
-#
-# Board specific settings
-#
-CONFIG_PCM037_SDRAM_BANK0_128MB=y
-# CONFIG_PCM037_SDRAM_BANK0_256MB is not set
-CONFIG_PCM037_SDRAM_BANK1_NONE=y
-# CONFIG_PCM037_SDRAM_BANK1_128MB is not set
-# CONFIG_PCM037_SDRAM_BANK1_256MB is not set
-
-#
-# i.MX specific settings
-#
CONFIG_AEABI=y
-
-#
-# Arm specific settings
-#
-CONFIG_CMD_ARM_CPUINFO=y
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
-CONFIG_GREGORIAN_CALENDER=y
-CONFIG_HAS_KALLSYMS=y
-CONFIG_HAS_MODULES=y
-CONFIG_CMD_MEMORY=y
-CONFIG_ENV_HANDLING=y
-CONFIG_GENERIC_GPIO=y
-
-#
-# General Settings
-#
-CONFIG_LOCALVERSION_AUTO=y
-
-#
-# memory layout
-#
-CONFIG_HAVE_MMU=y
CONFIG_MMU=y
-CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
-CONFIG_TEXT_BASE=0x87f00000
-CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
-CONFIG_MEMORY_LAYOUT_DEFAULT=y
-# CONFIG_MEMORY_LAYOUT_FIXED is not set
-CONFIG_STACK_SIZE=0x8000
-CONFIG_MALLOC_SIZE=0x400000
-# CONFIG_BROKEN is not set
-# CONFIG_EXPERIMENTAL is not set
-CONFIG_MACH_HAS_LOWLEVEL_INIT=y
-CONFIG_MACH_DO_LOWLEVEL_INIT=y
-CONFIG_PROMPT="barebox:"
-CONFIG_BAUDRATE=115200
CONFIG_LONGHELP=y
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-CONFIG_SHELL_HUSH=y
-# CONFIG_SHELL_SIMPLE is not set
CONFIG_GLOB=y
-CONFIG_PROMPT_HUSH_PS2="> "
CONFIG_HUSH_FANCY_PROMPT=y
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
-CONFIG_DYNAMIC_CRC_TABLE=y
-CONFIG_ERRNO_MESSAGES=y
-CONFIG_TIMESTAMP=y
-CONFIG_CONSOLE_FULL=y
-CONFIG_CONSOLE_ACTIVATE_FIRST=y
-# CONFIG_OF_FLAT_TREE is not set
CONFIG_PARTITION=y
-CONFIG_DEFAULT_ENVIRONMENT=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="defaultenv arch/arm/boards/pcm037/env"
-
-#
-# Debugging
-#
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
-# CONFIG_ENABLE_DEVICE_NOISE is not set
-
-#
-# Commands
-#
-
-#
-# scripting
-#
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
@@ -135,132 +18,25 @@ CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
-CONFIG_CMD_TRUE=y
-CONFIG_CMD_FALSE=y
-
-#
-# file commands
-#
-CONFIG_CMD_LS=y
-CONFIG_CMD_RM=y
-CONFIG_CMD_CAT=y
-CONFIG_CMD_MKDIR=y
-CONFIG_CMD_RMDIR=y
-CONFIG_CMD_CP=y
-CONFIG_CMD_PWD=y
-CONFIG_CMD_CD=y
-CONFIG_CMD_MOUNT=y
-CONFIG_CMD_UMOUNT=y
-
-#
-# console
-#
-CONFIG_CMD_CLEAR=y
-CONFIG_CMD_ECHO=y
CONFIG_CMD_ECHO_E=y
-
-#
-# memory
-#
-# CONFIG_CMD_LOADB is not set
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_CRC=y
-# CONFIG_CMD_MTEST is not set
-
-#
-# flash
-#
CONFIG_CMD_FLASH=y
-
-#
-# booting
-#
-CONFIG_CMD_BOOTM=y
-# CONFIG_CMD_BOOTM_ZLIB is not set
-# CONFIG_CMD_BOOTM_BZLIB is not set
-# CONFIG_CMD_BOOTM_SHOW_TYPE is not set
-CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTU=y
-# CONFIG_CMD_LINUX16 is not set
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
-CONFIG_CMD_TEST=y
-CONFIG_CMD_VERSION=y
-CONFIG_CMD_HELP=y
-CONFIG_CMD_DEVINFO=y
CONFIG_CMD_GPIO=y
-# CONFIG_CMD_UNLZO is not set
CONFIG_NET=y
CONFIG_NET_DHCP=y
-# CONFIG_NET_NFS is not set
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
CONFIG_NET_TFTP_PUSH=y
CONFIG_NET_NETCONSOLE=y
-# CONFIG_NET_RESOLV is not set
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
-# CONFIG_DRIVER_SERIAL_ARM_DCC is not set
-CONFIG_DRIVER_SERIAL_IMX=y
-# CONFIG_DRIVER_SERIAL_NS16550 is not set
-CONFIG_MIIDEV=y
-
-#
-# Network drivers
-#
CONFIG_DRIVER_NET_SMC911X=y
-CONFIG_DRIVER_NET_SMC911X_ADDRESS_SHIFT=0
-# CONFIG_DRIVER_NET_SMC91111 is not set
CONFIG_NET_USB=y
CONFIG_NET_USB_ASIX=y
-
-#
-# SPI drivers
-#
-CONFIG_SPI=y
-# CONFIG_DRIVER_SPI_IMX is not set
-# CONFIG_DRIVER_SPI_MC13783 is not set
-# CONFIG_I2C is not set
-
-#
-# flash drivers
-#
CONFIG_DRIVER_CFI=y
-CONFIG_DRIVER_CFI_INTEL=y
-CONFIG_DRIVER_CFI_AMD=y
-CONFIG_DRIVER_CFI_BANK_WIDTH_1=y
-CONFIG_DRIVER_CFI_BANK_WIDTH_2=y
-CONFIG_DRIVER_CFI_BANK_WIDTH_4=y
-# CONFIG_DRIVER_CFI_BANK_WIDTH_8 is not set
CONFIG_CFI_BUFFER_WRITE=y
-CONFIG_NAND=y
-CONFIG_NAND_IMX=y
-CONFIG_NAND_IMX_BOOT=y
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_ATA is not set
CONFIG_USB=y
CONFIG_USB_EHCI=y
-CONFIG_USB_ULPI=y
-CONFIG_USB_ISP1504=y
-# CONFIG_USB_GADGET is not set
-# CONFIG_VIDEO is not set
-
-#
-# Filesystem support
-#
-# CONFIG_FS_CRAMFS is not set
-CONFIG_FS_RAMFS=y
-CONFIG_FS_DEVFS=y
-CONFIG_CRC32=y
-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
-CONFIG_PROCESS_ESCAPE_SEQUENCE=y
diff --git a/arch/arm/configs/pcm038_defconfig b/arch/arm/configs/pcm038_defconfig
index a2b31f2ec5..eacbbc6398 100644
--- a/arch/arm/configs/pcm038_defconfig
+++ b/arch/arm/configs/pcm038_defconfig
@@ -1,131 +1,19 @@
-#
-# Automatically generated make config: don't edit
-# barebox version: 2010.07.0
-# Tue Aug 3 08:24:23 2010
-#
-# CONFIG_BOARD_LINKER_SCRIPT is not set
-CONFIG_GENERIC_LINKER_SCRIPT=y
-CONFIG_ARM=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_AT91RM9200 is not set
-# CONFIG_ARCH_EP93XX is not set
CONFIG_ARCH_IMX=y
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_ARCH_S3C24xx is not set
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_ARM926T=y
-CONFIG_CPU_32v5=y
-
-#
-# processor features
-#
-CONFIG_ARCH_TEXT_BASE=0xa0000000
-CONFIG_BOARDINFO="Phytec phyCORE-i.MX27"
-CONFIG_ARCH_HAS_FEC_IMX=y
-
-#
-# Freescale i.MX System-on-Chip
-#
-# CONFIG_ARCH_IMX1 is not set
-# CONFIG_ARCH_IMX21 is not set
-# CONFIG_ARCH_IMX25 is not set
CONFIG_ARCH_IMX27=y
-# CONFIG_ARCH_IMX31 is not set
-# CONFIG_ARCH_IMX35 is not set
-# CONFIG_MACH_EUKREA_CPUIMX27 is not set
-# CONFIG_MACH_IMX27ADS is not set
-# CONFIG_MACH_PCA100 is not set
CONFIG_MACH_PCM038=y
-
-#
-# Board specific settings
-#
-
-#
-# i.MX specific settings
-#
CONFIG_IMX_CLKO=y
CONFIG_AEABI=y
-
-#
-# Arm specific settings
-#
-CONFIG_CMD_ARM_CPUINFO=y
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
-CONFIG_GREGORIAN_CALENDER=y
-CONFIG_HAS_KALLSYMS=y
-CONFIG_HAS_MODULES=y
-CONFIG_CMD_MEMORY=y
-CONFIG_ENV_HANDLING=y
-CONFIG_GENERIC_GPIO=y
-
-#
-# General Settings
-#
-CONFIG_LOCALVERSION_AUTO=y
-
-#
-# memory layout
-#
-CONFIG_HAVE_MMU=y
CONFIG_MMU=y
-CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
CONFIG_TEXT_BASE=0xa7f00000
-CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
-CONFIG_MEMORY_LAYOUT_DEFAULT=y
-# CONFIG_MEMORY_LAYOUT_FIXED is not set
-CONFIG_STACK_SIZE=0x8000
CONFIG_MALLOC_SIZE=0x1000000
-# CONFIG_BROKEN is not set
-# CONFIG_EXPERIMENTAL is not set
-CONFIG_MACH_HAS_LOWLEVEL_INIT=y
-CONFIG_MACH_DO_LOWLEVEL_INIT=y
-CONFIG_PROMPT="barebox:"
-CONFIG_BAUDRATE=115200
CONFIG_LONGHELP=y
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-CONFIG_SHELL_HUSH=y
-# CONFIG_SHELL_SIMPLE is not set
CONFIG_GLOB=y
-CONFIG_PROMPT_HUSH_PS2="> "
CONFIG_HUSH_FANCY_PROMPT=y
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
-CONFIG_DYNAMIC_CRC_TABLE=y
-CONFIG_ERRNO_MESSAGES=y
-CONFIG_TIMESTAMP=y
-CONFIG_CONSOLE_FULL=y
-CONFIG_CONSOLE_ACTIVATE_FIRST=y
-# CONFIG_OF_FLAT_TREE is not set
CONFIG_PARTITION=y
-CONFIG_DEFAULT_ENVIRONMENT=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="defaultenv arch/arm/boards/pcm038/env"
-
-#
-# Debugging
-#
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
-# CONFIG_ENABLE_DEVICE_NOISE is not set
-
-#
-# Commands
-#
-
-#
-# scripting
-#
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
@@ -133,137 +21,36 @@ CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
-CONFIG_CMD_TRUE=y
-CONFIG_CMD_FALSE=y
-
-#
-# file commands
-#
-CONFIG_CMD_LS=y
-CONFIG_CMD_RM=y
-CONFIG_CMD_CAT=y
-CONFIG_CMD_MKDIR=y
-CONFIG_CMD_RMDIR=y
-CONFIG_CMD_CP=y
-CONFIG_CMD_PWD=y
-CONFIG_CMD_CD=y
-CONFIG_CMD_MOUNT=y
-CONFIG_CMD_UMOUNT=y
-
-#
-# console
-#
-CONFIG_CMD_CLEAR=y
-CONFIG_CMD_ECHO=y
CONFIG_CMD_ECHO_E=y
-
-#
-# memory
-#
-# CONFIG_CMD_LOADB is not set
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_CRC=y
CONFIG_CMD_MTEST=y
-# CONFIG_CMD_MTEST_ALTERNATIVE is not set
-
-#
-# flash
-#
CONFIG_CMD_FLASH=y
-
-#
-# booting
-#
-CONFIG_CMD_BOOTM=y
-# CONFIG_CMD_BOOTM_ZLIB is not set
-# CONFIG_CMD_BOOTM_BZLIB is not set
-# CONFIG_CMD_BOOTM_SHOW_TYPE is not set
-CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTU=y
-# CONFIG_CMD_LINUX16 is not set
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
-CONFIG_CMD_TEST=y
-CONFIG_CMD_VERSION=y
-CONFIG_CMD_HELP=y
-CONFIG_CMD_DEVINFO=y
CONFIG_CMD_BMP=y
CONFIG_CMD_GPIO=y
-# CONFIG_CMD_UNLZO is not set
CONFIG_NET=y
CONFIG_NET_DHCP=y
-# CONFIG_NET_NFS is not set
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
CONFIG_NET_TFTP_PUSH=y
CONFIG_NET_NETCONSOLE=y
-# CONFIG_NET_RESOLV is not set
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
-# CONFIG_DRIVER_SERIAL_ARM_DCC is not set
-CONFIG_DRIVER_SERIAL_IMX=y
-# CONFIG_DRIVER_SERIAL_NS16550 is not set
-CONFIG_MIIDEV=y
-
-#
-# Network drivers
-#
-# CONFIG_DRIVER_NET_SMC911X is not set
-# CONFIG_DRIVER_NET_SMC91111 is not set
CONFIG_DRIVER_NET_FEC_IMX=y
CONFIG_NET_USB=y
CONFIG_NET_USB_ASIX=y
-
-#
-# SPI drivers
-#
-CONFIG_SPI=y
-CONFIG_DRIVER_SPI_IMX=y
-CONFIG_DRIVER_SPI_MC13783=y
-# CONFIG_I2C is not set
-
-#
-# flash drivers
-#
-CONFIG_HAS_CFI=y
CONFIG_DRIVER_CFI=y
-CONFIG_DRIVER_CFI_INTEL=y
-CONFIG_DRIVER_CFI_AMD=y
-CONFIG_DRIVER_CFI_BANK_WIDTH_1=y
-CONFIG_DRIVER_CFI_BANK_WIDTH_2=y
-CONFIG_DRIVER_CFI_BANK_WIDTH_4=y
-# CONFIG_DRIVER_CFI_BANK_WIDTH_8 is not set
CONFIG_CFI_BUFFER_WRITE=y
+CONFIG_MTD=y
CONFIG_NAND=y
CONFIG_NAND_IMX=y
CONFIG_NAND_IMX_BOOT=y
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_ATA is not set
+CONFIG_UBI=y
CONFIG_USB=y
CONFIG_USB_EHCI=y
-CONFIG_USB_ULPI=y
CONFIG_USB_ISP1504=y
-# CONFIG_USB_GADGET is not set
CONFIG_VIDEO=y
CONFIG_DRIVER_VIDEO_IMX=y
CONFIG_IMXFB_DRIVER_VIDEO_IMX_OVERLAY=y
-
-#
-# Filesystem support
-#
-# CONFIG_FS_CRAMFS is not set
-CONFIG_FS_RAMFS=y
-CONFIG_FS_DEVFS=y
-CONFIG_CRC32=y
-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
-CONFIG_PROCESS_ESCAPE_SEQUENCE=y
diff --git a/arch/arm/configs/pcm043_defconfig b/arch/arm/configs/pcm043_defconfig
index b374c7cdd9..51ca83320b 100644
--- a/arch/arm/configs/pcm043_defconfig
+++ b/arch/arm/configs/pcm043_defconfig
@@ -1,135 +1,19 @@
-#
-# Automatically generated make config: don't edit
-# barebox version: 2010.07.0
-# Tue Aug 3 09:10:56 2010
-#
-# CONFIG_BOARD_LINKER_SCRIPT is not set
-CONFIG_GENERIC_LINKER_SCRIPT=y
-CONFIG_ARM=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_AT91RM9200 is not set
-# CONFIG_ARCH_EP93XX is not set
CONFIG_ARCH_IMX=y
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_ARCH_S3C24xx is not set
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_V6=y
-CONFIG_CPU_32v6=y
-
-#
-# processor features
-#
-CONFIG_ARCH_HAS_L2X0=y
CONFIG_CACHE_L2X0=y
-CONFIG_ARCH_TEXT_BASE=0x87f00000
-CONFIG_BOARDINFO="Phytec phyCORE-i.MX35"
-CONFIG_ARCH_HAS_FEC_IMX=y
-# CONFIG_ARCH_IMX_INTERNAL_BOOT is not set
-
-#
-# Freescale i.MX System-on-Chip
-#
-# CONFIG_ARCH_IMX1 is not set
-# CONFIG_ARCH_IMX21 is not set
-# CONFIG_ARCH_IMX25 is not set
-# CONFIG_ARCH_IMX27 is not set
-# CONFIG_ARCH_IMX31 is not set
CONFIG_ARCH_IMX35=y
-# CONFIG_MACH_EUKREA_CPUIMX35 is not set
-# CONFIG_MACH_FREESCALE_MX35_3STACK is not set
CONFIG_MACH_PCM043=y
-
-#
-# Board specific settings
-#
-CONFIG_PCM043_DISPLAY_SHARP=y
-# CONFIG_PCM043_DISPLAY_TY090 is not set
-
-#
-# i.MX specific settings
-#
CONFIG_IMX_CLKO=y
CONFIG_AEABI=y
-
-#
-# Arm specific settings
-#
-CONFIG_CMD_ARM_CPUINFO=y
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
-CONFIG_GREGORIAN_CALENDER=y
-CONFIG_HAS_KALLSYMS=y
-CONFIG_HAS_MODULES=y
-CONFIG_CMD_MEMORY=y
-CONFIG_ENV_HANDLING=y
-CONFIG_GENERIC_GPIO=y
-
-#
-# General Settings
-#
-CONFIG_LOCALVERSION_AUTO=y
-
-#
-# memory layout
-#
-CONFIG_HAVE_MMU=y
CONFIG_MMU=y
-CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
CONFIG_TEXT_BASE=0x87F00000
-CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
-CONFIG_MEMORY_LAYOUT_DEFAULT=y
-# CONFIG_MEMORY_LAYOUT_FIXED is not set
-CONFIG_STACK_SIZE=0x8000
-CONFIG_MALLOC_SIZE=0x400000
-# CONFIG_BROKEN is not set
-# CONFIG_EXPERIMENTAL is not set
-CONFIG_MACH_HAS_LOWLEVEL_INIT=y
-CONFIG_MACH_DO_LOWLEVEL_INIT=y
-CONFIG_PROMPT="barebox:"
-CONFIG_BAUDRATE=115200
CONFIG_LONGHELP=y
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-CONFIG_SHELL_HUSH=y
-# CONFIG_SHELL_SIMPLE is not set
CONFIG_GLOB=y
-CONFIG_PROMPT_HUSH_PS2="> "
CONFIG_HUSH_FANCY_PROMPT=y
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
-CONFIG_DYNAMIC_CRC_TABLE=y
-CONFIG_ERRNO_MESSAGES=y
-CONFIG_TIMESTAMP=y
-CONFIG_CONSOLE_FULL=y
-CONFIG_CONSOLE_ACTIVATE_FIRST=y
-# CONFIG_OF_FLAT_TREE is not set
CONFIG_PARTITION=y
-CONFIG_DEFAULT_ENVIRONMENT=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="defaultenv arch/arm/boards/pcm043/env"
-
-#
-# Debugging
-#
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
-# CONFIG_ENABLE_DEVICE_NOISE is not set
-
-#
-# Commands
-#
-
-#
-# scripting
-#
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
@@ -137,126 +21,26 @@ CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
-CONFIG_CMD_TRUE=y
-CONFIG_CMD_FALSE=y
-
-#
-# file commands
-#
-CONFIG_CMD_LS=y
-CONFIG_CMD_RM=y
-CONFIG_CMD_CAT=y
-CONFIG_CMD_MKDIR=y
-CONFIG_CMD_RMDIR=y
-CONFIG_CMD_CP=y
-CONFIG_CMD_PWD=y
-CONFIG_CMD_CD=y
-CONFIG_CMD_MOUNT=y
-CONFIG_CMD_UMOUNT=y
-
-#
-# console
-#
-CONFIG_CMD_CLEAR=y
-CONFIG_CMD_ECHO=y
-# CONFIG_CMD_ECHO_E is not set
-
-#
-# memory
-#
-# CONFIG_CMD_LOADB is not set
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_CRC=y
-# CONFIG_CMD_MTEST is not set
-
-#
-# flash
-#
CONFIG_CMD_FLASH=y
-
-#
-# booting
-#
-CONFIG_CMD_BOOTM=y
-# CONFIG_CMD_BOOTM_ZLIB is not set
-# CONFIG_CMD_BOOTM_BZLIB is not set
-# CONFIG_CMD_BOOTM_SHOW_TYPE is not set
-CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTU=y
-# CONFIG_CMD_LINUX16 is not set
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
-CONFIG_CMD_TEST=y
-CONFIG_CMD_VERSION=y
-CONFIG_CMD_HELP=y
-CONFIG_CMD_DEVINFO=y
CONFIG_CMD_GPIO=y
-# CONFIG_CMD_UNLZO is not set
CONFIG_NET=y
CONFIG_NET_DHCP=y
-# CONFIG_NET_NFS is not set
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
CONFIG_NET_TFTP_PUSH=y
CONFIG_NET_NETCONSOLE=y
-# CONFIG_NET_RESOLV is not set
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
-# CONFIG_DRIVER_SERIAL_ARM_DCC is not set
-CONFIG_DRIVER_SERIAL_IMX=y
-# CONFIG_DRIVER_SERIAL_NS16550 is not set
-CONFIG_MIIDEV=y
-
-#
-# Network drivers
-#
-# CONFIG_DRIVER_NET_SMC911X is not set
-# CONFIG_DRIVER_NET_SMC91111 is not set
CONFIG_DRIVER_NET_FEC_IMX=y
-
-#
-# SPI drivers
-#
# CONFIG_SPI is not set
-# CONFIG_I2C is not set
-
-#
-# flash drivers
-#
-CONFIG_HAS_CFI=y
CONFIG_DRIVER_CFI=y
-CONFIG_DRIVER_CFI_INTEL=y
-CONFIG_DRIVER_CFI_AMD=y
-CONFIG_DRIVER_CFI_BANK_WIDTH_1=y
-CONFIG_DRIVER_CFI_BANK_WIDTH_2=y
-CONFIG_DRIVER_CFI_BANK_WIDTH_4=y
-# CONFIG_DRIVER_CFI_BANK_WIDTH_8 is not set
CONFIG_CFI_BUFFER_WRITE=y
+CONFIG_MTD=y
CONFIG_NAND=y
CONFIG_NAND_IMX=y
CONFIG_NAND_IMX_BOOT=y
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_ATA is not set
-# CONFIG_USB is not set
-# CONFIG_USB_GADGET is not set
-# CONFIG_VIDEO is not set
-
-#
-# Filesystem support
-#
-# CONFIG_FS_CRAMFS is not set
-CONFIG_FS_RAMFS=y
-CONFIG_FS_DEVFS=y
-CONFIG_CRC32=y
-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
-CONFIG_PROCESS_ESCAPE_SEQUENCE=y
+CONFIG_UBI=y
diff --git a/arch/arm/configs/pm9263_defconfig b/arch/arm/configs/pm9263_defconfig
index da7a8566b7..b76f201905 100644
--- a/arch/arm/configs/pm9263_defconfig
+++ b/arch/arm/configs/pm9263_defconfig
@@ -1,115 +1,13 @@
-#
-# Automatically generated make config: don't edit
-# barebox version: 2.0.0-rc10
-# Fri Dec 18 11:50:15 2009
-#
-# CONFIG_BOARD_LINKER_SCRIPT is not set
-CONFIG_GENERIC_LINKER_SCRIPT=y
-CONFIG_ARM=y
-
-#
-# System Type
-#
-CONFIG_ARCH_AT91=y
-# CONFIG_ARCH_AT91RM9200 is not set
-# CONFIG_ARCH_IMX is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_ARCH_S3C24xx is not set
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_ARM926T=y
-CONFIG_CPU_32v5=y
-
-#
-# processor features
-#
-CONFIG_ARCH_TEXT_BASE=0x23f00000
-CONFIG_BOARDINFO="Ronetix PM9263"
-
-#
-# Atmel AT91 System-on-Chip
-#
-# CONFIG_ARCH_AT91SAM9260 is not set
CONFIG_ARCH_AT91SAM9263=y
-# CONFIG_MACH_AT91SAM9263EK is not set
-# CONFIG_MACH_MMCCPU is not set
CONFIG_MACH_PM9263=y
-# CONFIG_AEABI is not set
-
-#
-# Arm specific settings
-#
-CONFIG_CMD_ARM_CPUINFO=y
-CONFIG_CMDLINE_TAG=y
-CONFIG_SETUP_MEMORY_TAGS=y
-# CONFIG_INITRD_TAG is not set
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
-CONFIG_GREGORIAN_CALENDER=y
-CONFIG_HAS_KALLSYMS=y
-CONFIG_HAS_MODULES=y
-CONFIG_CMD_MEMORY=y
-CONFIG_ENV_HANDLING=y
-CONFIG_GENERIC_GPIO=y
-
-#
-# General Settings
-#
-CONFIG_LOCALVERSION_AUTO=y
-
-#
-# memory layout
-#
-CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
-CONFIG_TEXT_BASE=0x23f00000
-CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
-CONFIG_MEMORY_LAYOUT_DEFAULT=y
-# CONFIG_MEMORY_LAYOUT_FIXED is not set
-CONFIG_STACK_SIZE=0x8000
-CONFIG_MALLOC_SIZE=0x400000
-# CONFIG_BROKEN is not set
-# CONFIG_EXPERIMENTAL is not set
-CONFIG_MACH_HAS_LOWLEVEL_INIT=y
-CONFIG_MACH_DO_LOWLEVEL_INIT=y
-CONFIG_PROMPT="barebox:"
-CONFIG_BAUDRATE=115200
CONFIG_LONGHELP=y
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-CONFIG_SHELL_HUSH=y
-# CONFIG_SHELL_SIMPLE is not set
CONFIG_GLOB=y
CONFIG_PROMPT_HUSH_PS2="y"
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
-CONFIG_DYNAMIC_CRC_TABLE=y
-CONFIG_ERRNO_MESSAGES=y
-CONFIG_TIMESTAMP=y
-CONFIG_CONSOLE_FULL=y
-CONFIG_CONSOLE_ACTIVATE_FIRST=y
-# CONFIG_OF_FLAT_TREE is not set
CONFIG_PARTITION=y
-CONFIG_DEFAULT_ENVIRONMENT=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/pm9263/env/"
-
-#
-# Debugging
-#
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
-# CONFIG_ENABLE_DEVICE_NOISE is not set
-
-#
-# Commands
-#
-
-#
-# scripting
-#
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
@@ -117,119 +15,22 @@ CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
-CONFIG_CMD_TRUE=y
-CONFIG_CMD_FALSE=y
-
-#
-# file commands
-#
-CONFIG_CMD_LS=y
-CONFIG_CMD_RM=y
-CONFIG_CMD_CAT=y
-CONFIG_CMD_MKDIR=y
-CONFIG_CMD_RMDIR=y
-CONFIG_CMD_CP=y
-CONFIG_CMD_PWD=y
-CONFIG_CMD_CD=y
-CONFIG_CMD_MOUNT=y
-CONFIG_CMD_UMOUNT=y
-
-#
-# console
-#
-CONFIG_CMD_CLEAR=y
-CONFIG_CMD_ECHO=y
-
-#
-# memory
-#
-# CONFIG_CMD_LOADB is not set
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_CRC=y
CONFIG_CMD_MTEST=y
CONFIG_CMD_MTEST_ALTERNATIVE=y
-
-#
-# flash
-#
CONFIG_CMD_FLASH=y
-
-#
-# booting
-#
-CONFIG_CMD_BOOTM=y
-# CONFIG_CMD_BOOTM_ZLIB is not set
-# CONFIG_CMD_BOOTM_BZLIB is not set
CONFIG_CMD_BOOTM_SHOW_TYPE=y
-CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTU=y
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
-CONFIG_CMD_TEST=y
-CONFIG_CMD_VERSION=y
-CONFIG_CMD_HELP=y
-CONFIG_CMD_DEVINFO=y
CONFIG_CMD_GPIO=y
CONFIG_NET=y
CONFIG_NET_DHCP=y
-# CONFIG_NET_RARP is not set
-# CONFIG_NET_NFS is not set
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
-# CONFIG_DRIVER_SERIAL_ARM_DCC is not set
-# CONFIG_DRIVER_SERIAL_NS16550 is not set
-CONFIG_DRIVER_SERIAL_ATMEL=y
-CONFIG_MIIDEV=y
-
-#
-# Network drivers
-#
-# CONFIG_DRIVER_NET_SMC911X is not set
-# CONFIG_DRIVER_NET_SMC91111 is not set
CONFIG_DRIVER_NET_MACB=y
-
-#
-# SPI drivers
-#
# CONFIG_SPI is not set
-# CONFIG_I2C is not set
-
-#
-# flash drivers
-#
CONFIG_DRIVER_CFI=y
-CONFIG_DRIVER_CFI_NEW=y
-CONFIG_DRIVER_CFI_INTEL=y
-CONFIG_DRIVER_CFI_AMD=y
-CONFIG_DRIVER_CFI_BANK_WIDTH_1=y
-CONFIG_DRIVER_CFI_BANK_WIDTH_2=y
-CONFIG_DRIVER_CFI_BANK_WIDTH_4=y
-# CONFIG_DRIVER_CFI_BANK_WIDTH_8 is not set
CONFIG_CFI_BUFFER_WRITE=y
-CONFIG_NAND=y
-CONFIG_NAND_ATMEL=y
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_USB is not set
-# CONFIG_USB_GADGET is not set
-# CONFIG_VIDEO is not set
-
-#
-# Filesystem support
-#
-# CONFIG_FS_CRAMFS is not set
-CONFIG_FS_RAMFS=y
-CONFIG_FS_DEVFS=y
-CONFIG_CRC32=y
-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
diff --git a/arch/arm/configs/scb9328_defconfig b/arch/arm/configs/scb9328_defconfig
index eaf7bd4936..49bdc0d64d 100644
--- a/arch/arm/configs/scb9328_defconfig
+++ b/arch/arm/configs/scb9328_defconfig
@@ -1,241 +1,22 @@
-#
-# Automatically generated make config: don't edit
-# barebox version: 2.0.0-rc10
-# Fri Dec 18 11:50:25 2009
-#
-# CONFIG_BOARD_LINKER_SCRIPT is not set
-CONFIG_GENERIC_LINKER_SCRIPT=y
-CONFIG_ARM=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_AT91RM9200 is not set
CONFIG_ARCH_IMX=y
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_ARCH_S3C24xx is not set
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_ARM920T=y
-CONFIG_CPU_32v4T=y
-
-#
-# processor features
-#
-CONFIG_ARCH_TEXT_BASE=0x08f80000
-CONFIG_BOARDINFO="Synertronixx scb9328"
-
-#
-# Freescale i.MX System-on-Chip
-#
-CONFIG_ARCH_IMX1=y
-# CONFIG_ARCH_IMX21 is not set
-# CONFIG_ARCH_IMX25 is not set
-# CONFIG_ARCH_IMX27 is not set
-# CONFIG_ARCH_IMX31 is not set
-# CONFIG_ARCH_IMX35 is not set
-# CONFIG_MACH_MX1ADS is not set
CONFIG_MACH_SCB9328=y
-
-#
-# Board specific settings
-#
-
-#
-# i.MX specific settings
-#
-# CONFIG_AEABI is not set
-
-#
-# Arm specific settings
-#
-CONFIG_CMD_ARM_CPUINFO=y
-CONFIG_CMDLINE_TAG=y
-CONFIG_SETUP_MEMORY_TAGS=y
-# CONFIG_INITRD_TAG is not set
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
-CONFIG_GREGORIAN_CALENDER=y
-CONFIG_HAS_KALLSYMS=y
-CONFIG_HAS_MODULES=y
-CONFIG_CMD_MEMORY=y
-CONFIG_GENERIC_GPIO=y
-
-#
-# General Settings
-#
-CONFIG_LOCALVERSION_AUTO=y
-
-#
-# memory layout
-#
-CONFIG_HAVE_MMU=y
-# CONFIG_MMU is not set
-CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
-CONFIG_TEXT_BASE=0x08f80000
-CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
-CONFIG_MEMORY_LAYOUT_DEFAULT=y
-# CONFIG_MEMORY_LAYOUT_FIXED is not set
-CONFIG_STACK_SIZE=0x8000
-CONFIG_MALLOC_SIZE=0x400000
-# CONFIG_BROKEN is not set
-# CONFIG_EXPERIMENTAL is not set
-CONFIG_MACH_HAS_LOWLEVEL_INIT=y
-CONFIG_MACH_DO_LOWLEVEL_INIT=y
-CONFIG_PROMPT="barebox:"
-CONFIG_BAUDRATE=115200
CONFIG_LONGHELP=y
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-CONFIG_SHELL_HUSH=y
-# CONFIG_SHELL_SIMPLE is not set
-# CONFIG_GLOB is not set
-CONFIG_PROMPT_HUSH_PS2="> "
CONFIG_CMDLINE_EDITING=y
-# CONFIG_AUTO_COMPLETE is not set
-CONFIG_DYNAMIC_CRC_TABLE=y
-CONFIG_ERRNO_MESSAGES=y
-CONFIG_TIMESTAMP=y
-CONFIG_CONSOLE_FULL=y
-CONFIG_CONSOLE_ACTIVATE_FIRST=y
-# CONFIG_OF_FLAT_TREE is not set
-# CONFIG_PARTITION is not set
-CONFIG_DEFAULT_ENVIRONMENT=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/scb9328/env"
-
-#
-# Debugging
-#
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
-# CONFIG_ENABLE_DEVICE_NOISE is not set
-
-#
-# Commands
-#
-
-#
-# scripting
-#
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
-# CONFIG_CMD_SAVEENV is not set
-# CONFIG_CMD_LOADENV is not set
-# CONFIG_CMD_EXPORT is not set
-# CONFIG_CMD_PRINTENV is not set
-# CONFIG_CMD_READLINE is not set
-CONFIG_CMD_TRUE=y
-CONFIG_CMD_FALSE=y
-
-#
-# file commands
-#
-CONFIG_CMD_LS=y
-CONFIG_CMD_RM=y
-CONFIG_CMD_CAT=y
-CONFIG_CMD_MKDIR=y
-CONFIG_CMD_RMDIR=y
-CONFIG_CMD_CP=y
-CONFIG_CMD_PWD=y
-CONFIG_CMD_CD=y
-CONFIG_CMD_MOUNT=y
-CONFIG_CMD_UMOUNT=y
-
-#
-# console
-#
-CONFIG_CMD_CLEAR=y
-CONFIG_CMD_ECHO=y
-
-#
-# memory
-#
-# CONFIG_CMD_LOADB is not set
CONFIG_CMD_MEMINFO=y
-# CONFIG_CMD_CRC is not set
-# CONFIG_CMD_MTEST is not set
-
-#
-# flash
-#
CONFIG_CMD_FLASH=y
-
-#
-# booting
-#
-CONFIG_CMD_BOOTM=y
-# CONFIG_CMD_BOOTM_ZLIB is not set
-# CONFIG_CMD_BOOTM_BZLIB is not set
-# CONFIG_CMD_BOOTM_SHOW_TYPE is not set
-CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTU=y
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
-CONFIG_CMD_TEST=y
-CONFIG_CMD_VERSION=y
-CONFIG_CMD_HELP=y
-CONFIG_CMD_DEVINFO=y
CONFIG_CMD_GPIO=y
CONFIG_NET=y
CONFIG_NET_DHCP=y
-# CONFIG_NET_RARP is not set
-# CONFIG_NET_NFS is not set
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
-# CONFIG_DRIVER_SERIAL_ARM_DCC is not set
-CONFIG_DRIVER_SERIAL_IMX=y
-# CONFIG_DRIVER_SERIAL_NS16550 is not set
-CONFIG_HAS_DM9000=y
-CONFIG_MIIDEV=y
-
-#
-# Network drivers
-#
-# CONFIG_DRIVER_NET_SMC911X is not set
-# CONFIG_DRIVER_NET_SMC91111 is not set
CONFIG_DRIVER_NET_DM9000=y
-
-#
-# SPI drivers
-#
-CONFIG_SPI=y
-# CONFIG_DRIVER_SPI_IMX is not set
-# CONFIG_DRIVER_SPI_MC13783 is not set
-# CONFIG_I2C is not set
-
-#
-# flash drivers
-#
-CONFIG_HAS_CFI=y
CONFIG_DRIVER_CFI=y
-# CONFIG_DRIVER_CFI_NEW is not set
-CONFIG_DRIVER_CFI_OLD=y
CONFIG_CFI_BUFFER_WRITE=y
-# CONFIG_NAND is not set
-# CONFIG_USB is not set
-# CONFIG_USB_GADGET is not set
-# CONFIG_VIDEO is not set
-
-#
-# Filesystem support
-#
-# CONFIG_FS_CRAMFS is not set
-CONFIG_FS_RAMFS=y
-CONFIG_FS_DEVFS=y
-CONFIG_CRC32=y
-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
diff --git a/arch/arm/cpu/cache-armv4.S b/arch/arm/cpu/cache-armv4.S
index 3cec4dd9af..fc53653c34 100644
--- a/arch/arm/cpu/cache-armv4.S
+++ b/arch/arm/cpu/cache-armv4.S
@@ -1,4 +1,5 @@
#include <linux/linkage.h>
+#include <init.h>
#define CACHE_DLINESIZE 32
@@ -41,7 +42,7 @@ ENTRY(__mmu_cache_off)
mov pc, lr
ENDPROC(__mmu_cache_off)
-.section ".text_bare_init.text"
+__BARE_INIT
ENTRY(__mmu_cache_flush)
mrc p15, 0, r6, c0, c0 @ get processor ID
mov r2, #64*1024 @ default: 32K dcache size (*2)
diff --git a/arch/arm/cpu/cache-armv5.S b/arch/arm/cpu/cache-armv5.S
index 9fb320ff0c..d870e6b80f 100644
--- a/arch/arm/cpu/cache-armv5.S
+++ b/arch/arm/cpu/cache-armv5.S
@@ -1,4 +1,5 @@
#include <linux/linkage.h>
+#include <init.h>
#define CACHE_DLINESIZE 32
@@ -41,7 +42,7 @@ ENTRY(__mmu_cache_off)
mov pc, lr
ENDPROC(__mmu_cache_off)
-.section ".text_bare_init.text"
+__BARE_INIT
ENTRY(__mmu_cache_flush)
1: mrc p15, 0, r15, c7, c14, 3 @ test,clean,invalidate D cache
bne 1b
diff --git a/arch/arm/cpu/cache-armv6.S b/arch/arm/cpu/cache-armv6.S
index 25476d5a29..9de76da452 100644
--- a/arch/arm/cpu/cache-armv6.S
+++ b/arch/arm/cpu/cache-armv6.S
@@ -1,4 +1,5 @@
#include <linux/linkage.h>
+#include <init.h>
#define HARVARD_CACHE
#define CACHE_LINE_SIZE 32
@@ -43,7 +44,7 @@ ENTRY(__mmu_cache_off)
#endif
mov pc, lr
-.section ".text_bare_init.text"
+__BARE_INIT
ENTRY(__mmu_cache_flush)
mov r1, #0
mcr p15, 0, r1, c7, c14, 0 @ clean+invalidate D
diff --git a/arch/arm/cpu/cache-armv7.S b/arch/arm/cpu/cache-armv7.S
index a303dc1285..79bc24358c 100644
--- a/arch/arm/cpu/cache-armv7.S
+++ b/arch/arm/cpu/cache-armv7.S
@@ -1,4 +1,5 @@
#include <linux/linkage.h>
+#include <init.h>
ENTRY(__mmu_cache_on)
mov r12, lr
@@ -49,7 +50,7 @@ ENTRY(__mmu_cache_off)
mov pc, r12
ENDPROC(__mmu_cache_on)
-.section ".text_bare_init.text"
+__BARE_INIT
ENTRY(__mmu_cache_flush)
mrc p15, 0, r10, c0, c1, 5 @ read ID_MMFR1
tst r10, #0xf << 16 @ hierarchical cache (ARMv7)
diff --git a/arch/arm/include/asm/.gitignore b/arch/arm/include/asm/.gitignore
deleted file mode 100644
index 9cc4155c16..0000000000
--- a/arch/arm/include/asm/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/mach-types.h
diff --git a/arch/arm/include/asm/clkdev.h b/arch/arm/include/asm/clkdev.h
index b6ec7c627b..ad33945880 100644
--- a/arch/arm/include/asm/clkdev.h
+++ b/arch/arm/include/asm/clkdev.h
@@ -12,19 +12,6 @@
#ifndef __ASM_CLKDEV_H
#define __ASM_CLKDEV_H
-struct clk;
-
-struct clk_lookup {
- struct list_head node;
- const char *dev_id;
- const char *con_id;
- struct clk *clk;
-};
-
-struct clk_lookup *clkdev_alloc(struct clk *clk, const char *con_id,
- const char *dev_fmt, ...);
-
-void clkdev_add(struct clk_lookup *cl);
-void clkdev_drop(struct clk_lookup *cl);
+#include <mach/clkdev.h>
#endif
diff --git a/arch/arm/include/asm/posix_types.h b/arch/arm/include/asm/posix_types.h
index c412486db5..aee050eeb8 100644
--- a/arch/arm/include/asm/posix_types.h
+++ b/arch/arm/include/asm/posix_types.h
@@ -19,7 +19,6 @@
* assume GCC is being used.
*/
-typedef unsigned short __kernel_dev_t;
typedef unsigned long __kernel_ino_t;
typedef unsigned short __kernel_mode_t;
typedef unsigned short __kernel_nlink_t;
diff --git a/arch/arm/lib/armlinux.c b/arch/arm/lib/armlinux.c
index 040fd346bf..b50d535811 100644
--- a/arch/arm/lib/armlinux.c
+++ b/arch/arm/lib/armlinux.c
@@ -249,19 +249,29 @@ int do_bootm_linux(struct image_data *data)
static int image_handle_cmdline_parse(struct image_data *data, int opt,
char *optarg)
{
+ int ret = 1;
+
switch (opt) {
case 'a':
armlinux_architecture = simple_strtoul(optarg, NULL, 0);
- return 0;
+ ret = 0;
+ break;
+ case 'R':
+ system_rev = simple_strtoul(optarg, NULL, 0);
+ ret = 0;
+ break;
default:
- return 1;
+ break;
}
+
+ return ret;
}
static struct image_handler handler = {
- .cmdline_options = "a:",
+ .cmdline_options = "a:R:",
.cmdline_parse = image_handle_cmdline_parse,
- .help_string = " -a <arch> use architecture number <arch>",
+ .help_string = " -a <arch> use architecture number <arch>\n"
+ " -R <system_rev> use system revison <system_rev>\n",
.bootm = do_bootm_linux,
.image_type = IH_OS_LINUX,
diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig
index 99d0f4dacb..1491161d6f 100644
--- a/arch/arm/mach-at91/Kconfig
+++ b/arch/arm/mach-at91/Kconfig
@@ -7,9 +7,13 @@ config ARCH_TEXT_BASE
config BOARDINFO
default "Atmel 91SAM9260-EK" if MACH_AT91SAM9260EK
default "Atmel at91sam9263-ek" if MACH_AT91SAM9263EK
+ default "Atmel at91sam9g20-ek" if MACH_AT91SAM9G20EK
default "Bucyrus MMC-CPU" if MACH_MMCCPU
default "Ronetix PM9263" if MACH_PM9263
+config HAVE_NAND_ATMEL_BUSWIDTH_16
+ bool
+
comment "Atmel AT91 System-on-Chip"
choice
@@ -23,7 +27,11 @@ config ARCH_AT91SAM9260
config ARCH_AT91SAM9263
bool "AT91SAM9263"
select CPU_ARM926T
- select MACH_HAS_LOWLEVEL_INIT
+ select HAS_MACB
+
+config ARCH_AT91SAM9G20
+ bool "AT91SAM9G20"
+ select CPU_ARM926T
select HAS_MACB
endchoice
@@ -38,6 +46,7 @@ choice
config MACH_AT91SAM9260EK
bool "Atmel AT91SAM9260-EK"
+ select HAVE_NAND_ATMEL_BUSWIDTH_16
help
Say y here if you are using Atmel's AT91SAM9260-EK Evaluation board
@@ -47,6 +56,25 @@ endif
# ----------------------------------------------------------
+if ARCH_AT91SAM9G20
+
+choice
+
+ prompt "AT91SAM9G20 Board Type"
+
+config MACH_AT91SAM9G20EK
+ bool "Atmel AT91SAM9G20-EK Evaluation Kit"
+ select HAVE_NAND_ATMEL_BUSWIDTH_16
+ help
+ Select this if you are using Atmel's AT91SAM9G20-EK Evaluation Kit
+ that embeds only one SD/MMC slot.
+
+endchoice
+
+endif
+
+# ----------------------------------------------------------
+
if ARCH_AT91SAM9263
choice
@@ -54,6 +82,8 @@ choice
config MACH_AT91SAM9263EK
bool "Atmel AT91SAM9263-EK"
+ select MACH_HAS_LOWLEVEL_INIT
+ select HAVE_NAND_ATMEL_BUSWIDTH_16
help
Say y here if you are using Atmel's AT91SAM9263-EK Evaluation board
@@ -64,6 +94,7 @@ config MACH_MMCCPU
config MACH_PM9263
bool "Ronetix PM9263"
+ select MACH_HAS_LOWLEVEL_INIT
help
Say y here if you are using the Ronetix PM9263 Board
@@ -71,4 +102,23 @@ endchoice
endif
+# ----------------------------------------------------------
+
+comment "AT91 Board Options"
+
+config MTD_NAND_ATMEL_BUSWIDTH_16
+ bool "Enable 16-bit data bus interface to NAND flash"
+ depends on HAVE_NAND_ATMEL_BUSWIDTH_16
+ help
+ On AT91SAM926x boards both types of NAND flash can be present
+ (8 and 16 bit data bus width).
+
+config AT91_HAVE_2MMC
+ bool "Have 2 MMC"
+ depends on MACH_AT91SAM9G20EK
+ help
+ Select this if you are using an Atmel AT91SAM9G20-EK Evaluation Kit
+ with 2 SD/MMC Slots. This is the case for AT91SAM9G20-EK rev. C and
+ onwards.
+
endif
diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile
index 2878b0422e..1bedadbb66 100644
--- a/arch/arm/mach-at91/Makefile
+++ b/arch/arm/mach-at91/Makefile
@@ -5,3 +5,4 @@ obj-$(CONFIG_MACH_DO_LOWLEVEL_INIT) += lowlevel_init.o
# CPU-specific support
obj-$(CONFIG_ARCH_AT91SAM9260) += at91sam9260.o at91sam926x_time.o at91sam9260_devices.o sam9_smc.o
obj-$(CONFIG_ARCH_AT91SAM9263) += at91sam9263.o at91sam926x_time.o at91sam9263_devices.o sam9_smc.o
+obj-$(CONFIG_ARCH_AT91SAM9G20) += at91sam9260.o at91sam926x_time.o at91sam9260_devices.o sam9_smc.o
diff --git a/arch/arm/mach-at91/at91sam9260_devices.c b/arch/arm/mach-at91/at91sam9260_devices.c
index 398a721bf2..c6ddb13b54 100644
--- a/arch/arm/mach-at91/at91sam9260_devices.c
+++ b/arch/arm/mach-at91/at91sam9260_devices.c
@@ -26,6 +26,7 @@ static struct memory_platform_data sram_pdata = {
};
static struct device_d sdram_dev = {
+ .id = -1,
.name = "mem",
.map_base = AT91_CHIPSELECT_1,
.platform_data = &sram_pdata,
@@ -40,6 +41,7 @@ void at91_add_device_sdram(u32 size)
#if defined(CONFIG_DRIVER_NET_MACB)
static struct device_d macb_dev = {
+ .id = -1,
.name = "macb",
.map_base = AT91SAM9260_BASE_EMAC,
.size = 0x1000,
@@ -82,6 +84,7 @@ void at91_add_device_eth(struct at91_ether_platform_data *data) {}
#if defined(CONFIG_NAND_ATMEL)
static struct device_d nand_dev = {
+ .id = -1,
.name = "atmel_nand",
.map_base = AT91_CHIPSELECT_3,
.size = 0x10,
@@ -117,6 +120,7 @@ void at91_add_device_nand(struct atmel_nand_data *data) {}
#endif
static struct device_d dbgu_serial_device = {
+ .id = -1,
.name = "atmel_serial",
.map_base = AT91_BASE_SYS + AT91_DBGU,
.size = 4096,
@@ -129,6 +133,7 @@ static inline void configure_dbgu_pins(void)
}
static struct device_d uart0_serial_device = {
+ .id = -1,
.name = "atmel_serial",
.map_base = AT91SAM9260_BASE_US0,
.size = 4096,
@@ -154,6 +159,7 @@ static inline void configure_usart0_pins(unsigned pins)
}
static struct device_d uart1_serial_device = {
+ .id = -1,
.name = "atmel_serial",
.map_base = AT91SAM9260_BASE_US1,
.size = 4096,
@@ -171,6 +177,7 @@ static inline void configure_usart1_pins(unsigned pins)
}
static struct device_d uart2_serial_device = {
+ .id = -1,
.name = "atmel_serial",
.map_base = AT91SAM9260_BASE_US2,
.size = 4096,
@@ -188,6 +195,7 @@ static inline void configure_usart2_pins(unsigned pins)
}
static struct device_d uart3_serial_device = {
+ .id = -1,
.name = "atmel_serial",
.map_base = AT91SAM9260_BASE_US3,
.size = 4096,
@@ -205,6 +213,7 @@ static inline void configure_usart3_pins(unsigned pins)
}
static struct device_d uart4_serial_device = {
+ .id = -1,
.name = "atmel_serial",
.map_base = AT91SAM9260_BASE_US4,
.size = 4096,
@@ -217,6 +226,7 @@ static inline void configure_usart4_pins(void)
}
static struct device_d uart5_serial_device = {
+ .id = -1,
.name = "atmel_serial",
.map_base = AT91SAM9260_BASE_US5,
.size = 4096,
diff --git a/arch/arm/mach-at91/at91sam9263_devices.c b/arch/arm/mach-at91/at91sam9263_devices.c
index 7ebc32ccee..807a6a769d 100644
--- a/arch/arm/mach-at91/at91sam9263_devices.c
+++ b/arch/arm/mach-at91/at91sam9263_devices.c
@@ -26,6 +26,7 @@ static struct memory_platform_data ram_pdata = {
};
static struct device_d sdram_dev = {
+ .id = -1,
.name = "mem",
.map_base = AT91_CHIPSELECT_1,
.platform_data = &ram_pdata,
@@ -40,6 +41,7 @@ void at91_add_device_sdram(u32 size)
#if defined(CONFIG_DRIVER_NET_MACB)
static struct device_d macb_dev = {
+ .id = -1,
.name = "macb",
.map_base = AT91SAM9263_BASE_EMAC,
.size = 0x1000,
@@ -81,6 +83,7 @@ void at91_add_device_eth(struct at91_ether_platform_data *data) {}
#if defined(CONFIG_NAND_ATMEL)
static struct device_d nand_dev = {
+ .id = -1,
.name = "atmel_nand",
.map_base = AT91_CHIPSELECT_3,
.size = 0x10,
@@ -116,6 +119,7 @@ void at91_add_device_nand(struct atmel_nand_data *data) {}
#endif
static struct device_d dbgu_serial_device = {
+ .id = -1,
.name = "atmel_serial",
.map_base = (AT91_BASE_SYS + AT91_DBGU),
.size = 4096,
@@ -128,6 +132,7 @@ static inline void configure_dbgu_pins(void)
}
static struct device_d uart0_serial_device = {
+ .id = -1,
.name = "atmel_serial",
.map_base = AT91SAM9263_BASE_US0,
.size = 4096,
@@ -145,6 +150,7 @@ static inline void configure_usart0_pins(unsigned pins)
}
static struct device_d uart1_serial_device = {
+ .id = -1,
.name = "atmel_serial",
.map_base = AT91SAM9263_BASE_US1,
.size = 4096,
@@ -162,6 +168,7 @@ static inline void configure_usart1_pins(unsigned pins)
}
static struct device_d uart2_serial_device = {
+ .id = -1,
.name = "atmel_serial",
.map_base = AT91SAM9263_BASE_US2,
.size = 4096,
diff --git a/arch/arm/mach-at91/lowlevel_init.S b/arch/arm/mach-at91/lowlevel_init.S
index 497cc0d301..8a0ae02a6a 100644
--- a/arch/arm/mach-at91/lowlevel_init.S
+++ b/arch/arm/mach-at91/lowlevel_init.S
@@ -193,7 +193,8 @@ SMRDATA:
.word CONFIG_SYS_PIOD_PPUDR_VAL
.word (AT91_BASE_SYS + AT91_PIOD + PIO_ASR)
.word CONFIG_SYS_PIOD_PPUDR_VAL
-#elif defined(CONFIG_ARCH_AT91SAM9260) || defined(CONFIG_ARCH_AT91SAM9261)
+#elif defined(CONFIG_ARCH_AT91SAM9260) || defined(CONFIG_ARCH_AT91SAM9261) \
+ || defined(CONFIG_ARCH_AT91SAM9G20)
.word (AT91_BASE_SYS + AT91_PIOC + PIO_PDR)
.word CONFIG_SYS_PIOC_PDR_VAL1
.word (AT91_BASE_SYS + AT91_PIOC + PIO_PUDR)
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig
index 24d2684b4a..db9030404e 100644
--- a/arch/arm/mach-imx/Kconfig
+++ b/arch/arm/mach-imx/Kconfig
@@ -143,7 +143,7 @@ config MACH_FREESCALE_MX25_3STACK
select HAS_CFI
select MACH_HAS_LOWLEVEL_INIT
select I2C
- select DRIVER_I2C_MC34704
+ select I2C_MC34704
help
Say Y here if you are using the Freescale MX25 3stack board equipped
with a Freescale i.MX25 Processor
@@ -253,9 +253,9 @@ config MACH_FREESCALE_MX35_3STACK
select HAS_CFI
select MACH_HAS_LOWLEVEL_INIT
select I2C
- select DRIVER_I2C_IMX
- select DRIVER_I2C_MC13892
- select DRIVER_I2C_MC9SDZ60
+ select I2C_IMX
+ select I2C_MC13892
+ select I2C_MC9SDZ60
help
Say Y here if you are using the Freescale MX35 3stack board equipped
with a Freescale i.MX35 Processor
diff --git a/arch/arm/mach-imx/imx25.c b/arch/arm/mach-imx/imx25.c
index b48f7481e8..37eafafe6e 100644
--- a/arch/arm/mach-imx/imx25.c
+++ b/arch/arm/mach-imx/imx25.c
@@ -54,6 +54,7 @@ static struct imx_iim_platform_data imx25_iim_pdata = {
};
static struct device_d imx25_iim_dev = {
+ .id = -1,
.name = "imx_iim",
.map_base = IMX_IIM_BASE,
.platform_data = &imx25_iim_pdata,
diff --git a/arch/arm/mach-nomadik/8815.c b/arch/arm/mach-nomadik/8815.c
index 8598f14efa..5844c68d0b 100644
--- a/arch/arm/mach-nomadik/8815.c
+++ b/arch/arm/mach-nomadik/8815.c
@@ -23,7 +23,7 @@
#include <asm/hardware.h>
#include <mach/hardware.h>
#include <asm/armlinux.h>
-#include <asm/mach-types.h>
+#include <generated/mach-types.h>
#include "clock.h"
@@ -37,6 +37,7 @@ static struct memory_platform_data ram_pdata = {
};
static struct device_d sdram_dev = {
+ .id = -1,
.name = "mem",
.map_base = 0x00000000,
.platform_data = &ram_pdata,
@@ -50,12 +51,14 @@ void st8815_add_device_sdram(u32 size)
}
static struct device_d uart0_serial_device = {
+ .id = 0,
.name = "uart-pl011",
.map_base = NOMADIK_UART0_BASE,
.size = 4096,
};
static struct device_d uart1_serial_device = {
+ .id = 1,
.name = "uart-pl011",
.map_base = NOMADIK_UART1_BASE,
.size = 4096,
@@ -65,11 +68,11 @@ void st8815_register_uart(unsigned id)
{
switch (id) {
case 0:
- nmdk_clk_create(&st8815_clk_48, uart0_serial_device.name);
+ nmdk_clk_create(&st8815_clk_48, dev_name(&uart0_serial_device));
register_device(&uart0_serial_device);
break;
case 1:
- nmdk_clk_create(&st8815_clk_48, uart1_serial_device.name);
+ nmdk_clk_create(&st8815_clk_48, dev_name(&uart1_serial_device));
register_device(&uart1_serial_device);
break;
}
diff --git a/arch/arm/mach-nomadik/Kconfig b/arch/arm/mach-nomadik/Kconfig
index 64894c8f5e..3d6eab6822 100644
--- a/arch/arm/mach-nomadik/Kconfig
+++ b/arch/arm/mach-nomadik/Kconfig
@@ -13,7 +13,7 @@ choice
config MACH_NOMADIK_8815NHK
bool "ST 8815 Nomadik Hardware Kit (evaluation board)"
select NOMADIK_8815
- select COMMON_CLKDEV
+ select CLKDEV_LOOKUP
endchoice
diff --git a/arch/arm/mach-nomadik/clock.c b/arch/arm/mach-nomadik/clock.c
index c74e0c131a..5f34a2cd9b 100644
--- a/arch/arm/mach-nomadik/clock.c
+++ b/arch/arm/mach-nomadik/clock.c
@@ -8,7 +8,7 @@
#include <linux/err.h>
#include <linux/clk.h>
#include <init.h>
-#include <asm/clkdev.h>
+#include <linux/clkdev.h>
#include "clock.h"
@@ -34,11 +34,6 @@ void clk_disable(struct clk *clk)
}
EXPORT_SYMBOL(clk_disable);
-int __clk_get(struct clk *clk)
-{
- return 1;
-}
-
/* Create a clock structure with the given name */
int nmdk_clk_create(struct clk *clk, const char *dev_id)
{
diff --git a/arch/arm/mach-s3c24xx/Kconfig b/arch/arm/mach-s3c24xx/Kconfig
index 37ccf2f7ce..2f47907ae7 100644
--- a/arch/arm/mach-s3c24xx/Kconfig
+++ b/arch/arm/mach-s3c24xx/Kconfig
@@ -81,6 +81,8 @@ config S3C24XX_SDRAM_INIT
config S3C24XX_NAND_BOOT
bool
prompt "Booting from NAND"
+ select MTD
+ select NAND
select NAND_S3C24X0
help
Add generic support to boot from NAND flash. Image loading will be
diff --git a/arch/arm/tools/Makefile b/arch/arm/tools/Makefile
index 5243a98906..635cb1865e 100644
--- a/arch/arm/tools/Makefile
+++ b/arch/arm/tools/Makefile
@@ -4,7 +4,7 @@
# Copyright (C) 2001 Russell King
#
-arch/arm/include/asm/mach-types.h: $(src)/gen-mach-types $(src)/mach-types
+include/generated/mach-types.h: $(src)/gen-mach-types $(src)/mach-types
@echo ' Generating $@'
@mkdir -p $(dir $@)
$(Q)$(AWK) -f $^ > $@ || { rm -f $@; /bin/false; }
diff --git a/arch/arm/tools/gen-mach-types b/arch/arm/tools/gen-mach-types
index ce319ef64b..04fef71d7b 100644
--- a/arch/arm/tools/gen-mach-types
+++ b/arch/arm/tools/gen-mach-types
@@ -1,6 +1,6 @@
#!/bin/awk
#
-# Awk script to generate include/asm-arm/mach-types.h
+# Awk script to generate include/generated/mach-types.h
#
BEGIN { nr = 0 }
/^#/ { next }
diff --git a/arch/blackfin/boards/ipe337/ipe337.c b/arch/blackfin/boards/ipe337/ipe337.c
index 269e7743fc..61bcd434f1 100644
--- a/arch/blackfin/boards/ipe337/ipe337.c
+++ b/arch/blackfin/boards/ipe337/ipe337.c
@@ -6,6 +6,7 @@
#include <fs.h>
static struct device_d cfi_dev = {
+ .id = -1,
.name = "cfi_flash",
.map_base = 0x20000000,
.size = 32 * 1024 * 1024,
@@ -17,6 +18,7 @@ static struct memory_platform_data ram_pdata = {
};
static struct device_d sdram_dev = {
+ .id = -1,
.name = "mem",
.map_base = 0x0,
.size = 128 * 1024 * 1024,
@@ -24,6 +26,7 @@ static struct device_d sdram_dev = {
};
static struct device_d smc911x_dev = {
+ .id = -1,
.name = "smc911x",
.map_base = 0x24000000,
.size = 4096,
@@ -52,6 +55,7 @@ static int ipe337_devices_init(void) {
device_initcall(ipe337_devices_init);
static struct device_d blackfin_serial_device = {
+ .id = -1,
.name = "blackfin_serial",
.map_base = 0,
.size = 4096,
diff --git a/arch/blackfin/configs/ipe337_defconfig b/arch/blackfin/configs/ipe337_defconfig
index e5667dc5c9..34c1089f34 100644
--- a/arch/blackfin/configs/ipe337_defconfig
+++ b/arch/blackfin/configs/ipe337_defconfig
@@ -1,77 +1,8 @@
-#
-# Automatically generated make config: don't edit
-# barebox version: 2.0.0-rc10
-# Fri Dec 18 11:53:16 2009
-#
-CONFIG_BLACKFIN=y
-CONFIG_BF561=y
-CONFIG_BOARDINFO="PII IPE337"
-CONFIG_ARCH_TEXT_BASE=0x00000000
-CONFIG_MACH_IPE337=y
-# CONFIG_MACH_IPE337_V1 is not set
-CONFIG_MACH_IPE337_V2=y
-# CONFIG_BFIN_BOOT_BYPASS is not set
-# CONFIG_BFIN_BOOT_FLASH8 is not set
-CONFIG_BFIN_BOOT_FLASH16=y
-CONFIG_GREGORIAN_CALENDER=y
-CONFIG_HAS_KALLSYMS=y
-CONFIG_HAS_MODULES=y
-CONFIG_CMD_MEMORY=y
-CONFIG_ENV_HANDLING=y
-
-#
-# General Settings
-#
-CONFIG_LOCALVERSION_AUTO=y
-
-#
-# memory layout
-#
-CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
CONFIG_TEXT_BASE=0x03f00000
-CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
-CONFIG_MEMORY_LAYOUT_DEFAULT=y
-# CONFIG_MEMORY_LAYOUT_FIXED is not set
-CONFIG_STACK_SIZE=0x8000
-CONFIG_MALLOC_SIZE=0x400000
-# CONFIG_BROKEN is not set
-# CONFIG_EXPERIMENTAL is not set
-CONFIG_PROMPT="barebox:"
-CONFIG_BAUDRATE=115200
CONFIG_LONGHELP=y
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-CONFIG_SHELL_HUSH=y
-# CONFIG_SHELL_SIMPLE is not set
-# CONFIG_GLOB is not set
-CONFIG_PROMPT_HUSH_PS2="> "
CONFIG_CMDLINE_EDITING=y
-# CONFIG_AUTO_COMPLETE is not set
-CONFIG_DYNAMIC_CRC_TABLE=y
-CONFIG_ERRNO_MESSAGES=y
-CONFIG_TIMESTAMP=y
-CONFIG_CONSOLE_FULL=y
-CONFIG_CONSOLE_ACTIVATE_FIRST=y
-# CONFIG_OF_FLAT_TREE is not set
CONFIG_PARTITION=y
-CONFIG_DEFAULT_ENVIRONMENT=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/blackin/boards/ipe337/env"
-
-#
-# Debugging
-#
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
-# CONFIG_ENABLE_DEVICE_NOISE is not set
-
-#
-# Commands
-#
-
-#
-# scripting
-#
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
@@ -79,107 +10,19 @@ CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
-CONFIG_CMD_TRUE=y
-CONFIG_CMD_FALSE=y
-
-#
-# file commands
-#
-CONFIG_CMD_LS=y
-CONFIG_CMD_RM=y
-CONFIG_CMD_CAT=y
-CONFIG_CMD_MKDIR=y
-CONFIG_CMD_RMDIR=y
-CONFIG_CMD_CP=y
-CONFIG_CMD_PWD=y
-CONFIG_CMD_CD=y
-CONFIG_CMD_MOUNT=y
-CONFIG_CMD_UMOUNT=y
-
-#
-# console
-#
-CONFIG_CMD_CLEAR=y
-CONFIG_CMD_ECHO=y
-
-#
-# memory
-#
-# CONFIG_CMD_LOADB is not set
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_CRC=y
-# CONFIG_CMD_MTEST is not set
-
-#
-# flash
-#
CONFIG_CMD_FLASH=y
-
-#
-# booting
-#
-CONFIG_CMD_BOOTM=y
CONFIG_CMD_BOOTM_ZLIB=y
-# CONFIG_CMD_BOOTM_BZLIB is not set
CONFIG_CMD_BOOTM_SHOW_TYPE=y
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
-CONFIG_CMD_TEST=y
-CONFIG_CMD_VERSION=y
-CONFIG_CMD_HELP=y
-CONFIG_CMD_DEVINFO=y
CONFIG_NET=y
CONFIG_NET_DHCP=y
-# CONFIG_NET_RARP is not set
-# CONFIG_NET_NFS is not set
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
-CONFIG_DRIVER_SERIAL_BLACKFIN=y
-# CONFIG_DRIVER_SERIAL_NS16550 is not set
-CONFIG_MIIDEV=y
-
-#
-# Network drivers
-#
CONFIG_DRIVER_NET_SMC911X=y
-CONFIG_DRIVER_NET_SMC911X_ADDRESS_SHIFT=1
-# CONFIG_DRIVER_NET_SMC91111 is not set
-
-#
-# SPI drivers
-#
-CONFIG_SPI=y
-# CONFIG_DRIVER_SPI_MC13783 is not set
-# CONFIG_I2C is not set
-
-#
-# flash drivers
-#
CONFIG_DRIVER_CFI=y
-# CONFIG_DRIVER_CFI_NEW is not set
-CONFIG_DRIVER_CFI_OLD=y
CONFIG_CFI_BUFFER_WRITE=y
-# CONFIG_NAND is not set
-# CONFIG_USB is not set
-# CONFIG_USB_GADGET is not set
-# CONFIG_VIDEO is not set
-
-#
-# Filesystem support
-#
-# CONFIG_FS_CRAMFS is not set
-CONFIG_FS_RAMFS=y
-CONFIG_FS_DEVFS=y
-CONFIG_ZLIB=y
-CONFIG_CRC32=y
-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
diff --git a/arch/blackfin/include/asm/posix_types.h b/arch/blackfin/include/asm/posix_types.h
index 98397ca5f7..bbf6e9c374 100644
--- a/arch/blackfin/include/asm/posix_types.h
+++ b/arch/blackfin/include/asm/posix_types.h
@@ -34,7 +34,6 @@
* assume GCC is being used.
*/
-typedef unsigned short __kernel_dev_t;
typedef unsigned long __kernel_ino_t;
typedef unsigned short __kernel_mode_t;
typedef unsigned short __kernel_nlink_t;
diff --git a/arch/m68k/boards/kp_ukd_r1_num/kp_ukd_r1_num.c b/arch/m68k/boards/kp_ukd_r1_num/kp_ukd_r1_num.c
index 9bf1713cc4..7475ab326b 100644
--- a/arch/m68k/boards/kp_ukd_r1_num/kp_ukd_r1_num.c
+++ b/arch/m68k/boards/kp_ukd_r1_num/kp_ukd_r1_num.c
@@ -42,6 +42,7 @@ ulong mcfv4e_get_bus_clk(void)
* CS line 0, data width is 32 bit
*/
static struct device_d cfi_dev = {
+ .id = -1,
.name = "cfi_flash",
.map_base = CFG_FLASH_ADDRESS,
.size = CFG_FLASH_SIZE,
@@ -52,6 +53,7 @@ static struct device_d cfi_dev = {
* to CS4, data width is 16 bit
*/
//static struct device_d sram_dev = {
+// .id = -1,
// .name = "sram",
//FIXME .map_base = IMX_CS4_BASE,
//FIXME .size = IMX_CS4_RANGE, /* area size */
@@ -61,6 +63,7 @@ static struct device_d cfi_dev = {
* ?MiB NAND type flash, data width 8 bit
*/
//static struct device_d nand_dev = {
+// .id = -1,
// .name = "cfi_flash_nand",
// .map_base = 0xfc000000, /* FIXME */
// .size = 32 * 1024 * 1024, /* FIXME */
@@ -75,12 +78,14 @@ static struct fec_platform_data fec_info = {
};
static struct device_d network_dev0 = {
+ .id = -1,
.name = "fec_mcf54xx",
.map_base = MCF_FEC_ADDR(0),
.size = MCF_FEC_SIZE(0), /* area size */
.platform_data = &fec_info,
};
static struct device_d network_dev1 = {
+ .id = -1,
.name = "fec_mcf54xx",
.map_base = MCF_FEC_ADDR(1),
.size = MCF_FEC_SIZE(1), /* area size */
@@ -96,6 +101,7 @@ static struct memory_platform_data ram_pdata = {
};
static struct device_d sdram_dev = {
+ .id = -1,
.name = "mem",
.map_base = CFG_SDRAM_ADDRESS,
.size = CFG_SDRAM_SIZE,
@@ -134,6 +140,7 @@ static int mcfv4e_devices_init(void)
device_initcall(mcfv4e_devices_init);
static struct device_d mcfv4e_serial_device = {
+ .id = -1,
.name = "mcfv4e_serial",
.map_base = 1+CFG_EARLY_UART_PORT,
.size = 16 * 1024,
diff --git a/arch/m68k/boards/phycore_mcf54xx/phyCore_MCF54xx.c b/arch/m68k/boards/phycore_mcf54xx/phyCore_MCF54xx.c
index 3bc2d12a42..3744950699 100644
--- a/arch/m68k/boards/phycore_mcf54xx/phyCore_MCF54xx.c
+++ b/arch/m68k/boards/phycore_mcf54xx/phyCore_MCF54xx.c
@@ -46,6 +46,7 @@ ulong mcfv4e_get_bus_clk(void)
*/
static struct device_d cfi_dev =
{
+ .id = -1,
.name = "cfi_flash",
.map_base = CFG_FLASH_ADDRESS,
.size = CFG_FLASH_SIZE,
@@ -61,6 +62,7 @@ static struct fec_platform_data fec_info =
static struct device_d network_dev0 =
{
+ .id = -1,
.name = "fec_mcf54xx",
.map_base = MCF_FEC_ADDR(0),
.size = MCF_FEC_SIZE(0), /* area size */
@@ -68,6 +70,7 @@ static struct device_d network_dev0 =
};
static struct device_d network_dev1 =
{
+ .id = -1,
.name = "fec_mcf54xx",
.map_base = MCF_FEC_ADDR(1),
.size = MCF_FEC_SIZE(1), /* area size */
@@ -84,6 +87,7 @@ static struct memory_platform_data ram_pdata = {
static struct device_d sdram_dev =
{
+ .id = -1,
.name = "mem",
.map_base = CFG_SDRAM_ADDRESS,
.size = CFG_SDRAM_SIZE,
@@ -116,6 +120,7 @@ device_initcall(mcfv4e_devices_init);
static struct device_d mcfv4e_serial_device =
{
+ .id = -1,
.name = "mcfv4e_serial",
.map_base = 1 + CFG_EARLY_UART_PORT,
.size = 16 * 1024,
diff --git a/arch/m68k/configs/phycore_kpukdr1_5475num_defconfig b/arch/m68k/configs/phycore_kpukdr1_5475num_defconfig
index d8688080e7..14c6d78f9f 100644
--- a/arch/m68k/configs/phycore_kpukdr1_5475num_defconfig
+++ b/arch/m68k/configs/phycore_kpukdr1_5475num_defconfig
@@ -1,143 +1,25 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.0.0-rc4-git
-# Tue Feb 19 13:41:25 2008
-#
-CONFIG_BOARDINFO="konzeptpark UKD Prototype with Phycore MCF5475 NUM"
-# CONFIG_BOARD_LINKER_SCRIPT is not set
-CONFIG_GENERIC_LINKER_SCRIPT=y
-CONFIG_M68K=y
-CONFIG_MCFV4E=y
-CONFIG_ARCH_MCF54xx=y
-# CONFIG_MACH_KPUKDR1 is not set
CONFIG_MACH_KPUKDR1_NUM=y
-# CONFIG_MACH_KPUKDR2 is not set
-# CONFIG_MACH_KPUKDR2_NUM is not set
-# CONFIG_MACH_PCM982_5485 is not set
-# CONFIG_MACH_PCM982_5475 is not set
-# CONFIG_MACH_PCM982_5475_NUM is not set
-# CONFIG_MACH_PCM982_54455 is not set
-
-#
-# M68k/Coldfire V4E specific settings
-#
-CONFIG_COPY_LOWMEM_VECTORS=y
-# CONFIG_USE_LOWMEM_VECTORS is not set
-CONFIG_CMD_REGDUMP_V4E=y
-CONFIG_CMD_PCI_V4E=y
-
-#
-# M68k/Coldfire specific Linux boot settings
-#
-CONFIG_CMDLINE_TAG=y
-CONFIG_SETUP_MEMORY_TAGS=y
CONFIG_INITRD_TAG=y
-CONFIG_GREGORIAN_CALENDER=y
-CONFIG_HAS_KALLSYMS=y
-CONFIG_HAS_MODULES=y
-CONFIG_CMD_MEMORY=y
-CONFIG_ENV_HANDLING=y
-
-#
-# General Settings
-#
-CONFIG_TEXT_BASE=0x07f00000
CONFIG_BROKEN=y
CONFIG_EXPERIMENTAL=y
-# CONFIG_MODULES is not set
-# CONFIG_KALLSYMS is not set
-CONFIG_HAS_EARLY_INIT=y
-CONFIG_EARLY_INITDATA_RAM_ADDR=0x20000000
-CONFIG_EARLY_INITDATA_RAM_SIZE=0x1f00
-CONFIG_EARLY_INITDATA_SIZE=0x100
-CONFIG_DEBUG_INITCALLS=y
-CONFIG_USE_IRQ=y
-CONFIG_PROMPT="barebox:"
-CONFIG_BAUDRATE=115200
+CONFIG_LONGHELP=y
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
-CONFIG_LONGHELP=y
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-CONFIG_SHELL_HUSH=y
-# CONFIG_SHELL_SIMPLE is not set
-# CONFIG_GLOB is not set
-CONFIG_PROMPT_HUSH_PS2="> "
-CONFIG_DYNAMIC_CRC_TABLE=y
-CONFIG_ERRNO_MESSAGES=y
-CONFIG_TIMESTAMP=y
-CONFIG_CONSOLE_ACTIVATE_FIRST=y
-CONFIG_EARLY_CONSOLE_PORT="psc0"
-CONFIG_EARLY_CONSOLE_BAUDRATE=115200
-# CONFIG_OF_FLAT_TREE is not set
-CONFIG_DEFAULT_ENVIRONMENT=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/m68k/boards/kp_ukd_r1_num/env/"
-
-#
-# Debugging
-#
CONFIG_DEBUG_INFO=y
-CONFIG_DEBUG_LL=y
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
CONFIG_ENABLE_DEVICE_NOISE=y
-
-#
-# Commands
-#
-
-#
-# scripting
-#
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
-CONFIG_CMD_HELP=y
CONFIG_CMD_READLINE=y
-
-#
-# file commands
-#
-CONFIG_CMD_LS=y
-CONFIG_CMD_RM=y
-CONFIG_CMD_CAT=y
-CONFIG_CMD_MKDIR=y
-CONFIG_CMD_RMDIR=y
-CONFIG_CMD_CP=y
-CONFIG_CMD_PWD=y
-CONFIG_CMD_CD=y
-CONFIG_CMD_MOUNT=y
-CONFIG_CMD_UMOUNT=y
-
-#
-# console
-#
-CONFIG_CMD_CLEAR=y
-CONFIG_CMD_ECHO=y
-# CONFIG_CMD_SPLASH is not set
-
-#
-# memory
-#
-# CONFIG_CMD_LOADB is not set
-# CONFIG_CMD_LOADS is not set
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_CRC=y
CONFIG_CMD_MTEST=y
CONFIG_CMD_MTEST_ALTERNATIVE=y
-
-#
-# flash
-#
CONFIG_CMD_FLASH=y
-
-#
-# booting
-#
-CONFIG_CMD_BOOTM=y
CONFIG_CMD_BOOTM_ZLIB=y
CONFIG_CMD_BOOTM_BZLIB=y
CONFIG_CMD_BOOTM_SHOW_TYPE=y
@@ -145,52 +27,10 @@ CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
-CONFIG_CMD_TEST=y
CONFIG_NET=y
-CONFIG_NET_BOOTP=y
CONFIG_NET_DHCP=y
-CONFIG_NET_RARP=y
-# CONFIG_NET_SNTP is not set
-# CONFIG_NET_NFS is not set
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
-CONFIG_DRIVER_SERIAL_MCFV4E=y
-CONFIG_MIIDEV=y
-
-#
-# Network drivers
-#
-CONFIG_DRIVER_NET_MCF54XX=y
-# CONFIG_DRIVER_NET_MCF54XX_DEBUG is not set
-
-#
-# SPI drivers
-#
-CONFIG_SPI=y
-# CONFIG_DRIVER_SPI_MC13783 is not set
-
-#
-# flash drivers
-#
-CONFIG_HAS_CFI=y
CONFIG_DRIVER_CFI=y
-# CONFIG_DRIVER_CFI_NEW is not set
-CONFIG_DRIVER_CFI_OLD=y
CONFIG_CFI_BUFFER_WRITE=y
-# CONFIG_NAND is not set
-
-#
-# Filesystem support
-#
CONFIG_FS_CRAMFS=y
-CONFIG_ZLIB=y
-CONFIG_BZLIB=y
-CONFIG_CRC32=y
diff --git a/arch/m68k/configs/phycore_mcf54xx_defconfig b/arch/m68k/configs/phycore_mcf54xx_defconfig
index ca3387a528..f0d9fc2845 100644
--- a/arch/m68k/configs/phycore_mcf54xx_defconfig
+++ b/arch/m68k/configs/phycore_mcf54xx_defconfig
@@ -1,143 +1,25 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.0.1-csc
-# Thu Mar 27 14:02:15 2008
-#
-CONFIG_BOARDINFO="Phytec Baseboard with Phycore MCF5485"
-# CONFIG_BOARD_LINKER_SCRIPT is not set
-CONFIG_GENERIC_LINKER_SCRIPT=y
-CONFIG_M68K=y
-CONFIG_MCFV4E=y
-CONFIG_ARCH_MCF54xx=y
-# CONFIG_MACH_KPUKDR1 is not set
-# CONFIG_MACH_KPUKDR1_NUM is not set
-# CONFIG_MACH_KPUKDR2 is not set
-# CONFIG_MACH_KPUKDR2_NUM is not set
CONFIG_MACH_PCM982_5485=y
-# CONFIG_MACH_PCM982_5475 is not set
-# CONFIG_MACH_PCM982_5475_NUM is not set
-# CONFIG_MACH_PCM982_54455 is not set
-
-#
-# M68k/Coldfire V4E specific settings
-#
-CONFIG_COPY_LOWMEM_VECTORS=y
-# CONFIG_USE_LOWMEM_VECTORS is not set
-CONFIG_CMD_REGDUMP_V4E=y
-CONFIG_CMD_PCI_V4E=y
-
-#
-# M68k/Coldfire specific Linux boot settings
-#
-CONFIG_CMDLINE_TAG=y
-CONFIG_SETUP_MEMORY_TAGS=y
CONFIG_INITRD_TAG=y
-CONFIG_GREGORIAN_CALENDER=y
-CONFIG_HAS_KALLSYMS=y
-CONFIG_HAS_MODULES=y
-CONFIG_CMD_MEMORY=y
-CONFIG_ENV_HANDLING=y
-
-#
-# General Settings
-#
-CONFIG_TEXT_BASE=0x07f00000
CONFIG_BROKEN=y
CONFIG_EXPERIMENTAL=y
-# CONFIG_MODULES is not set
-# CONFIG_KALLSYMS is not set
-CONFIG_HAS_EARLY_INIT=y
-CONFIG_EARLY_INITDATA_RAM_ADDR=0x20000000
-CONFIG_EARLY_INITDATA_RAM_SIZE=0x1f00
-CONFIG_EARLY_INITDATA_SIZE=0x100
-CONFIG_DEBUG_INITCALLS=y
-CONFIG_USE_IRQ=y
-CONFIG_PROMPT="barebox:"
-CONFIG_BAUDRATE=115200
+CONFIG_LONGHELP=y
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
-CONFIG_LONGHELP=y
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-CONFIG_SHELL_HUSH=y
-# CONFIG_SHELL_SIMPLE is not set
-# CONFIG_GLOB is not set
-CONFIG_PROMPT_HUSH_PS2="> "
-CONFIG_DYNAMIC_CRC_TABLE=y
-CONFIG_ERRNO_MESSAGES=y
-CONFIG_TIMESTAMP=y
-CONFIG_CONSOLE_ACTIVATE_FIRST=y
-CONFIG_EARLY_CONSOLE_PORT="psc0"
-CONFIG_EARLY_CONSOLE_BAUDRATE=115200
-# CONFIG_OF_FLAT_TREE is not set
-CONFIG_DEFAULT_ENVIRONMENT=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/m68k/boards/phycore_mcf54xx/env"
-
-#
-# Debugging
-#
CONFIG_DEBUG_INFO=y
-CONFIG_DEBUG_LL=y
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
CONFIG_ENABLE_DEVICE_NOISE=y
-
-#
-# Commands
-#
-
-#
-# scripting
-#
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
-CONFIG_CMD_HELP=y
CONFIG_CMD_READLINE=y
-
-#
-# file commands
-#
-CONFIG_CMD_LS=y
-CONFIG_CMD_RM=y
-CONFIG_CMD_CAT=y
-CONFIG_CMD_MKDIR=y
-CONFIG_CMD_RMDIR=y
-CONFIG_CMD_CP=y
-CONFIG_CMD_PWD=y
-CONFIG_CMD_CD=y
-CONFIG_CMD_MOUNT=y
-CONFIG_CMD_UMOUNT=y
-
-#
-# console
-#
-CONFIG_CMD_CLEAR=y
-CONFIG_CMD_ECHO=y
-# CONFIG_CMD_SPLASH is not set
-
-#
-# memory
-#
-# CONFIG_CMD_LOADB is not set
-# CONFIG_CMD_LOADS is not set
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_CRC=y
CONFIG_CMD_MTEST=y
CONFIG_CMD_MTEST_ALTERNATIVE=y
-
-#
-# flash
-#
CONFIG_CMD_FLASH=y
-
-#
-# booting
-#
-CONFIG_CMD_BOOTM=y
CONFIG_CMD_BOOTM_ZLIB=y
CONFIG_CMD_BOOTM_BZLIB=y
CONFIG_CMD_BOOTM_SHOW_TYPE=y
@@ -145,52 +27,10 @@ CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
-CONFIG_CMD_TEST=y
CONFIG_NET=y
-CONFIG_NET_BOOTP=y
CONFIG_NET_DHCP=y
-CONFIG_NET_RARP=y
-# CONFIG_NET_SNTP is not set
-# CONFIG_NET_NFS is not set
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
-CONFIG_DRIVER_SERIAL_MCFV4E=y
-CONFIG_MIIDEV=y
-
-#
-# Network drivers
-#
-CONFIG_DRIVER_NET_MCF54XX=y
-# CONFIG_DRIVER_NET_MCF54XX_DEBUG is not set
-
-#
-# SPI drivers
-#
-CONFIG_SPI=y
-# CONFIG_DRIVER_SPI_MC13783 is not set
-
-#
-# flash drivers
-#
-CONFIG_HAS_CFI=y
CONFIG_DRIVER_CFI=y
-# CONFIG_DRIVER_CFI_NEW is not set
-CONFIG_DRIVER_CFI_OLD=y
CONFIG_CFI_BUFFER_WRITE=y
-# CONFIG_NAND is not set
-
-#
-# Filesystem support
-#
CONFIG_FS_CRAMFS=y
-CONFIG_ZLIB=y
-CONFIG_BZLIB=y
-CONFIG_CRC32=y
diff --git a/arch/m68k/include/asm/posix_types.h b/arch/m68k/include/asm/posix_types.h
index c40c41d041..d83afe94a2 100644
--- a/arch/m68k/include/asm/posix_types.h
+++ b/arch/m68k/include/asm/posix_types.h
@@ -27,7 +27,6 @@
#define __ARCH_M68K_POSIX_TYPES_H
-typedef unsigned short __kernel_dev_t;
typedef unsigned long __kernel_ino_t;
typedef unsigned short __kernel_mode_t;
typedef unsigned short __kernel_nlink_t;
diff --git a/arch/ppc/boards/pcm030/pcm030.c b/arch/ppc/boards/pcm030/pcm030.c
index f3845adf4c..8b43550942 100644
--- a/arch/ppc/boards/pcm030/pcm030.c
+++ b/arch/ppc/boards/pcm030/pcm030.c
@@ -38,6 +38,7 @@
#include <reloc.h>
struct device_d cfi_dev = {
+ .id = -1,
.name = "cfi_flash",
.map_base = 0xff000000,
.size = 16 * 1024 * 1024,
@@ -49,6 +50,7 @@ static struct memory_platform_data ram_pdata = {
};
struct device_d sdram_dev = {
+ .id = -1,
.name = "mem",
.map_base = 0x0,
.size = 64 * 1024 * 1024,
@@ -60,6 +62,7 @@ static struct mpc5xxx_fec_platform_data fec_info = {
};
struct device_d eth_dev = {
+ .id = -1,
.name = "fec_mpc5xxx",
.map_base = MPC5XXX_FEC,
.platform_data = &fec_info,
@@ -80,12 +83,14 @@ static int devices_init (void)
device_initcall(devices_init);
static struct device_d psc3 = {
+ .id = -1,
.name = "mpc5xxx_serial",
.map_base = MPC5XXX_PSC3,
.size = 4096,
};
static struct device_d psc6 = {
+ .id = -1,
.name = "mpc5xxx_serial",
.map_base = MPC5XXX_PSC6,
.size = 4096,
diff --git a/arch/ppc/configs/pcm030_defconfig b/arch/ppc/configs/pcm030_defconfig
index 56d8844c0c..601607616f 100644
--- a/arch/ppc/configs/pcm030_defconfig
+++ b/arch/ppc/configs/pcm030_defconfig
@@ -1,195 +1,22 @@
-#
-# Automatically generated make config: don't edit
-# barebox version: 2.0.0-rc10
-# Fri Dec 18 11:53:12 2009
-#
-CONFIG_BOARDINFO="Phytec Phycore mpc5200b tiny"
-CONFIG_ARCH_TEXT_BASE=0x01000000
-CONFIG_MPC5XXX_EARLY_CONSOLE=y
-CONFIG_HAS_EARLY_INIT=y
-CONFIG_PPC=y
-CONFIG_ARCH_MPC5200=y
-CONFIG_MPC5200=y
-CONFIG_MPC5xxx=y
-CONFIG_CACHELINE_SIZE=32
-CONFIG_HAS_REGINFO=y
-CONFIG_MACH_PHYCORE_MPC5200B_TINY=y
-
-#
-# Board specific settings
-#
-CONFIG_MACH_PHYCORE_MPC5200B_TINY_REV=1
-CONFIG_EARLY_CONSOLE_PORT="psc3"
-CONFIG_GREGORIAN_CALENDER=y
-CONFIG_HAS_KALLSYMS=y
-CONFIG_HAS_MODULES=y
-CONFIG_CMD_MEMORY=y
-
-#
-# General Settings
-#
-CONFIG_LOCALVERSION_AUTO=y
-
-#
-# memory layout
-#
-CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
-CONFIG_TEXT_BASE=0x01000000
-CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
-CONFIG_MEMORY_LAYOUT_DEFAULT=y
-# CONFIG_MEMORY_LAYOUT_FIXED is not set
-CONFIG_STACK_SIZE=0x8000
-CONFIG_MALLOC_SIZE=0x400000
-# CONFIG_BROKEN is not set
-# CONFIG_EXPERIMENTAL is not set
-# CONFIG_RELOCATABLE is not set
-CONFIG_PROMPT="barebox:"
-CONFIG_BAUDRATE=115200
CONFIG_LONGHELP=y
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-CONFIG_SHELL_HUSH=y
-# CONFIG_SHELL_SIMPLE is not set
CONFIG_GLOB=y
-CONFIG_PROMPT_HUSH_PS2="> "
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
-CONFIG_DYNAMIC_CRC_TABLE=y
-CONFIG_ERRNO_MESSAGES=y
-CONFIG_TIMESTAMP=y
-CONFIG_CONSOLE_FULL=y
-CONFIG_CONSOLE_ACTIVATE_FIRST=y
-CONFIG_EARLY_CONSOLE_BAUDRATE=115200
CONFIG_OF_FLAT_TREE=y
CONFIG_PARTITION=y
# CONFIG_DEFAULT_ENVIRONMENT is not set
-
-#
-# Debugging
-#
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
-# CONFIG_ENABLE_DEVICE_NOISE is not set
-
-#
-# Commands
-#
-
-#
-# scripting
-#
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
-# CONFIG_CMD_SAVEENV is not set
-# CONFIG_CMD_LOADENV is not set
-# CONFIG_CMD_EXPORT is not set
-# CONFIG_CMD_PRINTENV is not set
-# CONFIG_CMD_READLINE is not set
-CONFIG_CMD_TRUE=y
-CONFIG_CMD_FALSE=y
-
-#
-# file commands
-#
-CONFIG_CMD_LS=y
-CONFIG_CMD_RM=y
-CONFIG_CMD_CAT=y
-CONFIG_CMD_MKDIR=y
-CONFIG_CMD_RMDIR=y
-CONFIG_CMD_CP=y
-CONFIG_CMD_PWD=y
-CONFIG_CMD_CD=y
-CONFIG_CMD_MOUNT=y
-CONFIG_CMD_UMOUNT=y
-
-#
-# console
-#
-CONFIG_CMD_CLEAR=y
-CONFIG_CMD_ECHO=y
-
-#
-# memory
-#
-# CONFIG_CMD_LOADB is not set
CONFIG_CMD_MEMINFO=y
-# CONFIG_CMD_CRC is not set
-# CONFIG_CMD_MTEST is not set
-
-#
-# flash
-#
CONFIG_CMD_FLASH=y
-
-#
-# booting
-#
-CONFIG_CMD_BOOTM=y
CONFIG_CMD_BOOTM_ZLIB=y
CONFIG_CMD_BOOTM_BZLIB=y
-# CONFIG_CMD_BOOTM_SHOW_TYPE is not set
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
-# CONFIG_CMD_TIMEOUT is not set
-# CONFIG_CMD_PARTITION is not set
-CONFIG_CMD_TEST=y
-# CONFIG_CMD_REGINFO is not set
-CONFIG_CMD_VERSION=y
-CONFIG_CMD_HELP=y
-CONFIG_CMD_DEVINFO=y
CONFIG_NET=y
CONFIG_NET_DHCP=y
-# CONFIG_NET_RARP is not set
-# CONFIG_NET_NFS is not set
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
-CONFIG_DRIVER_SERIAL_MPC5XXX=y
-# CONFIG_DRIVER_SERIAL_NS16550 is not set
-CONFIG_MIIDEV=y
-
-#
-# Network drivers
-#
-# CONFIG_DRIVER_NET_SMC911X is not set
-# CONFIG_DRIVER_NET_SMC91111 is not set
CONFIG_DRIVER_NET_MPC5200=y
-
-#
-# SPI drivers
-#
-CONFIG_SPI=y
-# CONFIG_DRIVER_SPI_MC13783 is not set
-# CONFIG_I2C is not set
-
-#
-# flash drivers
-#
-CONFIG_HAS_CFI=y
CONFIG_DRIVER_CFI=y
-# CONFIG_DRIVER_CFI_NEW is not set
-CONFIG_DRIVER_CFI_OLD=y
-# CONFIG_CFI_BUFFER_WRITE is not set
-# CONFIG_NAND is not set
-# CONFIG_USB is not set
-# CONFIG_USB_GADGET is not set
-# CONFIG_VIDEO is not set
-
-#
-# Filesystem support
-#
CONFIG_FS_CRAMFS=y
-CONFIG_FS_RAMFS=y
-CONFIG_FS_DEVFS=y
-CONFIG_ZLIB=y
-CONFIG_BZLIB=y
-CONFIG_CRC32=y
-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
diff --git a/arch/ppc/include/asm/posix_types.h b/arch/ppc/include/asm/posix_types.h
index 9170728117..a7af4064ee 100644
--- a/arch/ppc/include/asm/posix_types.h
+++ b/arch/ppc/include/asm/posix_types.h
@@ -7,7 +7,6 @@
* assume GCC is being used.
*/
-typedef unsigned int __kernel_dev_t;
typedef unsigned int __kernel_ino_t;
typedef unsigned int __kernel_mode_t;
typedef unsigned short __kernel_nlink_t;
diff --git a/arch/sandbox/board/board.c b/arch/sandbox/board/board.c
index 84017eb50d..7d489fd906 100644
--- a/arch/sandbox/board/board.c
+++ b/arch/sandbox/board/board.c
@@ -28,6 +28,7 @@
#include <errno.h>
static struct device_d tap_device = {
+ .id = -1,
.name = "tap",
};
diff --git a/arch/sandbox/configs/sandbox_defconfig b/arch/sandbox/configs/sandbox_defconfig
index 9037c8ba92..d105584a81 100644
--- a/arch/sandbox/configs/sandbox_defconfig
+++ b/arch/sandbox/configs/sandbox_defconfig
@@ -1,63 +1,9 @@
-#
-# Automatically generated make config: don't edit
-# barebox version: 2.0.0-rc10
-# Fri Dec 18 11:53:08 2009
-#
-CONFIG_ARCH_TEXT_BASE=0x00000000
-CONFIG_BOARDINFO="sandbox"
-CONFIG_LINUX=y
-CONFIG_GREGORIAN_CALENDER=y
-CONFIG_CMD_MEMORY=y
-CONFIG_ENV_HANDLING=y
-
-#
-# General Settings
-#
-CONFIG_LOCALVERSION_AUTO=y
-
-#
-# memory layout
-#
-CONFIG_STACK_SIZE=0x8000
-CONFIG_MALLOC_SIZE=0x400000
-# CONFIG_BROKEN is not set
-# CONFIG_EXPERIMENTAL is not set
-CONFIG_PROMPT="barebox:"
-CONFIG_BAUDRATE=115200
-# CONFIG_LONGHELP is not set
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-CONFIG_SHELL_HUSH=y
-# CONFIG_SHELL_SIMPLE is not set
CONFIG_GLOB=y
-CONFIG_PROMPT_HUSH_PS2="> "
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
-CONFIG_DYNAMIC_CRC_TABLE=y
-CONFIG_ERRNO_MESSAGES=y
-CONFIG_TIMESTAMP=y
-CONFIG_CONSOLE_FULL=y
-CONFIG_CONSOLE_ACTIVATE_FIRST=y
-# CONFIG_OF_FLAT_TREE is not set
CONFIG_PARTITION=y
-CONFIG_DEFAULT_ENVIRONMENT=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/sandbox/board/env"
-
-#
-# Debugging
-#
CONFIG_DEBUG_INFO=y
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
-# CONFIG_ENABLE_DEVICE_NOISE is not set
-
-#
-# Commands
-#
-
-#
-# scripting
-#
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
@@ -65,100 +11,17 @@ CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
-CONFIG_CMD_TRUE=y
-CONFIG_CMD_FALSE=y
-
-#
-# file commands
-#
-CONFIG_CMD_LS=y
-CONFIG_CMD_RM=y
-CONFIG_CMD_CAT=y
-CONFIG_CMD_MKDIR=y
-CONFIG_CMD_RMDIR=y
-CONFIG_CMD_CP=y
-CONFIG_CMD_PWD=y
-CONFIG_CMD_CD=y
-CONFIG_CMD_MOUNT=y
-CONFIG_CMD_UMOUNT=y
-
-#
-# console
-#
-CONFIG_CMD_CLEAR=y
-CONFIG_CMD_ECHO=y
-
-#
-# memory
-#
-# CONFIG_CMD_LOADB is not set
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_CRC=y
-# CONFIG_CMD_MTEST is not set
-
-#
-# flash
-#
-# CONFIG_CMD_FLASH is not set
-
-#
-# booting
-#
# CONFIG_CMD_BOOTM is not set
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
-CONFIG_CMD_TEST=y
-CONFIG_CMD_VERSION=y
-CONFIG_CMD_HELP=y
-CONFIG_CMD_DEVINFO=y
CONFIG_NET=y
CONFIG_NET_DHCP=y
-# CONFIG_NET_RARP is not set
-# CONFIG_NET_NFS is not set
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
-CONFIG_DRIVER_SERIAL_LINUX_COMSOLE=y
-# CONFIG_DRIVER_SERIAL_NS16550 is not set
-
-#
-# Network drivers
-#
-# CONFIG_DRIVER_NET_SMC911X is not set
-# CONFIG_DRIVER_NET_SMC91111 is not set
CONFIG_DRIVER_NET_TAP=y
-
-#
-# SPI drivers
-#
# CONFIG_SPI is not set
-# CONFIG_I2C is not set
-
-#
-# flash drivers
-#
-# CONFIG_DRIVER_CFI is not set
-# CONFIG_DRIVER_CFI_OLD is not set
-# CONFIG_NAND is not set
-# CONFIG_USB is not set
-# CONFIG_USB_GADGET is not set
-# CONFIG_VIDEO is not set
-
-#
-# Filesystem support
-#
CONFIG_FS_CRAMFS=y
-CONFIG_FS_RAMFS=y
-CONFIG_FS_DEVFS=y
-CONFIG_ZLIB=y
-CONFIG_CRC32=y
-CONFIG_GENERIC_FIND_NEXT_BIT=y
diff --git a/arch/sandbox/include/asm/posix_types.h b/arch/sandbox/include/asm/posix_types.h
index 5dcc842ab7..4345141d29 100644
--- a/arch/sandbox/include/asm/posix_types.h
+++ b/arch/sandbox/include/asm/posix_types.h
@@ -7,7 +7,6 @@
* assume GCC is being used.
*/
-typedef unsigned short __kernel_dev_t;
typedef unsigned long __kernel_ino_t;
typedef unsigned short __kernel_mode_t;
typedef unsigned short __kernel_nlink_t;
diff --git a/arch/x86/boards/x86_generic/generic_pc.c b/arch/x86/boards/x86_generic/generic_pc.c
index bd93bc168d..a6cd7e0de3 100644
--- a/arch/x86/boards/x86_generic/generic_pc.c
+++ b/arch/x86/boards/x86_generic/generic_pc.c
@@ -36,6 +36,7 @@ static struct memory_platform_data ram_pdata = {
};
static struct device_d sdram_dev = {
+ .id = -1,
.name = "mem",
.size = 16 * 1024 * 1024,
.map_base = 0,
@@ -43,6 +44,7 @@ static struct device_d sdram_dev = {
};
static struct device_d bios_disk_dev = {
+ .id = -1,
.name = "biosdrive",
.size = 1,
};
@@ -95,6 +97,7 @@ static struct NS16550_plat serial_plat = {
/* we are expecting always one serial interface */
static struct device_d generic_pc_serial_device = {
+ .id = -1,
.name = "serial_ns16550",
.map_base = 0x3f8,
.size = 8,
diff --git a/arch/x86/configs/generic_defconfig b/arch/x86/configs/generic_defconfig
index 3c72242415..ee13e5c77f 100644
--- a/arch/x86/configs/generic_defconfig
+++ b/arch/x86/configs/generic_defconfig
@@ -1,85 +1,15 @@
-#
-# Automatically generated make config: don't edit
-# barebox version: 2009.12.0-x86-trunk
-#
-CONFIG_ARCH_TEXT_BASE=0x00007c00
-CONFIG_BOARDINFO="Generic x86 bootloader"
-# CONFIG_BOARD_LINKER_SCRIPT is not set
-CONFIG_GENERIC_LINKER_SCRIPT=y
-CONFIG_X86=y
-CONFIG_MACH_X86_GENERIC=y
-CONFIG_X86_BIOS_BRINGUP=y
-# CONFIG_X86_NATIVE_BRINGUP is not set
-
-#
-# BIOS boot source
-#
CONFIG_X86_HDBOOT=y
-
-#
-# Board specific settings
-#
-CONFIG_GREGORIAN_CALENDER=y
-CONFIG_HAS_KALLSYMS=y
-CONFIG_HAS_MODULES=y
-CONFIG_CMD_MEMORY=y
-CONFIG_ENV_HANDLING=y
-
-#
-# General Settings
-#
-CONFIG_LOCALVERSION_AUTO=y
-
-#
-# memory layout
-#
-CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
-CONFIG_TEXT_BASE=0x00007c00
-CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
-CONFIG_MEMORY_LAYOUT_DEFAULT=y
-# CONFIG_MEMORY_LAYOUT_FIXED is not set
CONFIG_STACK_SIZE=0x7000
-CONFIG_MALLOC_SIZE=0x400000
CONFIG_BROKEN=y
CONFIG_EXPERIMENTAL=y
-# CONFIG_MODULES is not set
-# CONFIG_KALLSYMS is not set
CONFIG_PROMPT="uboot:"
-CONFIG_BAUDRATE=115200
CONFIG_LONGHELP=y
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-CONFIG_SHELL_HUSH=y
-# CONFIG_SHELL_SIMPLE is not set
CONFIG_GLOB=y
-CONFIG_PROMPT_HUSH_PS2="> "
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
-CONFIG_DYNAMIC_CRC_TABLE=y
-CONFIG_ERRNO_MESSAGES=y
-CONFIG_TIMESTAMP=y
-CONFIG_CONSOLE_FULL=y
-CONFIG_CONSOLE_ACTIVATE_FIRST=y
-# CONFIG_OF_FLAT_TREE is not set
CONFIG_PARTITION=y
-CONFIG_DEFAULT_ENVIRONMENT=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/x86/boards/x86_generic/env"
-
-#
-# Debugging
-#
CONFIG_DEBUG_INFO=y
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
-# CONFIG_ENABLE_DEVICE_NOISE is not set
-
-#
-# Commands
-#
-
-#
-# scripting
-#
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
@@ -89,98 +19,13 @@ CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
# CONFIG_CMD_TRUE is not set
# CONFIG_CMD_FALSE is not set
-
-#
-# file commands
-#
-CONFIG_CMD_LS=y
-CONFIG_CMD_RM=y
-CONFIG_CMD_CAT=y
-CONFIG_CMD_MKDIR=y
-CONFIG_CMD_RMDIR=y
-CONFIG_CMD_CP=y
-CONFIG_CMD_PWD=y
-CONFIG_CMD_CD=y
-CONFIG_CMD_MOUNT=y
-CONFIG_CMD_UMOUNT=y
-
-#
-# console
-#
-CONFIG_CMD_CLEAR=y
-CONFIG_CMD_ECHO=y
-
-#
-# memory
-#
-# CONFIG_CMD_LOADB is not set
-# CONFIG_CMD_LOADY is not set
-# CONFIG_CMD_LOADS is not set
CONFIG_CMD_MEMINFO=y
-# CONFIG_CMD_CRC is not set
-# CONFIG_CMD_MTEST is not set
-
-#
-# flash
-#
-# CONFIG_CMD_FLASH is not set
-
-#
-# booting
-#
# CONFIG_CMD_BOOTM is not set
-CONFIG_CMD_LINUX16=y
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
-# CONFIG_CMD_PARTITION is not set
-CONFIG_CMD_TEST=y
-CONFIG_CMD_VERSION=y
-CONFIG_CMD_HELP=y
-CONFIG_CMD_DEVINFO=y
-# CONFIG_NET is not set
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
CONFIG_DRIVER_SERIAL_NS16550=y
-
-#
-# SPI drivers
-#
# CONFIG_SPI is not set
-# CONFIG_I2C is not set
-
-#
-# flash drivers
-#
-# CONFIG_DRIVER_CFI is not set
-# CONFIG_DRIVER_CFI_OLD is not set
-# CONFIG_NAND is not set
CONFIG_ATA=y
-
-#
-# drive types
-#
CONFIG_ATA_DISK=y
-
-#
-# interface types
-#
CONFIG_ATA_BIOS=y
-# CONFIG_USB is not set
-# CONFIG_USB_GADGET is not set
-# CONFIG_VIDEO is not set
-
-#
-# Filesystem support
-#
-# CONFIG_FS_CRAMFS is not set
-CONFIG_FS_RAMFS=y
-CONFIG_FS_DEVFS=y
-CONFIG_CRC32=y
-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
diff --git a/arch/x86/include/asm/posix_types.h b/arch/x86/include/asm/posix_types.h
index a22f301aee..927868132a 100644
--- a/arch/x86/include/asm/posix_types.h
+++ b/arch/x86/include/asm/posix_types.h
@@ -27,7 +27,6 @@
#define _ASM_X86_POSIX_TYPES_H
typedef unsigned long __kernel_ino_t;
-typedef unsigned short __kernel_dev_t;
typedef unsigned short __kernel_mode_t;
typedef unsigned short __kernel_nlink_t;
typedef long __kernel_off_t;
diff --git a/commands/Kconfig b/commands/Kconfig
index 57c9b7557f..0fc80aad1a 100644
--- a/commands/Kconfig
+++ b/commands/Kconfig
@@ -60,6 +60,34 @@ config CMD_MENU_MANAGEMENT
depends on CMD_MENU
prompt "menu scripts management"
+config CMD_LOGIN
+ tristate
+ select PASSWORD
+ prompt "login"
+
+config CMD_PASSWD
+ tristate
+ select CMD_LOGIN
+ prompt "passwd"
+
+if CMD_LOGIN || CMD_PASSWD
+
+choice
+ prompt "passwd mode"
+
+config PASSWD_MODE_HIDE
+ bool "Hide"
+
+config PASSWD_MODE_STAR
+ bool "Star"
+
+config PASSWD_MODE_CLEAR
+ bool "Clear"
+
+endchoice
+
+endif
+
endmenu
menu "file commands "
@@ -243,6 +271,7 @@ config CMD_BOOTU
config CMD_LINUX16
tristate
+ depends on X86
default y if X86
prompt "linux16"
help
diff --git a/commands/Makefile b/commands/Makefile
index 154a778f9c..ca30b5f44d 100644
--- a/commands/Makefile
+++ b/commands/Makefile
@@ -51,3 +51,5 @@ obj-$(CONFIG_CMD_UNLZO) += unlzo.o
obj-$(CONFIG_CMD_I2C) += i2c.o
obj-$(CONFIG_CMD_UBI) += ubi.o
obj-$(CONFIG_CMD_MENU) += menu.o
+obj-$(CONFIG_CMD_PASSWD) += passwd.o
+obj-$(CONFIG_CMD_LOGIN) += login.o
diff --git a/commands/login.c b/commands/login.c
new file mode 100644
index 0000000000..7d99b73921
--- /dev/null
+++ b/commands/login.c
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2008-2010 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include <common.h>
+#include <command.h>
+#include <password.h>
+
+#define PASSWD_MAX_LENGTH (128 + 1)
+
+#if defined(CONFIG_PASSWD_MODE_STAR)
+#define LOGIN_MODE STAR
+#elif defined(CONFIG_PASSWD_MODE_CLEAR)
+#define LOGIN_MODE CLEAR
+#else
+#define LOGIN_MODE HIDE
+#endif
+
+static int do_login(struct command *cmdtp, int argc, char *argv[])
+{
+ unsigned char passwd[PASSWD_MAX_LENGTH];
+ int passwd_len;
+
+ if (!is_passwd_enable()) {
+ puts("login: password not set\n");
+ return 0;
+ }
+
+ do {
+ puts("Password: ");
+ passwd_len = password(passwd, PASSWD_MAX_LENGTH, LOGIN_MODE);
+
+ if (check_passwd(passwd, passwd_len))
+ return 0;
+ } while(1);
+
+ return 0;
+}
+
+static const __maybe_unused char cmd_login_help[] =
+"";
+
+BAREBOX_CMD_START(login)
+ .cmd = do_login,
+ .usage = "login",
+ BAREBOX_CMD_HELP(cmd_login_help)
+BAREBOX_CMD_END
diff --git a/commands/mem.c b/commands/mem.c
index 8a4267cee4..bc84f6d56e 100644
--- a/commands/mem.c
+++ b/commands/mem.c
@@ -616,6 +616,7 @@ static struct memory_platform_data mem_dev_pdata = {
};
static struct device_d mem_dev = {
+ .id = -1,
.name = "mem",
.map_base = 0,
.size = ~0, /* FIXME: should be 0x100000000, ahem... */
diff --git a/commands/menu.c b/commands/menu.c
index f734db3874..b9d66996a4 100644
--- a/commands/menu.c
+++ b/commands/menu.c
@@ -48,11 +48,14 @@ struct cmd_menu {
char *command;
char *submenu;
int num;
+ int auto_select;
+ menu_entry_type type;
+ int box_state;
#endif
};
#if defined(CONFIG_CMD_MENU_MANAGEMENT)
-#define OPTS "m:earlc:d:RsSn:u:"
+#define OPTS "m:earlc:d:RsSn:u:A:b:B:"
#define is_entry(x) ((x)->entry)
#else
#define OPTS "m:ls"
@@ -61,8 +64,8 @@ struct cmd_menu {
#if defined(CONFIG_CMD_MENU_MANAGEMENT)
/*
- * menu -e -a -m <menu> -c <command> [-R] -d <description>
- * menu -e -a -m <menu> -u submenu -d <description>
+ * menu -e -a -m <menu> -c <command> [-R] [-b 0|1 ] -d <description>
+ * menu -e -a -m <menu> -u submenu -d [-b 0|1] <description>
*/
static int do_menu_entry_add(struct cmd_menu *cm)
{
@@ -82,11 +85,15 @@ static int do_menu_entry_add(struct cmd_menu *cm)
if (cm->submenu)
me = menu_add_submenu(m, cm->submenu, cm->description);
else
- me = menu_add_command_entry(m, cm->description, cm->command);
+ me = menu_add_command_entry(m, cm->description, cm->command,
+ cm->type);
if (!me)
return PTR_ERR(me);
- me->non_re_ent = !cm->re_entrant;
+ me->box_state = cm->box_state > 0 ? 1 : 0;
+
+ if (!cm->submenu)
+ me->non_re_ent = !cm->re_entrant;
return 0;
}
@@ -202,7 +209,7 @@ static int do_menu_select(struct cmd_menu *cm)
return -EINVAL;
}
- if (!menu_set_selected(m, cm->num)) {
+ if (menu_set_selected(m, cm->num) < 0) {
eprintf("Entry '%d' not found\n", cm->num);
return -EINVAL;
}
@@ -212,7 +219,7 @@ static int do_menu_select(struct cmd_menu *cm)
#endif
/*
- * menu -s -m <menu>
+ * menu -s -m <menu> [-A <auto select delay>] [-d <display]
*/
static int do_menu_show(struct cmd_menu *cm)
{
@@ -223,6 +230,17 @@ static int do_menu_show(struct cmd_menu *cm)
else
m = menu_get_by_name("boot");
+ if (!m)
+ return -EINVAL;
+
+ if (cm->auto_select != -EINVAL) {
+ menu_set_auto_select(m, cm->auto_select);
+
+ free(m->auto_display);
+
+ m->auto_display = strdup(cm->description);
+ }
+
return menu_show(m);
}
@@ -300,6 +318,7 @@ static int do_menu(struct command *cmdtp, int argc, char *argv[])
memset(&cm, 0, sizeof(struct cmd_menu));
#if defined(CONFIG_CMD_MENU_MANAGEMENT)
cm.num = -EINVAL;
+ cm.auto_select = -EINVAL;
#endif
cm.action = action_show;
@@ -343,6 +362,15 @@ static int do_menu(struct command *cmdtp, int argc, char *argv[])
case 'n':
cm.num = simple_strtoul(optarg, NULL, 10);
break;
+ case 'A':
+ cm.auto_select = simple_strtoul(optarg, NULL, 10);
+ case 'b':
+ cm.type = MENU_ENTRY_BOX;
+ cm.box_state = simple_strtoul(optarg, NULL, 10);
+ break;
+ case 'B':
+ cm.command = optarg;
+ break;
#endif
default:
return 1;
@@ -398,7 +426,9 @@ static const __maybe_unused char cmd_menu_help[] =
"How to\n"
"\n"
"Show menu\n"
-" menu -s -m <menu>\n"
+" (-A auto select delay)\n"
+" (-d auto select description)\n"
+" menu -s -m <menu> [-A delay] [-d auto_display]\n"
"\n"
"List menu\n"
" menu -l\n"
@@ -412,11 +442,15 @@ static const __maybe_unused char cmd_menu_help[] =
"\n"
"Add an entry\n"
" (-R for do no exit the menu after executing the command)\n"
-" menu -e -a -m <menu> -c <command> [-R] -d <description>\n"
+" (-b for box style 1 for selected)\n"
+" (and optional -c for the command to run when we change the state)\n"
+" menu -e -a -m <menu> -c <command> [-R] [-b 0|1] -d <description>\n"
"Add a submenu entry\n"
" (-R is not needed)\n"
-" menu -e -a -m <menu> -u <menu> -d <description>\n"
+" (-b for box style 1 for selected)\n"
+" (and -c is not needed)\n"
+" menu -e -a -m <menu> -u submenu -d [-b 0|1] <description>\n"
"\n"
"Remove an entry\n"
" menu -e -r -m <name> -n <num>\n"
diff --git a/commands/passwd.c b/commands/passwd.c
new file mode 100644
index 0000000000..94350911df
--- /dev/null
+++ b/commands/passwd.c
@@ -0,0 +1,98 @@
+/*
+ * Copyright (c) 2008-2010 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include <common.h>
+#include <command.h>
+#include <password.h>
+#include <errno.h>
+
+#define PASSWD_MAX_LENGTH (128 + 1)
+
+#if defined(CONFIG_PASSWD_MODE_STAR)
+#define PASSWD_MODE STAR
+#elif defined(CONFIG_PASSWD_MODE_CLEAR)
+#define PASSWD_MODE CLEAR
+#else
+#define PASSWD_MODE HIDE
+#endif
+
+static int do_passwd(struct command *cmdtp, int argc, char *argv[])
+{
+ unsigned char passwd2[PASSWD_MAX_LENGTH];
+ unsigned char passwd1[PASSWD_MAX_LENGTH];
+ int passwd1_len;
+ int passwd2_len;
+ int ret = 1;
+
+ puts("Enter new password: ");
+ passwd1_len = password(passwd1, PASSWD_MAX_LENGTH, PASSWD_MODE);
+
+ if (passwd1_len < 0)
+ return 1;
+
+ puts("Retype new password: ");
+ passwd2_len = password(passwd2, PASSWD_MAX_LENGTH, PASSWD_MODE);
+
+ if (passwd2_len < 0)
+ return 1;
+
+ if (passwd2_len != passwd1_len) {
+ goto err;
+ } else {
+ if (passwd1_len == 0) {
+ ret = 0;
+ goto disable;
+ }
+
+ if (strncmp(passwd1, passwd2, passwd1_len) != 0)
+ goto err;
+ }
+
+ ret = set_passwd(passwd1, passwd1_len);
+
+ if (ret < 0) {
+ puts("Sorry, passwords write failed\n");
+ ret = 1;
+ goto disable;
+ }
+
+ return 0;
+err:
+ puts("Sorry, passwords do not match\n");
+ puts("passwd: password unchanged\n");
+ return 1;
+
+disable:
+ passwd_disable();
+ puts("passwd: password disabled\n");
+ return ret;
+}
+
+static const __maybe_unused char cmd_passwd_help[] =
+"Usage: passwd\n"
+"passwd allow you to specify a password\n"
+"to disable it put an empty password\n"
+;
+
+BAREBOX_CMD_START(passwd)
+ .cmd = do_passwd,
+ .usage = "passwd",
+ BAREBOX_CMD_HELP(cmd_passwd_help)
+BAREBOX_CMD_END
diff --git a/common/Kconfig b/common/Kconfig
index 6556c62fd4..ad70cde4f3 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -264,6 +264,34 @@ config MENU
a menu framework that allow us to create list menu to simplify
barebox and make it more user-frendly
+config PASSWORD
+ bool
+ prompt "Password Framework"
+ select DIGEST
+ help
+ allow you to have password protection framework
+
+if PASSWORD
+
+choice
+ prompt "passwd checksum"
+
+config PASSWD_SUM_MD5
+ bool "MD5"
+ select MD5
+
+config PASSWD_SUM_SHA1
+ bool "SHA1"
+ select SHA1
+
+config PASSWD_SUM_SHA256
+ bool "SHA256"
+ select SHA256
+
+endchoice
+
+endif
+
config DYNAMIC_CRC_TABLE
bool
depends on CRC32
diff --git a/common/Makefile b/common/Makefile
index 4b8cce0d01..6ca3d98350 100644
--- a/common/Makefile
+++ b/common/Makefile
@@ -11,17 +11,19 @@ obj-y += clock.o
obj-y += command.o
obj-$(CONFIG_CONSOLE_FULL) += console.o
obj-$(CONFIG_CONSOLE_SIMPLE) += console_simple.o
+obj-$(CONFIG_DIGEST) += digest.o
obj-y += env.o
obj-y += startup.o
obj-y += misc.o
obj-y += memsize.o
obj-$(CONFIG_MENU) += menu.o
+obj-$(CONFIG_PASSWORD) += password.o
obj-$(CONFIG_MODULES) += module.o
extra-$(CONFIG_MODULES) += module.lds
ifdef CONFIG_DEFAULT_ENVIRONMENT
-$(obj)/startup.o: include/barebox_default_env.h
-$(obj)/env.o: include/barebox_default_env.h
+$(obj)/startup.o: include/generated/barebox_default_env.h
+$(obj)/env.o: include/generated/barebox_default_env.h
ENV_FILES := $(shell cd $(srctree); for i in $(CONFIG_DEFAULT_ENVIRONMENT_PATH); do find $${i} -type f -exec readlink -f {} \;; done)
@@ -30,5 +32,5 @@ endif # ifdef CONFIG_DEFAULT_ENVIRONMENT
barebox_default_env: $(ENV_FILES)
$(Q)$(srctree)/scripts/genenv $(srctree) $(objtree) $(CONFIG_DEFAULT_ENVIRONMENT_PATH)
-include/barebox_default_env.h: barebox_default_env
+include/generated/barebox_default_env.h: barebox_default_env
$(Q)cat $< | $(objtree)/scripts/bin2c default_environment > $@
diff --git a/common/command.c b/common/command.c
index 8ed107256d..f1aeeb9df0 100644
--- a/common/command.c
+++ b/common/command.c
@@ -33,7 +33,7 @@
#include <linux/list.h>
#include <init.h>
#include <complete.h>
-#include <linux/utsrelease.h>
+#include <generated/utsrelease.h>
#include <getopt.h>
const char version_string[] =
diff --git a/common/console.c b/common/console.c
index 7199d9afb8..889c26232d 100644
--- a/common/console.c
+++ b/common/console.c
@@ -51,7 +51,7 @@ static void display_banner (void)
printf(RELOC("Board: " CONFIG_BOARDINFO "\n"));
}
-static int __initdata initialized = 0;
+static int __early_initdata initialized = 0;
static int console_std_set(struct device_d *dev, struct param_d *param,
const char *val)
@@ -246,7 +246,7 @@ int tstc(void)
}
EXPORT_SYMBOL(tstc);
-void __initdata *early_console_base;
+void __early_initdata *early_console_base;
void console_putc(unsigned int ch, char c)
{
diff --git a/common/digest.c b/common/digest.c
new file mode 100644
index 0000000000..10ad06005e
--- /dev/null
+++ b/common/digest.c
@@ -0,0 +1,77 @@
+/*
+ * (C) Copyright 2008-2010 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2 of
+ * the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#include <common.h>
+#include <digest.h>
+#include <malloc.h>
+#include <errno.h>
+#include <module.h>
+#include <linux/err.h>
+
+static LIST_HEAD(digests);
+
+static int dummy_init(struct digest *d)
+{
+ return 0;
+}
+
+int digest_register(struct digest *d)
+{
+ if (!d || !d->name || !d->update || !d->final || d->length < 1)
+ return -EINVAL;
+
+ if (!d->init)
+ d->init = dummy_init;
+
+ if (digest_get_by_name(d->name))
+ return -EEXIST;
+
+ list_add_tail(&d->list, &digests);
+
+ return 0;
+}
+EXPORT_SYMBOL(digest_register);
+
+void digest_unregister(struct digest *d)
+{
+ if (!d)
+ return;
+
+ list_del(&d->list);
+}
+EXPORT_SYMBOL(digest_unregister);
+
+struct digest* digest_get_by_name(char* name)
+{
+ struct digest* d;
+
+ if (!name)
+ return NULL;
+
+ list_for_each_entry(d, &digests, list) {
+ if(strcmp(d->name, name) == 0)
+ return d;
+ }
+
+ return NULL;
+}
+EXPORT_SYMBOL_GPL(digest_get_by_name);
diff --git a/common/menu.c b/common/menu.c
index 7620d9e545..8e3cb9b094 100644
--- a/common/menu.c
+++ b/common/menu.c
@@ -29,6 +29,7 @@
#include <xfuncs.h>
#include <errno.h>
#include <readkey.h>
+#include <clock.h>
#include <linux/err.h>
static LIST_HEAD(menus);
@@ -49,6 +50,7 @@ void menu_free(struct menu *m)
return;
free(m->name);
free(m->display);
+ free(m->auto_display);
list_for_each_entry_safe(me, tmp, &m->entries, list)
menu_entry_free(me);
@@ -147,13 +149,26 @@ void menu_entry_free(struct menu_entry *me)
me->free(me);
}
-static void print_menu_entry(struct menu *m, struct menu_entry *me, int reverse)
+static void print_menu_entry(struct menu *m, struct menu_entry *me,
+ int selected)
{
gotoXY(me->num + 1, 3);
- if (reverse)
- printf_reverse("%d: %-*s", me->num, m->width, me->display);
- else
- printf("%d: %-*s", me->num, m->width, me->display);
+ if (selected)
+ printf("\e[7m");
+
+ if (me->type == MENU_ENTRY_BOX) {
+ if (me->box_state)
+ puts("[*]");
+ else
+ puts("[ ]");
+ } else {
+ puts(" ");
+ }
+
+ printf(" %d: %-*s", me->num, m->width, me->display);
+
+ if (selected)
+ printf("\e[m");
}
int menu_set_selected_entry(struct menu *m, struct menu_entry* me)
@@ -187,6 +202,16 @@ int menu_set_selected(struct menu *m, int num)
return 0;
}
+int menu_set_auto_select(struct menu *m, int delay)
+{
+ if (!m)
+ return -EINVAL;
+
+ m->auto_select = delay;
+
+ return 0;
+}
+
static void print_menu(struct menu *m)
{
struct menu_entry *me;
@@ -217,14 +242,54 @@ int menu_show(struct menu *m)
{
int ch;
int escape = 0;
+ int countdown;
+ int auto_display_len = 16;
+ uint64_t start, second;
if(!m || list_empty(&m->entries))
return -EINVAL;
print_menu(m);
+ countdown = m->auto_select;
+ if (m->auto_select >= 0) {
+ gotoXY(m->nb_entries + 2, 3);
+ if (!m->auto_display) {
+ printf("Auto Select in");
+ } else {
+ auto_display_len = strlen(m->auto_display);
+ printf(m->auto_display);
+ }
+ printf(" %2d", countdown--);
+ }
+
+ start = get_time_ns();
+ second = start;
+ while (m->auto_select > 0 && !is_timeout(start, m->auto_select * SECOND)) {
+ if (tstc()) {
+ m->auto_select = -1;
+ break;
+ }
+
+ if (is_timeout(second, SECOND)) {
+ printf("\b\b%2d", countdown--);
+ second += SECOND;
+ }
+ }
+
+ gotoXY(m->nb_entries + 2, 3);
+ printf("%*c", auto_display_len + 4, ' ');
+
+ gotoXY(m->selected->num + 1, 3);
+
do {
- ch = getc();
+ if (m->auto_select >= 0)
+ ch = '\n';
+ else
+ ch = getc();
+
+ m->auto_select = -1;
+
switch(ch) {
case 0x1b:
escape = 1;
@@ -254,6 +319,14 @@ int menu_show(struct menu *m)
}
print_menu_entry(m, m->selected, 1);
break;
+ case ' ':
+ if (m->selected->type != MENU_ENTRY_BOX)
+ break;
+ m->selected->box_state = !m->selected->box_state;
+ if (m->selected->action)
+ m->selected->action(m, m->selected);
+ print_menu_entry(m, m->selected, 1);
+ break;
case '\n':
case '\r':
clear();
@@ -283,6 +356,9 @@ static void menu_action_show(struct menu *m, struct menu_entry *me)
struct submenu *s = container_of(me, struct submenu, entry);
struct menu *sm;
+ if (me->type == MENU_ENTRY_BOX && !me->box_state)
+ return;
+
sm = menu_get_by_name(s->submenu);
if (sm)
menu_show(sm);
@@ -358,7 +434,8 @@ static void menu_command_free(struct menu_entry *me)
free(e);
}
-struct menu_entry *menu_add_command_entry(struct menu *m, char *display, char *command)
+struct menu_entry *menu_add_command_entry(struct menu *m, char *display,
+ char *command, menu_entry_type type)
{
struct action_entry *e = calloc(1, sizeof(*e));
int ret;
@@ -369,6 +446,7 @@ struct menu_entry *menu_add_command_entry(struct menu *m, char *display, char *c
e->command = strdup(command);
e->entry.action = menu_action_command;
e->entry.free = menu_command_free;
+ e->entry.type = type;
e->entry.display = strdup(display);
if (!e->entry.display || !e->command) {
diff --git a/common/password.c b/common/password.c
new file mode 100644
index 0000000000..cf369705ef
--- /dev/null
+++ b/common/password.c
@@ -0,0 +1,286 @@
+/*
+ * Copyright (c) 2008-2010 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include <common.h>
+#include <password.h>
+#include <errno.h>
+#include <readkey.h>
+#include <fs.h>
+#include <fcntl.h>
+#include <digest.h>
+#include <malloc.h>
+#include <xfuncs.h>
+
+#if defined(CONFIG_PASSWD_SUM_MD5)
+#define PASSWD_SUM "md5"
+#elif defined(CONFIG_PASSWD_SUM_SHA1)
+#define PASSWD_SUM "sha1"
+#elif defined(CONFIG_PASSWD_SUM_SHA256)
+#define PASSWD_SUM "sha256"
+#endif
+
+int password(unsigned char *passwd, size_t length, int flags)
+{
+ unsigned char *buf = passwd;
+ int pos = 0;
+ unsigned char ch;
+
+ if (!passwd)
+ return -EINVAL;
+
+ do {
+ ch = getc();
+
+ switch (ch) {
+ case '\r':
+ case '\n':
+ *buf = '\0';
+ puts("\r\n");
+ return pos;
+ case '\0':
+ case '\t':
+ continue;
+ case CTL_CH('c'):
+ passwd[0] = '\0';
+ puts("\r\n");
+ return 0;
+ case CTL_CH('h'):
+ case KEY_DEL7:
+ case KEY_DEL:
+ if (flags & STAR && pos > 0)
+ puts("\b \b");
+ *buf = '\0';
+ buf--;
+ pos--;
+ continue;
+ default:
+ if (pos < length - 1) {
+ if (flags & STAR)
+ putchar('*');
+ else if (flags & CLEAR)
+ putchar(ch);
+
+ *buf = ch;
+ buf++;
+ pos++;
+ } else {
+ if (flags & STAR)
+ putchar('\a');
+ }
+ }
+ } while(1);
+}
+
+int is_passwd_enable(void)
+{
+ int fd;
+
+ fd = open(PASSWD_FILE, O_RDONLY);
+
+ if (fd < 0)
+ return 0;
+
+ close(fd);
+
+ return 1;
+}
+
+int passwd_disable(void)
+{
+ return unlink(PASSWD_FILE);
+}
+
+static unsigned char to_digit(unsigned char c)
+{
+ if (c >= '0' && c <= '9')
+ c -= '0';
+ else
+ c -= 'a' - 10;
+
+ return c;
+}
+
+static unsigned char to_hexa(unsigned char c)
+{
+ if (c < 10)
+ c += '0';
+ else
+ c += 'a' - 10;
+
+ return c;
+}
+
+int read_passwd(unsigned char *sum, size_t length)
+{
+ int fd;
+ int ret = 0;
+ unsigned char c;
+
+ if (!sum && length < 1)
+ return -EINVAL;
+
+ fd = open(PASSWD_FILE, O_RDONLY);
+
+ if (fd < 0)
+ return fd;
+
+ do {
+ ret = read(fd, &c, sizeof(char));
+
+ if (ret < 0)
+ goto exit;
+
+ *sum = to_digit(c) << 4;
+
+ ret = read(fd, &c, sizeof(char));
+
+ if (ret < 0)
+ goto exit;
+
+ *sum |= to_digit(c);
+ sum++;
+ length--;
+ } while(length > 0);
+
+exit:
+
+ ret = 0;
+
+ close(fd);
+
+ return ret;
+}
+
+int write_passwd(unsigned char *sum, size_t length)
+{
+ int fd;
+ unsigned char c;
+ int ret = 0;
+
+ if (!sum && length < 1)
+ return -EINVAL;
+
+ fd = open(PASSWD_DIR, O_RDONLY);
+
+ if (fd < 0)
+ mkdir(PASSWD_DIR, 644);
+
+ close(fd);
+
+ fd = open(PASSWD_FILE, O_WRONLY | O_CREAT, 600);
+
+ if (fd < 0)
+ return fd;
+
+ do {
+ c = to_hexa(*sum >> 4 & 0xf);
+
+ ret = write(fd, &c, sizeof(unsigned char));
+
+ if (ret < 0)
+ goto exit;
+
+ c = to_hexa(*sum & 0xf);
+
+ ret = write(fd, &c, sizeof(unsigned char));
+
+ if (ret < 0)
+ goto exit;
+
+ sum++;
+ length--;
+ } while(length > 0);
+
+ ret = 0;
+
+exit:
+ close(fd);
+
+ return ret;
+}
+
+int check_passwd(unsigned char* passwd, size_t length)
+{
+ struct digest *d;
+ unsigned char *passwd1_sum;
+ unsigned char *passwd2_sum;
+ int ret = 0;
+
+ d = digest_get_by_name(PASSWD_SUM);
+
+ passwd1_sum = calloc(d->length, sizeof(unsigned char));
+
+ if (!passwd1_sum)
+ return -ENOMEM;
+
+ passwd2_sum = calloc(d->length, sizeof(unsigned char));
+
+ if (!passwd2_sum) {
+ ret = -ENOMEM;
+ goto err1;
+ }
+
+ d->init(d);
+
+ d->update(d, passwd, length);
+
+ d->final(d, passwd1_sum);
+
+ ret = read_passwd(passwd2_sum, d->length);
+
+ if (ret < 0)
+ goto err2;
+
+ if (strncmp(passwd1_sum, passwd2_sum, d->length) == 0)
+ ret = 1;
+
+err2:
+ free(passwd2_sum);
+err1:
+ free(passwd1_sum);
+
+ return ret;
+}
+
+int set_passwd(unsigned char* passwd, size_t length)
+{
+ struct digest *d;
+ unsigned char *passwd_sum;
+ int ret;
+
+ d = digest_get_by_name(PASSWD_SUM);
+
+ passwd_sum = calloc(d->length, sizeof(unsigned char));
+
+ if (!passwd_sum)
+ return -ENOMEM;
+
+ d->init(d);
+
+ d->update(d, passwd, length);
+
+ d->final(d, passwd_sum);
+
+ ret = write_passwd(passwd_sum, d->length);
+
+ free(passwd_sum);
+
+ return ret;
+}
diff --git a/common/startup.c b/common/startup.c
index 2ed16fea0c..84a59c5cae 100644
--- a/common/startup.c
+++ b/common/startup.c
@@ -79,13 +79,14 @@ void early_init (void)
#endif /* CONFIG_HAS_EARLY_INIT */
#ifdef CONFIG_DEFAULT_ENVIRONMENT
-#include <barebox_default_env.h>
+#include <generated/barebox_default_env.h>
static struct memory_platform_data default_env_platform_data = {
.name = "defaultenv",
};
static struct device_d default_env_dev = {
+ .id = -1,
.name = "mem",
.platform_data = &default_env_platform_data,
};
diff --git a/drivers/Kconfig b/drivers/Kconfig
index ae9efce379..f7154c62dc 100644
--- a/drivers/Kconfig
+++ b/drivers/Kconfig
@@ -9,5 +9,6 @@ source "drivers/mtd/Kconfig"
source "drivers/ata/Kconfig"
source "drivers/usb/Kconfig"
source "drivers/video/Kconfig"
+source "drivers/clk/Kconfig"
endmenu
diff --git a/drivers/Makefile b/drivers/Makefile
index bce68bc7b5..706e1c8ac2 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -7,3 +7,4 @@ obj-$(CONFIG_ATA) += ata/
obj-$(CONFIG_SPI) += spi/
obj-$(CONFIG_I2C) += i2c/
obj-$(CONFIG_VIDEO) += video/
+obj-y += clk/
diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig
new file mode 100644
index 0000000000..4168c8896e
--- /dev/null
+++ b/drivers/clk/Kconfig
@@ -0,0 +1,4 @@
+
+config CLKDEV_LOOKUP
+ bool
+ select HAVE_CLK
diff --git a/drivers/clk/Makefile b/drivers/clk/Makefile
new file mode 100644
index 0000000000..07613fa172
--- /dev/null
+++ b/drivers/clk/Makefile
@@ -0,0 +1,2 @@
+
+obj-$(CONFIG_CLKDEV_LOOKUP) += clkdev.o
diff --git a/arch/arm/common/clkdev.c b/drivers/clk/clkdev.c
index 4d253569ee..717fea5689 100644
--- a/arch/arm/common/clkdev.c
+++ b/drivers/clk/clkdev.c
@@ -1,5 +1,5 @@
/*
- * arch/arm/common/clkdev.c
+ * drivers/clk/lookup_clkdev.c
*
* Copyright (C) 2008 Russell King.
*
@@ -14,14 +14,13 @@
#include <linux/list.h>
#include <errno.h>
#include <linux/err.h>
+#include <linux/string.h>
#include <linux/clk.h>
+#include <linux/clkdev.h>
#include <init.h>
#include <malloc.h>
#include <stdio.h>
-#include <asm/clkdev.h>
-#include <mach/clkdev.h>
-
static LIST_HEAD(clocks);
/*
@@ -31,7 +30,7 @@ static LIST_HEAD(clocks);
* If an entry has a device ID, it must match
* If an entry has a connection ID, it must match
* Then we take the most specific entry - with the following
- * order of precidence: dev+con > dev only > con only.
+ * order of precedence: dev+con > dev only > con only.
*/
static struct clk *clk_find(const char *dev_id, const char *con_id)
{
@@ -51,12 +50,13 @@ static struct clk *clk_find(const char *dev_id, const char *con_id)
continue;
match += 1;
}
- if (match == 0)
- continue;
if (match > best) {
clk = p->clk;
- best = match;
+ if (match != 3)
+ best = match;
+ else
+ break;
}
}
return clk;
@@ -94,6 +94,14 @@ void clkdev_add(struct clk_lookup *cl)
}
EXPORT_SYMBOL(clkdev_add);
+void __init clkdev_add_table(struct clk_lookup *cl, size_t num)
+{
+ while (num--) {
+ list_add_tail(&cl->node, &clocks);
+ cl++;
+ }
+}
+
#define MAX_DEV_ID 20
#define MAX_CON_ID 16
diff --git a/drivers/i2c/Kconfig b/drivers/i2c/Kconfig
index 66a7cf7c76..9ce16558c4 100644
--- a/drivers/i2c/Kconfig
+++ b/drivers/i2c/Kconfig
@@ -3,27 +3,21 @@ menuconfig I2C
if I2C
-config DRIVER_I2C_IMX
- bool "i.MX I2C Master driver"
- depends on ARCH_IMX
+source drivers/i2c/busses/Kconfig
-config DRIVER_I2C_OMAP
- bool "OMAP I2C Master driver"
- depends on ARCH_OMAP
-
-config DRIVER_I2C_MC13892
+config I2C_MC13892
bool "MC13892 a.k.a. PMIC driver"
-config DRIVER_I2C_MC34704
+config I2C_MC34704
bool "MC34704 PMIC driver"
-config DRIVER_I2C_MC9SDZ60
+config I2C_MC9SDZ60
bool "MC9SDZ60 driver"
-config DRIVER_I2C_LP3972
+config I2C_LP3972
bool "LP3972 driver"
-config DRIVER_I2C_TWL4030
+config I2C_TWL4030
bool "TWL4030 driver"
select GPIO
diff --git a/drivers/i2c/Makefile b/drivers/i2c/Makefile
index 7d07cf06c3..0584b5589d 100644
--- a/drivers/i2c/Makefile
+++ b/drivers/i2c/Makefile
@@ -1,10 +1,7 @@
-obj-$(CONFIG_I2C) += i2c.o
+obj-$(CONFIG_I2C) += i2c.o busses/
-obj-$(CONFIG_DRIVER_I2C_IMX) += i2c-imx.o
-obj-$(CONFIG_DRIVER_I2C_OMAP) += i2c-omap.o
-
-obj-$(CONFIG_DRIVER_I2C_MC13892) += mc13892.o
-obj-$(CONFIG_DRIVER_I2C_MC34704) += mc34704.o
-obj-$(CONFIG_DRIVER_I2C_MC9SDZ60) += mc9sdz60.o
-obj-$(CONFIG_DRIVER_I2C_LP3972) += lp3972.o
-obj-$(CONFIG_DRIVER_I2C_TWL4030) += twl4030.o
+obj-$(CONFIG_I2C_MC13892) += mc13892.o
+obj-$(CONFIG_I2C_MC34704) += mc34704.o
+obj-$(CONFIG_I2C_MC9SDZ60) += mc9sdz60.o
+obj-$(CONFIG_I2C_LP3972) += lp3972.o
+obj-$(CONFIG_I2C_TWL4030) += twl4030.o
diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
new file mode 100644
index 0000000000..4b170caba6
--- /dev/null
+++ b/drivers/i2c/busses/Kconfig
@@ -0,0 +1,15 @@
+#
+# Sensor device configuration
+#
+
+menu "I2C Hardware Bus support"
+
+config I2C_IMX
+ bool "i.MX I2C Master driver"
+ depends on ARCH_IMX
+
+config I2C_OMAP
+ bool "OMAP I2C Master driver"
+ depends on ARCH_OMAP
+
+endmenu
diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile
new file mode 100644
index 0000000000..e4c5125580
--- /dev/null
+++ b/drivers/i2c/busses/Makefile
@@ -0,0 +1,2 @@
+obj-$(CONFIG_I2C_IMX) += i2c-imx.o
+obj-$(CONFIG_I2C_OMAP) += i2c-omap.o
diff --git a/drivers/i2c/i2c-imx.c b/drivers/i2c/busses/i2c-imx.c
index cc64d943c1..cc64d943c1 100644
--- a/drivers/i2c/i2c-imx.c
+++ b/drivers/i2c/busses/i2c-imx.c
diff --git a/drivers/i2c/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index 8e7a8b500c..8e7a8b500c 100644
--- a/drivers/i2c/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
diff --git a/drivers/i2c/twl4030.c b/drivers/i2c/twl4030.c
index 4d47fc880d..5305ec67e3 100644
--- a/drivers/i2c/twl4030.c
+++ b/drivers/i2c/twl4030.c
@@ -51,7 +51,7 @@ int twl4030_reg_read(struct twl4030 *twl4030, u16 reg, u8 *val)
msg->flags = I2C_M_RD; /* Read the register value */
msg->len = 1; /* only n bytes */
msg->buf = val;
- ret = i2c_transfer(twl4030->client->adapter, &xfer_msg, 2);
+ ret = i2c_transfer(twl4030->client->adapter, xfer_msg, 2);
/* i2c_transfer returns number of messages transferred */
if (ret < 0) {
@@ -96,9 +96,9 @@ int twl4030_reg_write(struct twl4030 *twl4030, u16 reg, u8 val)
}
EXPORT_SYMBOL(twl4030_reg_write)
-int twl4030_set_bits(struct twl4030 *twl4030, enum twl4030_reg reg, u32 mask, u32 val)
+int twl4030_set_bits(struct twl4030 *twl4030, enum twl4030_reg reg, u8 mask, u8 val)
{
- u32 tmp;
+ u8 tmp;
int err;
err = twl4030_reg_read(twl4030, reg, &tmp);
diff --git a/drivers/net/ep93xx.c b/drivers/net/ep93xx.c
index 851f6af552..7821cd24c9 100644
--- a/drivers/net/ep93xx.c
+++ b/drivers/net/ep93xx.c
@@ -40,6 +40,8 @@
#include <mach/ep93xx-regs.h>
#include "ep93xx.h"
+#define EP93XX_MAX_PKT_SIZE 1536
+
static int ep93xx_phy_read(struct mii_device *mdev, int phy_addr, int phy_reg);
static int ep93xx_phy_write(struct mii_device *mdev, int phy_addr, int phy_reg,
int value);
@@ -231,7 +233,7 @@ static int ep93xx_eth_open(struct eth_device *edev)
writel(0x00040000, &regs->txdthrshld);
writel(0x00040000, &regs->txststhrshld);
- writel((TXSTARTMAX << 0) | (PKTSIZE_ALIGN << 16), &regs->maxfrmlen);
+ writel((TXSTARTMAX << 0) | (EP93XX_MAX_PKT_SIZE << 16), &regs->maxfrmlen);
writel(BMCTL_TXEN, &regs->bmctl);
/*
@@ -267,7 +269,7 @@ static int ep93xx_eth_open(struct eth_device *edev)
(priv->rx_dq.base + i)->word1 = (uint32_t)NetRxPackets[i];
/* set buffer length, clear buffer index and NSOF */
- (priv->rx_dq.base + i)->word2 = PKTSIZE_ALIGN;
+ (priv->rx_dq.base + i)->word2 = EP93XX_MAX_PKT_SIZE;
}
memset(priv->tx_dq.base, 0,
@@ -615,8 +617,8 @@ static int ep93xx_phy_read(struct mii_device *mdev, int phy_addr, int phy_reg)
/**
* Write a 16-bit value to an MII register.
*/
-static int ep93xx_phy_write(struct mii_device *mdev, uint8_t phy_addr,
- uint8_t phy_reg, uint16_t value)
+static int ep93xx_phy_write(struct mii_device *mdev, int phy_addr,
+ int phy_reg, int value)
{
struct mac_regs *regs = ep93xx_get_regs(mdev->edev);
uint32_t self_ctl;
diff --git a/drivers/net/fec_mpc5200.c b/drivers/net/fec_mpc5200.c
index f239c68761..8b2cb4d7ff 100644
--- a/drivers/net/fec_mpc5200.c
+++ b/drivers/net/fec_mpc5200.c
@@ -556,7 +556,7 @@ static int mpc5xxx_fec_send(struct eth_device *dev, void *eth_data,
*/
if (fec->xcv_type != SEVENWIRE) {
uint16_t phyStatus;
- fec5xxx_miidev_read(&fec->miidev, 0, 0x1, &phyStatus);
+ phyStatus = fec5xxx_miidev_read(&fec->miidev, 0, 0x1);
}
/*
diff --git a/drivers/net/netx_eth.c b/drivers/net/netx_eth.c
index c3083f7fa7..7d55a61384 100644
--- a/drivers/net/netx_eth.c
+++ b/drivers/net/netx_eth.c
@@ -130,8 +130,8 @@ static int netx_miidev_read(struct mii_device *mdev, int phy_addr, int reg)
value = MIIMU_REG >> 16;
- debug("%s: addr: 0x%02x reg: 0x%02x val: 0x%04x\n", __FUNCTION__,
- addr, reg, value)
+ debug("%s: addr: 0x%02x reg: 0x%02x val: 0x%04x\n", __func__,
+ addr, reg, value);
return value;
}
@@ -139,7 +139,7 @@ static int netx_miidev_read(struct mii_device *mdev, int phy_addr, int reg)
static int netx_miidev_write(struct mii_device *mdev, int phy_addr,
int reg, int val)
{
- debug("%s: addr: 0x%02x reg: 0x%02x val: 0x%04x\n",__FUNCTION__,
+ debug("%s: addr: 0x%02x reg: 0x%02x val: 0x%04x\n",__func__,
addr, reg, val);
MIIMU_REG = MIIMU_SNRDY | MIIMU_PREAMBLE | MIIMU_PHYADDR(phy_addr) |
@@ -214,7 +214,7 @@ static int netx_eth_set_ethaddr(struct eth_device *edev, unsigned char *adr)
struct netx_eth_priv *priv = (struct netx_eth_priv *)edev->priv;
int xcno = priv->xcno;
- debug("%s\n", __FUNCTION__);
+ debug("%s\n", __func__);
/* set MAC address */
XMAC_REG(xcno, XMAC_RPU_HOLD_PC) = RPU_HOLD_PC;
diff --git a/drivers/serial/amba-pl011.c b/drivers/serial/amba-pl011.c
index 07508d03b0..bc9b0def8e 100644
--- a/drivers/serial/amba-pl011.c
+++ b/drivers/serial/amba-pl011.c
@@ -34,6 +34,7 @@
#include <asm/io.h>
#include <linux/amba/serial.h>
#include <linux/clk.h>
+#include <linux/err.h>
/*
* We wrap our port structure around the generic console_device.
@@ -160,6 +161,9 @@ static int pl011_probe(struct device_d *dev)
uart->clk = clk_get(dev, NULL);
+ if (IS_ERR(uart->clk))
+ return PTR_ERR(uart->clk);
+
cdev = &uart->uart;
dev->type_data = cdev;
cdev->dev = dev;
diff --git a/drivers/serial/arm_dcc.c b/drivers/serial/arm_dcc.c
index 151730b188..0199da30f9 100644
--- a/drivers/serial/arm_dcc.c
+++ b/drivers/serial/arm_dcc.c
@@ -155,6 +155,7 @@ static struct driver_d arm_dcc_driver = {
};
static struct device_d arm_dcc_device = {
+ .id = -1,
.name = "arm_dcc",
.size = 4096,
};
diff --git a/include/.gitignore b/include/.gitignore
index bb388cccaa..0e56cf2f8c 100644
--- a/include/.gitignore
+++ b/include/.gitignore
@@ -1,2 +1 @@
config.h
-barebox_default_env.h
diff --git a/include/digest.h b/include/digest.h
new file mode 100644
index 0000000000..1dcfd9d860
--- /dev/null
+++ b/include/digest.h
@@ -0,0 +1,49 @@
+/*
+ * (C) Copyright 2008-2010 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2 of
+ * the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#ifndef __DIGEST_H__
+#define __DIGEST_H__
+
+#include <linux/list.h>
+
+struct digest
+{
+ char *name;
+
+ int (*init)(struct digest *d);
+ int (*update)(struct digest *d, const void *data, unsigned long len);
+ int (*final)(struct digest *d, unsigned char *md);
+
+ unsigned int length;
+
+ struct list_head list;
+};
+
+/*
+ * digest functions
+ */
+int digest_register(struct digest *d);
+void digest_unregister(struct digest *d);
+
+struct digest* digest_get_by_name(char* name);
+
+#endif /* __SH_ST_DEVICES_H__ */
diff --git a/include/driver.h b/include/driver.h
index ee0749d48b..b9edca0e7f 100644
--- a/include/driver.h
+++ b/include/driver.h
@@ -25,7 +25,8 @@
#include <linux/list.h>
-#define MAX_DRIVER_NAME 32
+#define MAX_DRIVER_NAME 32
+#define FORMAT_DRIVER_MANE_ID "%s%d"
#include <param.h>
@@ -176,9 +177,11 @@ int get_free_deviceid(const char *name_template);
char *deviceid_from_spec_str(const char *str, char **endp);
+extern const char *dev_id(const struct device_d *dev);
+
static inline const char *dev_name(const struct device_d *dev)
{
- return dev->name;
+ return dev_id(dev);
}
/* linear list over all available devices
@@ -239,11 +242,10 @@ static inline int dev_close_default(struct device_d *dev, struct filep *f)
}
/* debugging and troubleshooting/diagnostic helpers. */
-extern const char *dev_id(const struct device_d *dev);
#define dev_printf(dev, format, arg...) \
- printf("%s@%s: " format , dev_name(dev) , \
- dev_id(dev) , ## arg)
+ printf("%s@%s: " format , (dev)->name , \
+ dev_name(dev) , ## arg)
#define dev_emerg(dev, format, arg...) \
dev_printf((dev) , format , ## arg)
diff --git a/include/i2c/twl4030.h b/include/i2c/twl4030.h
index c9fbae0f00..3fef4d9ad6 100644
--- a/include/i2c/twl4030.h
+++ b/include/i2c/twl4030.h
@@ -456,6 +456,6 @@ extern struct twl4030 *twl4030_get(void);
extern int twl4030_reg_read(struct twl4030 *twl4030, u16 reg, u8 *val);
extern int twl4030_reg_write(struct twl4030 *twl4030, u16 reg, u8 val);
-extern int twl4030_set_bits(struct twl4030 *twl4030, enum twl4030_reg reg, u32 mask, u32 val);
+extern int twl4030_set_bits(struct twl4030 *twl4030, enum twl4030_reg reg, u8 mask, u8 val);
#endif /* __I2C_TWL4030_H */
diff --git a/include/init.h b/include/init.h
index 8692b68d07..2f4fac164b 100644
--- a/include/init.h
+++ b/include/init.h
@@ -7,6 +7,10 @@
#define __init
#define __initdata
+/* For assembly routines */
+#define __BARE_INIT .section ".text_bare_init.text","ax"
+
+#ifndef __ASSEMBLY__
typedef int (*initcall_t)(void);
#define __define_initcall(level,fn,id) \
@@ -40,5 +44,7 @@ typedef int (*initcall_t)(void);
*/
#define __bare_init __section(.text_bare_init.text)
+#endif
+
#endif /* _INIT_H */
diff --git a/include/linux/clkdev.h b/include/linux/clkdev.h
new file mode 100644
index 0000000000..ae38e1a166
--- /dev/null
+++ b/include/linux/clkdev.h
@@ -0,0 +1,36 @@
+/*
+ * include/linux/clkdev.h
+ *
+ * Copyright (C) 2008 Russell King.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Helper for the clk API to assist looking up a struct clk.
+ */
+#ifndef __CLKDEV_H
+#define __CLKDEV_H
+
+#include <asm/clkdev.h>
+
+struct clk;
+struct device_d;
+
+struct clk_lookup {
+ struct list_head node;
+ const char *dev_id;
+ const char *con_id;
+ struct clk *clk;
+};
+
+struct clk_lookup *clkdev_alloc(struct clk *clk, const char *con_id,
+ const char *dev_fmt, ...);
+
+void clkdev_add(struct clk_lookup *cl);
+void clkdev_drop(struct clk_lookup *cl);
+
+void clkdev_add_table(struct clk_lookup *, size_t);
+int clk_add_alias(const char *, const char *, char *, struct device_d *);
+
+#endif
diff --git a/include/linux/types.h b/include/linux/types.h
index 96e5708208..2145b6de49 100644
--- a/include/linux/types.h
+++ b/include/linux/types.h
@@ -6,6 +6,8 @@
#ifndef __KERNEL_STRICT_NAMES
+typedef __u32 __kernel_dev_t;
+
typedef __kernel_fd_set fd_set;
typedef __kernel_dev_t dev_t;
typedef __kernel_ino_t ino_t;
diff --git a/include/menu.h b/include/menu.h
index 22bfc2301f..6e7b555263 100644
--- a/include/menu.h
+++ b/include/menu.h
@@ -28,6 +28,11 @@
struct menu;
+typedef enum {
+ MENU_ENTRY_NORMAL = 0,
+ MENU_ENTRY_BOX,
+} menu_entry_type;
+
struct menu_entry {
int num;
char *display;
@@ -35,6 +40,12 @@ struct menu_entry {
void (*free)(struct menu_entry *me);
int non_re_ent;
+ /* MENU_ENTRY_BOX */
+ int box_state;
+ void (*box_action)(struct menu *m, struct menu_entry *me);
+
+ menu_entry_type type;
+
struct list_head list;
};
@@ -42,6 +53,9 @@ struct menu {
char *name;
char *display;
+ int auto_select;
+ char *auto_display;
+
struct list_head list;
struct list_head entries;
@@ -66,7 +80,8 @@ static inline struct menu* menu_alloc(void)
return m;
}
struct menu_entry *menu_add_submenu(struct menu *parent, char *submenu, char *display);
-struct menu_entry *menu_add_command_entry(struct menu *m, char *display, char *command);
+struct menu_entry *menu_add_command_entry(struct menu *m, char *display,
+ char *command, menu_entry_type type);
void menu_free(struct menu *m);
int menu_add(struct menu* m);
void menu_remove(struct menu *m);
@@ -74,6 +89,7 @@ struct menu* menu_get_by_name(char *name);
int menu_show(struct menu *m);
int menu_set_selected_entry(struct menu *m, struct menu_entry* me);
int menu_set_selected(struct menu *m, int num);
+int menu_set_auto_select(struct menu *m, int delay);
struct menu* menu_get_menus(void);
/*
diff --git a/include/password.h b/include/password.h
new file mode 100644
index 0000000000..32301eb482
--- /dev/null
+++ b/include/password.h
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2008-2010 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef __PASSWORD_H__
+#define __PASSWORD_H__
+
+#define PASSWD_FILE "/env/etc/passwd"
+#define PASSWD_DIR "/env/etc/"
+
+#define HIDE (0 << 0)
+#define STAR (1 << 1)
+#define CLEAR (1 << 2)
+
+int password(unsigned char *passwd, size_t length, int flags);
+
+int read_passwd(unsigned char *sum, size_t length);
+int write_passwd(unsigned char *sum, size_t length);
+
+int is_passwd_enable(void);
+int passwd_disable(void);
+int check_passwd(unsigned char* passwd, size_t length);
+int set_passwd(unsigned char* passwd, size_t length);
+
+#endif /* __PASSWORD_H__ */
diff --git a/include/reloc.h b/include/reloc.h
index a5ad7575b1..22cb886ccf 100644
--- a/include/reloc.h
+++ b/include/reloc.h
@@ -30,7 +30,7 @@ void early_init(void);
* put a variable into early init RAM. This section will
* be relocated into SRAM during early init
*/
-#define __initdata __attribute__ ((__section__ (".early_init_data")))
+#define __early_initdata __attribute__ ((__section__ (".early_init_data")))
/* Access init data */
#define INITDATA(var) *(typeof(var) *)((ulong)(&var) - \
@@ -53,7 +53,7 @@ static inline void early_init(void)
#define RELOC(a) a
#define RELOC_VAR(v) v
-#define __initdata
+#define __early_initdata
#define INITDATA(var) var
diff --git a/lib/Kconfig b/lib/Kconfig
index 28c92cd2b3..9eca161bef 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -10,6 +10,22 @@ config CRC32
config CRC16
bool
+menuconfig DIGEST
+ bool "Digest"
+
+if DIGEST
+
+config MD5
+ bool "MD5"
+
+config SHA1
+ bool "SHA1"
+
+config SHA256
+ bool "SHA256"
+
+endif
+
config GENERIC_FIND_NEXT_BIT
def_bool n
diff --git a/lib/Makefile b/lib/Makefile
index 8c5df085b0..0c62917b43 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -34,3 +34,6 @@ obj-y += lzo/
obj-y += show_progress.o
obj-$(CONFIG_LZO_DECOMPRESS) += decompress_unlzo.o
obj-$(CONFIG_PROCESS_ESCAPE_SEQUENCE) += process_escape_sequence.o
+obj-$(CONFIG_MD5) += md5.o
+obj-$(CONFIG_SHA1) += sha1.o
+obj-$(CONFIG_SHA256) += sha256.o
diff --git a/lib/driver.c b/lib/driver.c
index b60074511f..66d8fee38f 100644
--- a/lib/driver.c
+++ b/lib/driver.c
@@ -45,11 +45,21 @@ static LIST_HEAD(active);
struct device_d *get_device_by_name(const char *name)
{
struct device_d *dev;
- char devname[MAX_DRIVER_NAME + 3];
for_each_device(dev) {
- sprintf(devname, "%s%d", dev->name, dev->id);
- if(!strcmp(name, devname))
+ if(!strcmp(dev_name(dev), name))
+ return dev;
+ }
+
+ return NULL;
+}
+
+struct device_d *get_device_by_name_id(const char *name, int id)
+{
+ struct device_d *dev;
+
+ for_each_device(dev) {
+ if(!strcmp(dev->name, name) && id == dev->id)
return dev;
}
@@ -59,11 +69,9 @@ struct device_d *get_device_by_name(const char *name)
int get_free_deviceid(const char *name_template)
{
int i = 0;
- char name[MAX_DRIVER_NAME + 3];
while (1) {
- sprintf(name, "%s%d", name_template, i);
- if (!get_device_by_name(name))
+ if (!get_device_by_name_id(name_template, i))
return i;
i++;
};
@@ -95,9 +103,17 @@ int register_device(struct device_d *new_device)
{
struct driver_d *drv;
- new_device->id = get_free_deviceid(new_device->name);
+ if (new_device->id < 0) {
+ new_device->id = get_free_deviceid(new_device->name);
+ } else {
+ if (get_device_by_name_id(new_device->name, new_device->id)) {
+ eprintf("register_device: already registered %s\n",
+ dev_name(new_device));
+ return -EINVAL;
+ }
+ }
- debug ("register_device: %s\n",new_device->name);
+ debug ("register_device: %s\n", dev_name(new_device));
if (!new_device->bus) {
// dev_err(new_device, "no bus type associated. Needs fixup\n");
@@ -120,7 +136,7 @@ EXPORT_SYMBOL(register_device);
int unregister_device(struct device_d *old_dev)
{
- debug("unregister_device: %s:%s\n",old_dev->name, old_dev->id);
+ debug("unregister_device: %s\n", dev_name(old_dev));
if (!list_empty(&old_dev->children)) {
errno = -EBUSY;
@@ -164,7 +180,7 @@ struct driver_d *get_driver_by_name(const char *name)
static void noinfo(struct device_d *dev)
{
- printf("no info available for %s\n", dev->name);
+ printf("no info available for %s\n", dev_name(dev));
}
static void noshortinfo(struct device_d *dev)
@@ -237,7 +253,7 @@ static int do_devinfo_subtree(struct device_d *dev, int depth, char edge)
for (i = 0; i < depth; i++)
printf("| ");
- printf("%c----%s%d", edge, dev->name, dev->id);
+ printf("%c----%s", edge, dev_name(dev));
if (!list_empty(&dev->cdevs)) {
printf(" (");
list_for_each_entry(cdev, &dev->cdevs, devices_list) {
@@ -264,7 +280,7 @@ const char *dev_id(const struct device_d *dev)
{
static char buf[sizeof(unsigned long) * 2];
- sprintf(buf, "%s%d", dev->name, dev->id);
+ sprintf(buf, FORMAT_DRIVER_MANE_ID, dev->name, dev->id);
return buf;
}
diff --git a/lib/md5.c b/lib/md5.c
new file mode 100644
index 0000000000..6c4ca1dd59
--- /dev/null
+++ b/lib/md5.c
@@ -0,0 +1,317 @@
+/*
+ * This file was transplanted with slight modifications from Linux sources
+ * (fs/cifs/md5.c) into U-Boot by Bartlomiej Sieka <tur@semihalf.com>.
+ */
+
+/*
+ * This code implements the MD5 message-digest algorithm.
+ * The algorithm is due to Ron Rivest. This code was
+ * written by Colin Plumb in 1993, no copyright is claimed.
+ * This code is in the public domain; do with it what you wish.
+ *
+ * Equivalent code is available from RSA Data Security, Inc.
+ * This code has been tested against that, and is equivalent,
+ * except that you don't need to include two pages of legalese
+ * with every copy.
+ *
+ * To compute the message digest of a chunk of bytes, declare an
+ * MD5Context structure, pass it to MD5Init, call MD5Update as
+ * needed on buffers full of bytes, and then call MD5Final, which
+ * will fill a supplied 16-byte array with the digest.
+ */
+
+/* This code slightly modified to fit into Samba by
+ abartlet@samba.org Jun 2001
+ and to fit the cifs vfs by
+ Steve French sfrench@us.ibm.com */
+
+#include <common.h>
+#include <digest.h>
+#include <init.h>
+
+struct MD5Context {
+ __u32 buf[4];
+ __u32 bits[2];
+ unsigned char in[64];
+};
+
+static void
+MD5Transform(__u32 buf[4], __u32 const in[16]);
+
+/*
+ * Note: this code is harmless on little-endian machines.
+ */
+static void
+byteReverse(unsigned char *buf, unsigned longs)
+{
+ __u32 t;
+ do {
+ t = (__u32) ((unsigned) buf[3] << 8 | buf[2]) << 16 |
+ ((unsigned) buf[1] << 8 | buf[0]);
+ *(__u32 *) buf = t;
+ buf += 4;
+ } while (--longs);
+}
+
+/*
+ * Start MD5 accumulation. Set bit count to 0 and buffer to mysterious
+ * initialization constants.
+ */
+static void
+MD5Init(struct MD5Context *ctx)
+{
+ ctx->buf[0] = 0x67452301;
+ ctx->buf[1] = 0xefcdab89;
+ ctx->buf[2] = 0x98badcfe;
+ ctx->buf[3] = 0x10325476;
+
+ ctx->bits[0] = 0;
+ ctx->bits[1] = 0;
+}
+
+/*
+ * Update context to reflect the concatenation of another buffer full
+ * of bytes.
+ */
+static void
+MD5Update(struct MD5Context *ctx, unsigned char const *buf, unsigned len)
+{
+ register __u32 t;
+
+ /* Update bitcount */
+
+ t = ctx->bits[0];
+ if ((ctx->bits[0] = t + ((__u32) len << 3)) < t)
+ ctx->bits[1]++; /* Carry from low to high */
+ ctx->bits[1] += len >> 29;
+
+ t = (t >> 3) & 0x3f; /* Bytes already in shsInfo->data */
+
+ /* Handle any leading odd-sized chunks */
+
+ if (t) {
+ unsigned char *p = (unsigned char *) ctx->in + t;
+
+ t = 64 - t;
+ if (len < t) {
+ memmove(p, buf, len);
+ return;
+ }
+ memmove(p, buf, t);
+ byteReverse(ctx->in, 16);
+ MD5Transform(ctx->buf, (__u32 *) ctx->in);
+ buf += t;
+ len -= t;
+ }
+ /* Process data in 64-byte chunks */
+
+ while (len >= 64) {
+ memmove(ctx->in, buf, 64);
+ byteReverse(ctx->in, 16);
+ MD5Transform(ctx->buf, (__u32 *) ctx->in);
+ buf += 64;
+ len -= 64;
+ }
+
+ /* Handle any remaining bytes of data. */
+
+ memmove(ctx->in, buf, len);
+}
+
+/*
+ * Final wrapup - pad to 64-byte boundary with the bit pattern
+ * 1 0* (64-bit count of bits processed, MSB-first)
+ */
+static void
+MD5Final(unsigned char digest[16], struct MD5Context *ctx)
+{
+ unsigned int count;
+ unsigned char *p;
+
+ /* Compute number of bytes mod 64 */
+ count = (ctx->bits[0] >> 3) & 0x3F;
+
+ /* Set the first char of padding to 0x80. This is safe since there is
+ always at least one byte free */
+ p = ctx->in + count;
+ *p++ = 0x80;
+
+ /* Bytes of padding needed to make 64 bytes */
+ count = 64 - 1 - count;
+
+ /* Pad out to 56 mod 64 */
+ if (count < 8) {
+ /* Two lots of padding: Pad the first block to 64 bytes */
+ memset(p, 0, count);
+ byteReverse(ctx->in, 16);
+ MD5Transform(ctx->buf, (__u32 *) ctx->in);
+
+ /* Now fill the next block with 56 bytes */
+ memset(ctx->in, 0, 56);
+ } else {
+ /* Pad block to 56 bytes */
+ memset(p, 0, count - 8);
+ }
+ byteReverse(ctx->in, 14);
+
+ /* Append length in bits and transform */
+ ((__u32 *) ctx->in)[14] = ctx->bits[0];
+ ((__u32 *) ctx->in)[15] = ctx->bits[1];
+
+ MD5Transform(ctx->buf, (__u32 *) ctx->in);
+ byteReverse((unsigned char *) ctx->buf, 4);
+ memmove(digest, ctx->buf, 16);
+ memset(ctx, 0, sizeof(*ctx)); /* In case it's sensitive */
+}
+
+/* The four core functions - F1 is optimized somewhat */
+
+/* #define F1(x, y, z) (x & y | ~x & z) */
+#define F1(x, y, z) (z ^ (x & (y ^ z)))
+#define F2(x, y, z) F1(z, x, y)
+#define F3(x, y, z) (x ^ y ^ z)
+#define F4(x, y, z) (y ^ (x | ~z))
+
+/* This is the central step in the MD5 algorithm. */
+#define MD5STEP(f, w, x, y, z, data, s) \
+ ( w += f(x, y, z) + data, w = w<<s | w>>(32-s), w += x )
+
+/*
+ * The core of the MD5 algorithm, this alters an existing MD5 hash to
+ * reflect the addition of 16 longwords of new data. MD5Update blocks
+ * the data and converts bytes into longwords for this routine.
+ */
+static void
+MD5Transform(__u32 buf[4], __u32 const in[16])
+{
+ register __u32 a, b, c, d;
+
+ a = buf[0];
+ b = buf[1];
+ c = buf[2];
+ d = buf[3];
+
+ MD5STEP(F1, a, b, c, d, in[0] + 0xd76aa478, 7);
+ MD5STEP(F1, d, a, b, c, in[1] + 0xe8c7b756, 12);
+ MD5STEP(F1, c, d, a, b, in[2] + 0x242070db, 17);
+ MD5STEP(F1, b, c, d, a, in[3] + 0xc1bdceee, 22);
+ MD5STEP(F1, a, b, c, d, in[4] + 0xf57c0faf, 7);
+ MD5STEP(F1, d, a, b, c, in[5] + 0x4787c62a, 12);
+ MD5STEP(F1, c, d, a, b, in[6] + 0xa8304613, 17);
+ MD5STEP(F1, b, c, d, a, in[7] + 0xfd469501, 22);
+ MD5STEP(F1, a, b, c, d, in[8] + 0x698098d8, 7);
+ MD5STEP(F1, d, a, b, c, in[9] + 0x8b44f7af, 12);
+ MD5STEP(F1, c, d, a, b, in[10] + 0xffff5bb1, 17);
+ MD5STEP(F1, b, c, d, a, in[11] + 0x895cd7be, 22);
+ MD5STEP(F1, a, b, c, d, in[12] + 0x6b901122, 7);
+ MD5STEP(F1, d, a, b, c, in[13] + 0xfd987193, 12);
+ MD5STEP(F1, c, d, a, b, in[14] + 0xa679438e, 17);
+ MD5STEP(F1, b, c, d, a, in[15] + 0x49b40821, 22);
+
+ MD5STEP(F2, a, b, c, d, in[1] + 0xf61e2562, 5);
+ MD5STEP(F2, d, a, b, c, in[6] + 0xc040b340, 9);
+ MD5STEP(F2, c, d, a, b, in[11] + 0x265e5a51, 14);
+ MD5STEP(F2, b, c, d, a, in[0] + 0xe9b6c7aa, 20);
+ MD5STEP(F2, a, b, c, d, in[5] + 0xd62f105d, 5);
+ MD5STEP(F2, d, a, b, c, in[10] + 0x02441453, 9);
+ MD5STEP(F2, c, d, a, b, in[15] + 0xd8a1e681, 14);
+ MD5STEP(F2, b, c, d, a, in[4] + 0xe7d3fbc8, 20);
+ MD5STEP(F2, a, b, c, d, in[9] + 0x21e1cde6, 5);
+ MD5STEP(F2, d, a, b, c, in[14] + 0xc33707d6, 9);
+ MD5STEP(F2, c, d, a, b, in[3] + 0xf4d50d87, 14);
+ MD5STEP(F2, b, c, d, a, in[8] + 0x455a14ed, 20);
+ MD5STEP(F2, a, b, c, d, in[13] + 0xa9e3e905, 5);
+ MD5STEP(F2, d, a, b, c, in[2] + 0xfcefa3f8, 9);
+ MD5STEP(F2, c, d, a, b, in[7] + 0x676f02d9, 14);
+ MD5STEP(F2, b, c, d, a, in[12] + 0x8d2a4c8a, 20);
+
+ MD5STEP(F3, a, b, c, d, in[5] + 0xfffa3942, 4);
+ MD5STEP(F3, d, a, b, c, in[8] + 0x8771f681, 11);
+ MD5STEP(F3, c, d, a, b, in[11] + 0x6d9d6122, 16);
+ MD5STEP(F3, b, c, d, a, in[14] + 0xfde5380c, 23);
+ MD5STEP(F3, a, b, c, d, in[1] + 0xa4beea44, 4);
+ MD5STEP(F3, d, a, b, c, in[4] + 0x4bdecfa9, 11);
+ MD5STEP(F3, c, d, a, b, in[7] + 0xf6bb4b60, 16);
+ MD5STEP(F3, b, c, d, a, in[10] + 0xbebfbc70, 23);
+ MD5STEP(F3, a, b, c, d, in[13] + 0x289b7ec6, 4);
+ MD5STEP(F3, d, a, b, c, in[0] + 0xeaa127fa, 11);
+ MD5STEP(F3, c, d, a, b, in[3] + 0xd4ef3085, 16);
+ MD5STEP(F3, b, c, d, a, in[6] + 0x04881d05, 23);
+ MD5STEP(F3, a, b, c, d, in[9] + 0xd9d4d039, 4);
+ MD5STEP(F3, d, a, b, c, in[12] + 0xe6db99e5, 11);
+ MD5STEP(F3, c, d, a, b, in[15] + 0x1fa27cf8, 16);
+ MD5STEP(F3, b, c, d, a, in[2] + 0xc4ac5665, 23);
+
+ MD5STEP(F4, a, b, c, d, in[0] + 0xf4292244, 6);
+ MD5STEP(F4, d, a, b, c, in[7] + 0x432aff97, 10);
+ MD5STEP(F4, c, d, a, b, in[14] + 0xab9423a7, 15);
+ MD5STEP(F4, b, c, d, a, in[5] + 0xfc93a039, 21);
+ MD5STEP(F4, a, b, c, d, in[12] + 0x655b59c3, 6);
+ MD5STEP(F4, d, a, b, c, in[3] + 0x8f0ccc92, 10);
+ MD5STEP(F4, c, d, a, b, in[10] + 0xffeff47d, 15);
+ MD5STEP(F4, b, c, d, a, in[1] + 0x85845dd1, 21);
+ MD5STEP(F4, a, b, c, d, in[8] + 0x6fa87e4f, 6);
+ MD5STEP(F4, d, a, b, c, in[15] + 0xfe2ce6e0, 10);
+ MD5STEP(F4, c, d, a, b, in[6] + 0xa3014314, 15);
+ MD5STEP(F4, b, c, d, a, in[13] + 0x4e0811a1, 21);
+ MD5STEP(F4, a, b, c, d, in[4] + 0xf7537e82, 6);
+ MD5STEP(F4, d, a, b, c, in[11] + 0xbd3af235, 10);
+ MD5STEP(F4, c, d, a, b, in[2] + 0x2ad7d2bb, 15);
+ MD5STEP(F4, b, c, d, a, in[9] + 0xeb86d391, 21);
+
+ buf[0] += a;
+ buf[1] += b;
+ buf[2] += c;
+ buf[3] += d;
+}
+
+struct md5 {
+ struct MD5Context context;
+ struct digest d;
+};
+
+static int digest_md5_init(struct digest *d)
+{
+ struct md5 *m = container_of(d, struct md5, d);
+
+ MD5Init(&m->context);
+
+ return 0;
+}
+
+static int digest_md5_update(struct digest *d, const void *data,
+ unsigned long len)
+{
+ struct md5 *m = container_of(d, struct md5, d);
+
+ MD5Update(&m->context, data, len);
+
+ return 0;
+}
+
+static int digest_md5_final(struct digest *d, unsigned char *md)
+{
+ struct md5 *m = container_of(d, struct md5, d);
+
+ MD5Final(md, &m->context);
+
+ return 0;
+}
+
+static struct md5 m = {
+ .d = {
+ .name = "md5",
+ .init = digest_md5_init,
+ .update = digest_md5_update,
+ .final = digest_md5_final,
+ .length = 16,
+ }
+};
+
+static int md5_digest_register(void)
+{
+ digest_register(&m.d);
+
+ return 0;
+}
+device_initcall(md5_digest_register);
diff --git a/lib/sha1.c b/lib/sha1.c
new file mode 100644
index 0000000000..b4e2abc003
--- /dev/null
+++ b/lib/sha1.c
@@ -0,0 +1,382 @@
+/*
+ * Heiko Schocher, DENX Software Engineering, hs@denx.de.
+ * based on:
+ * FIPS-180-1 compliant SHA-1 implementation
+ *
+ * Copyright (C) 2003-2006 Christophe Devine
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License, version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+/*
+ * The SHA-1 standard was published by NIST in 1993.
+ *
+ * http://www.itl.nist.gov/fipspubs/fip180-1.htm
+ */
+
+#include <common.h>
+#include <digest.h>
+#include <init.h>
+#include <linux/string.h>
+#include <asm/byteorder.h>
+
+#define SHA1_SUM_POS -0x20
+#define SHA1_SUM_LEN 20
+
+typedef struct
+{
+ uint32_t total[2]; /*!< number of bytes processed */
+ uint32_t state[5]; /*!< intermediate digest state */
+ uint8_t buffer[64]; /*!< data block being processed */
+}
+sha1_context;
+
+/*
+ * 32-bit integer manipulation macros (big endian)
+ */
+#define GET_UINT32_BE(n,b,i) (n) = be32_to_cpu(((uint32_t*)(b))[i / 4])
+#define PUT_UINT32_BE(n,b,i) ((uint32_t*)(b))[i / 4] = cpu_to_be32(n)
+
+/*
+ * SHA-1 context setup
+ */
+static void sha1_starts (sha1_context * ctx)
+{
+ ctx->total[0] = 0;
+ ctx->total[1] = 0;
+
+ ctx->state[0] = 0x67452301;
+ ctx->state[1] = 0xEFCDAB89;
+ ctx->state[2] = 0x98BADCFE;
+ ctx->state[3] = 0x10325476;
+ ctx->state[4] = 0xC3D2E1F0;
+}
+
+static void sha1_process (sha1_context * ctx, uint8_t data[64])
+{
+ uint32_t temp, W[16], A, B, C, D, E;
+
+ GET_UINT32_BE (W[0], data, 0);
+ GET_UINT32_BE (W[1], data, 4);
+ GET_UINT32_BE (W[2], data, 8);
+ GET_UINT32_BE (W[3], data, 12);
+ GET_UINT32_BE (W[4], data, 16);
+ GET_UINT32_BE (W[5], data, 20);
+ GET_UINT32_BE (W[6], data, 24);
+ GET_UINT32_BE (W[7], data, 28);
+ GET_UINT32_BE (W[8], data, 32);
+ GET_UINT32_BE (W[9], data, 36);
+ GET_UINT32_BE (W[10], data, 40);
+ GET_UINT32_BE (W[11], data, 44);
+ GET_UINT32_BE (W[12], data, 48);
+ GET_UINT32_BE (W[13], data, 52);
+ GET_UINT32_BE (W[14], data, 56);
+ GET_UINT32_BE (W[15], data, 60);
+
+#define S(x,n) ((x << n) | ((x & 0xFFFFFFFF) >> (32 - n)))
+
+#define R(t) ( \
+ temp = W[(t - 3) & 0x0F] ^ W[(t - 8) & 0x0F] ^ \
+ W[(t - 14) & 0x0F] ^ W[ t & 0x0F], \
+ ( W[t & 0x0F] = S(temp,1) ) \
+)
+
+#define P(a,b,c,d,e,x) { \
+ e += S(a,5) + F(b,c,d) + K + x; b = S(b,30); \
+}
+
+ A = ctx->state[0];
+ B = ctx->state[1];
+ C = ctx->state[2];
+ D = ctx->state[3];
+ E = ctx->state[4];
+
+#define F(x,y,z) (z ^ (x & (y ^ z)))
+#define K 0x5A827999
+
+ P (A, B, C, D, E, W[0]);
+ P (E, A, B, C, D, W[1]);
+ P (D, E, A, B, C, W[2]);
+ P (C, D, E, A, B, W[3]);
+ P (B, C, D, E, A, W[4]);
+ P (A, B, C, D, E, W[5]);
+ P (E, A, B, C, D, W[6]);
+ P (D, E, A, B, C, W[7]);
+ P (C, D, E, A, B, W[8]);
+ P (B, C, D, E, A, W[9]);
+ P (A, B, C, D, E, W[10]);
+ P (E, A, B, C, D, W[11]);
+ P (D, E, A, B, C, W[12]);
+ P (C, D, E, A, B, W[13]);
+ P (B, C, D, E, A, W[14]);
+ P (A, B, C, D, E, W[15]);
+ P (E, A, B, C, D, R (16));
+ P (D, E, A, B, C, R (17));
+ P (C, D, E, A, B, R (18));
+ P (B, C, D, E, A, R (19));
+
+#undef K
+#undef F
+
+#define F(x,y,z) (x ^ y ^ z)
+#define K 0x6ED9EBA1
+
+ P (A, B, C, D, E, R (20));
+ P (E, A, B, C, D, R (21));
+ P (D, E, A, B, C, R (22));
+ P (C, D, E, A, B, R (23));
+ P (B, C, D, E, A, R (24));
+ P (A, B, C, D, E, R (25));
+ P (E, A, B, C, D, R (26));
+ P (D, E, A, B, C, R (27));
+ P (C, D, E, A, B, R (28));
+ P (B, C, D, E, A, R (29));
+ P (A, B, C, D, E, R (30));
+ P (E, A, B, C, D, R (31));
+ P (D, E, A, B, C, R (32));
+ P (C, D, E, A, B, R (33));
+ P (B, C, D, E, A, R (34));
+ P (A, B, C, D, E, R (35));
+ P (E, A, B, C, D, R (36));
+ P (D, E, A, B, C, R (37));
+ P (C, D, E, A, B, R (38));
+ P (B, C, D, E, A, R (39));
+
+#undef K
+#undef F
+
+#define F(x,y,z) ((x & y) | (z & (x | y)))
+#define K 0x8F1BBCDC
+
+ P (A, B, C, D, E, R (40));
+ P (E, A, B, C, D, R (41));
+ P (D, E, A, B, C, R (42));
+ P (C, D, E, A, B, R (43));
+ P (B, C, D, E, A, R (44));
+ P (A, B, C, D, E, R (45));
+ P (E, A, B, C, D, R (46));
+ P (D, E, A, B, C, R (47));
+ P (C, D, E, A, B, R (48));
+ P (B, C, D, E, A, R (49));
+ P (A, B, C, D, E, R (50));
+ P (E, A, B, C, D, R (51));
+ P (D, E, A, B, C, R (52));
+ P (C, D, E, A, B, R (53));
+ P (B, C, D, E, A, R (54));
+ P (A, B, C, D, E, R (55));
+ P (E, A, B, C, D, R (56));
+ P (D, E, A, B, C, R (57));
+ P (C, D, E, A, B, R (58));
+ P (B, C, D, E, A, R (59));
+
+#undef K
+#undef F
+
+#define F(x,y,z) (x ^ y ^ z)
+#define K 0xCA62C1D6
+
+ P (A, B, C, D, E, R (60));
+ P (E, A, B, C, D, R (61));
+ P (D, E, A, B, C, R (62));
+ P (C, D, E, A, B, R (63));
+ P (B, C, D, E, A, R (64));
+ P (A, B, C, D, E, R (65));
+ P (E, A, B, C, D, R (66));
+ P (D, E, A, B, C, R (67));
+ P (C, D, E, A, B, R (68));
+ P (B, C, D, E, A, R (69));
+ P (A, B, C, D, E, R (70));
+ P (E, A, B, C, D, R (71));
+ P (D, E, A, B, C, R (72));
+ P (C, D, E, A, B, R (73));
+ P (B, C, D, E, A, R (74));
+ P (A, B, C, D, E, R (75));
+ P (E, A, B, C, D, R (76));
+ P (D, E, A, B, C, R (77));
+ P (C, D, E, A, B, R (78));
+ P (B, C, D, E, A, R (79));
+
+#undef K
+#undef F
+
+ ctx->state[0] += A;
+ ctx->state[1] += B;
+ ctx->state[2] += C;
+ ctx->state[3] += D;
+ ctx->state[4] += E;
+}
+
+/*
+ * SHA-1 process buffer
+ */
+static void sha1_update (sha1_context * ctx, uint8_t *input, uint32_t ilen)
+{
+ uint32_t fill, left;
+
+ if (ilen <= 0)
+ return;
+
+ left = ctx->total[0] & 0x3F;
+ fill = 64 - left;
+
+ ctx->total[0] += ilen;
+ ctx->total[0] &= 0xFFFFFFFF;
+
+ if (ctx->total[0] < ilen)
+ ctx->total[1]++;
+
+ if (left && ilen >= fill) {
+ memcpy ((void *) (ctx->buffer + left), (void *) input, fill);
+ sha1_process (ctx, ctx->buffer);
+ input += fill;
+ ilen -= fill;
+ left = 0;
+ }
+
+ while (ilen >= 64) {
+ sha1_process (ctx, input);
+ input += 64;
+ ilen -= 64;
+ }
+
+ if (ilen > 0) {
+ memcpy ((void *) (ctx->buffer + left), (void *) input, ilen);
+ }
+}
+
+static uint8_t sha1_padding[64] = {
+ 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+};
+
+/*
+ * SHA-1 final digest
+ */
+static void sha1_finish (sha1_context * ctx, uint8_t output[20])
+{
+ uint32_t last, padn;
+ uint32_t high, low;
+ uint8_t msglen[8];
+
+ high = (ctx->total[0] >> 29)
+ | (ctx->total[1] << 3);
+ low = (ctx->total[0] << 3);
+
+ PUT_UINT32_BE (high, msglen, 0);
+ PUT_UINT32_BE (low, msglen, 4);
+
+ last = ctx->total[0] & 0x3F;
+ padn = (last < 56) ? (56 - last) : (120 - last);
+
+ sha1_update (ctx, sha1_padding, padn);
+ sha1_update (ctx, msglen, 8);
+
+ PUT_UINT32_BE (ctx->state[0], output, 0);
+ PUT_UINT32_BE (ctx->state[1], output, 4);
+ PUT_UINT32_BE (ctx->state[2], output, 8);
+ PUT_UINT32_BE (ctx->state[3], output, 12);
+ PUT_UINT32_BE (ctx->state[4], output, 16);
+}
+
+/*
+ * Output = HMAC-SHA-1( input buffer, hmac key )
+ */
+void sha1_hmac (uint8_t *key, uint32_t keylen,
+ uint8_t *input, uint32_t ilen, uint8_t output[20])
+{
+ uint32_t i;
+ sha1_context ctx;
+ uint8_t k_ipad[64];
+ uint8_t k_opad[64];
+ uint8_t tmpbuf[20];
+
+ memset (k_ipad, 0x36, 64);
+ memset (k_opad, 0x5C, 64);
+
+ for (i = 0; i < keylen; i++) {
+ if (i >= 64)
+ break;
+
+ k_ipad[i] ^= key[i];
+ k_opad[i] ^= key[i];
+ }
+
+ sha1_starts (&ctx);
+ sha1_update (&ctx, k_ipad, 64);
+ sha1_update (&ctx, input, ilen);
+ sha1_finish (&ctx, tmpbuf);
+
+ sha1_starts (&ctx);
+ sha1_update (&ctx, k_opad, 64);
+ sha1_update (&ctx, tmpbuf, 20);
+ sha1_finish (&ctx, output);
+
+ memset (k_ipad, 0, 64);
+ memset (k_opad, 0, 64);
+ memset (tmpbuf, 0, 20);
+ memset (&ctx, 0, sizeof (sha1_context));
+}
+
+struct sha1 {
+ sha1_context context;
+ struct digest d;
+};
+
+static int digest_sha1_init(struct digest *d)
+{
+ struct sha1 *m = container_of(d, struct sha1, d);
+
+ sha1_starts(&m->context);
+
+ return 0;
+}
+
+static int digest_sha1_update(struct digest *d, const void *data,
+ unsigned long len)
+{
+ struct sha1 *m = container_of(d, struct sha1, d);
+
+ sha1_update(&m->context, (uint8_t*)data, len);
+
+ return 0;
+}
+
+static int digest_sha1_final(struct digest *d, unsigned char *md)
+{
+ struct sha1 *m = container_of(d, struct sha1, d);
+
+ sha1_finish(&m->context, md);
+
+ return 0;
+}
+
+static struct sha1 m = {
+ .d = {
+ .name = "sha1",
+ .init = digest_sha1_init,
+ .update = digest_sha1_update,
+ .final = digest_sha1_final,
+ .length = SHA1_SUM_LEN,
+ }
+};
+
+static int sha1_digest_register(void)
+{
+ digest_register(&m.d);
+
+ return 0;
+}
+device_initcall(sha1_digest_register);
diff --git a/lib/sha256.c b/lib/sha256.c
new file mode 100644
index 0000000000..975ebe9f94
--- /dev/null
+++ b/lib/sha256.c
@@ -0,0 +1,306 @@
+/*
+ * FIPS-180-2 compliant SHA-256 implementation
+ *
+ * Copyright (C) 2001-2003 Christophe Devine
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include <common.h>
+#include <digest.h>
+#include <init.h>
+#include <linux/string.h>
+#include <asm/byteorder.h>
+
+#define SHA256_SUM_LEN 32
+
+typedef struct {
+ uint32_t total[2];
+ uint32_t state[8];
+ uint8_t buffer[64];
+} sha256_context;
+
+/*
+ * 32-bit integer manipulation macros (big endian)
+ */
+#define GET_UINT32_BE(n,b,i) (n) = be32_to_cpu(((uint32_t*)(b))[i / 4])
+#define PUT_UINT32_BE(n,b,i) ((uint32_t*)(b))[i / 4] = cpu_to_be32(n)
+
+static void sha256_starts(sha256_context * ctx)
+{
+ ctx->total[0] = 0;
+ ctx->total[1] = 0;
+
+ ctx->state[0] = 0x6A09E667;
+ ctx->state[1] = 0xBB67AE85;
+ ctx->state[2] = 0x3C6EF372;
+ ctx->state[3] = 0xA54FF53A;
+ ctx->state[4] = 0x510E527F;
+ ctx->state[5] = 0x9B05688C;
+ ctx->state[6] = 0x1F83D9AB;
+ ctx->state[7] = 0x5BE0CD19;
+}
+
+static void sha256_process(sha256_context * ctx, uint8_t data[64])
+{
+ uint32_t temp1, temp2;
+ uint32_t W[64];
+ uint32_t A, B, C, D, E, F, G, H;
+
+ GET_UINT32_BE(W[0], data, 0);
+ GET_UINT32_BE(W[1], data, 4);
+ GET_UINT32_BE(W[2], data, 8);
+ GET_UINT32_BE(W[3], data, 12);
+ GET_UINT32_BE(W[4], data, 16);
+ GET_UINT32_BE(W[5], data, 20);
+ GET_UINT32_BE(W[6], data, 24);
+ GET_UINT32_BE(W[7], data, 28);
+ GET_UINT32_BE(W[8], data, 32);
+ GET_UINT32_BE(W[9], data, 36);
+ GET_UINT32_BE(W[10], data, 40);
+ GET_UINT32_BE(W[11], data, 44);
+ GET_UINT32_BE(W[12], data, 48);
+ GET_UINT32_BE(W[13], data, 52);
+ GET_UINT32_BE(W[14], data, 56);
+ GET_UINT32_BE(W[15], data, 60);
+
+#define SHR(x,n) ((x & 0xFFFFFFFF) >> n)
+#define ROTR(x,n) (SHR(x,n) | (x << (32 - n)))
+
+#define S0(x) (ROTR(x, 7) ^ ROTR(x,18) ^ SHR(x, 3))
+#define S1(x) (ROTR(x,17) ^ ROTR(x,19) ^ SHR(x,10))
+
+#define S2(x) (ROTR(x, 2) ^ ROTR(x,13) ^ ROTR(x,22))
+#define S3(x) (ROTR(x, 6) ^ ROTR(x,11) ^ ROTR(x,25))
+
+#define F0(x,y,z) ((x & y) | (z & (x | y)))
+#define F1(x,y,z) (z ^ (x & (y ^ z)))
+
+#define R(t) \
+( \
+ W[t] = S1(W[t - 2]) + W[t - 7] + \
+ S0(W[t - 15]) + W[t - 16] \
+)
+
+#define P(a,b,c,d,e,f,g,h,x,K) { \
+ temp1 = h + S3(e) + F1(e,f,g) + K + x; \
+ temp2 = S2(a) + F0(a,b,c); \
+ d += temp1; h = temp1 + temp2; \
+}
+
+ A = ctx->state[0];
+ B = ctx->state[1];
+ C = ctx->state[2];
+ D = ctx->state[3];
+ E = ctx->state[4];
+ F = ctx->state[5];
+ G = ctx->state[6];
+ H = ctx->state[7];
+
+ P(A, B, C, D, E, F, G, H, W[0], 0x428A2F98);
+ P(H, A, B, C, D, E, F, G, W[1], 0x71374491);
+ P(G, H, A, B, C, D, E, F, W[2], 0xB5C0FBCF);
+ P(F, G, H, A, B, C, D, E, W[3], 0xE9B5DBA5);
+ P(E, F, G, H, A, B, C, D, W[4], 0x3956C25B);
+ P(D, E, F, G, H, A, B, C, W[5], 0x59F111F1);
+ P(C, D, E, F, G, H, A, B, W[6], 0x923F82A4);
+ P(B, C, D, E, F, G, H, A, W[7], 0xAB1C5ED5);
+ P(A, B, C, D, E, F, G, H, W[8], 0xD807AA98);
+ P(H, A, B, C, D, E, F, G, W[9], 0x12835B01);
+ P(G, H, A, B, C, D, E, F, W[10], 0x243185BE);
+ P(F, G, H, A, B, C, D, E, W[11], 0x550C7DC3);
+ P(E, F, G, H, A, B, C, D, W[12], 0x72BE5D74);
+ P(D, E, F, G, H, A, B, C, W[13], 0x80DEB1FE);
+ P(C, D, E, F, G, H, A, B, W[14], 0x9BDC06A7);
+ P(B, C, D, E, F, G, H, A, W[15], 0xC19BF174);
+ P(A, B, C, D, E, F, G, H, R(16), 0xE49B69C1);
+ P(H, A, B, C, D, E, F, G, R(17), 0xEFBE4786);
+ P(G, H, A, B, C, D, E, F, R(18), 0x0FC19DC6);
+ P(F, G, H, A, B, C, D, E, R(19), 0x240CA1CC);
+ P(E, F, G, H, A, B, C, D, R(20), 0x2DE92C6F);
+ P(D, E, F, G, H, A, B, C, R(21), 0x4A7484AA);
+ P(C, D, E, F, G, H, A, B, R(22), 0x5CB0A9DC);
+ P(B, C, D, E, F, G, H, A, R(23), 0x76F988DA);
+ P(A, B, C, D, E, F, G, H, R(24), 0x983E5152);
+ P(H, A, B, C, D, E, F, G, R(25), 0xA831C66D);
+ P(G, H, A, B, C, D, E, F, R(26), 0xB00327C8);
+ P(F, G, H, A, B, C, D, E, R(27), 0xBF597FC7);
+ P(E, F, G, H, A, B, C, D, R(28), 0xC6E00BF3);
+ P(D, E, F, G, H, A, B, C, R(29), 0xD5A79147);
+ P(C, D, E, F, G, H, A, B, R(30), 0x06CA6351);
+ P(B, C, D, E, F, G, H, A, R(31), 0x14292967);
+ P(A, B, C, D, E, F, G, H, R(32), 0x27B70A85);
+ P(H, A, B, C, D, E, F, G, R(33), 0x2E1B2138);
+ P(G, H, A, B, C, D, E, F, R(34), 0x4D2C6DFC);
+ P(F, G, H, A, B, C, D, E, R(35), 0x53380D13);
+ P(E, F, G, H, A, B, C, D, R(36), 0x650A7354);
+ P(D, E, F, G, H, A, B, C, R(37), 0x766A0ABB);
+ P(C, D, E, F, G, H, A, B, R(38), 0x81C2C92E);
+ P(B, C, D, E, F, G, H, A, R(39), 0x92722C85);
+ P(A, B, C, D, E, F, G, H, R(40), 0xA2BFE8A1);
+ P(H, A, B, C, D, E, F, G, R(41), 0xA81A664B);
+ P(G, H, A, B, C, D, E, F, R(42), 0xC24B8B70);
+ P(F, G, H, A, B, C, D, E, R(43), 0xC76C51A3);
+ P(E, F, G, H, A, B, C, D, R(44), 0xD192E819);
+ P(D, E, F, G, H, A, B, C, R(45), 0xD6990624);
+ P(C, D, E, F, G, H, A, B, R(46), 0xF40E3585);
+ P(B, C, D, E, F, G, H, A, R(47), 0x106AA070);
+ P(A, B, C, D, E, F, G, H, R(48), 0x19A4C116);
+ P(H, A, B, C, D, E, F, G, R(49), 0x1E376C08);
+ P(G, H, A, B, C, D, E, F, R(50), 0x2748774C);
+ P(F, G, H, A, B, C, D, E, R(51), 0x34B0BCB5);
+ P(E, F, G, H, A, B, C, D, R(52), 0x391C0CB3);
+ P(D, E, F, G, H, A, B, C, R(53), 0x4ED8AA4A);
+ P(C, D, E, F, G, H, A, B, R(54), 0x5B9CCA4F);
+ P(B, C, D, E, F, G, H, A, R(55), 0x682E6FF3);
+ P(A, B, C, D, E, F, G, H, R(56), 0x748F82EE);
+ P(H, A, B, C, D, E, F, G, R(57), 0x78A5636F);
+ P(G, H, A, B, C, D, E, F, R(58), 0x84C87814);
+ P(F, G, H, A, B, C, D, E, R(59), 0x8CC70208);
+ P(E, F, G, H, A, B, C, D, R(60), 0x90BEFFFA);
+ P(D, E, F, G, H, A, B, C, R(61), 0xA4506CEB);
+ P(C, D, E, F, G, H, A, B, R(62), 0xBEF9A3F7);
+ P(B, C, D, E, F, G, H, A, R(63), 0xC67178F2);
+
+ ctx->state[0] += A;
+ ctx->state[1] += B;
+ ctx->state[2] += C;
+ ctx->state[3] += D;
+ ctx->state[4] += E;
+ ctx->state[5] += F;
+ ctx->state[6] += G;
+ ctx->state[7] += H;
+}
+
+static void sha256_update(sha256_context * ctx, uint8_t * input, uint32_t length)
+{
+ uint32_t left, fill;
+
+ if (!length)
+ return;
+
+ left = ctx->total[0] & 0x3F;
+ fill = 64 - left;
+
+ ctx->total[0] += length;
+ ctx->total[0] &= 0xFFFFFFFF;
+
+ if (ctx->total[0] < length)
+ ctx->total[1]++;
+
+ if (left && length >= fill) {
+ memcpy((void *) (ctx->buffer + left), (void *) input, fill);
+ sha256_process(ctx, ctx->buffer);
+ length -= fill;
+ input += fill;
+ left = 0;
+ }
+
+ while (length >= 64) {
+ sha256_process(ctx, input);
+ length -= 64;
+ input += 64;
+ }
+
+ if (length)
+ memcpy((void *) (ctx->buffer + left), (void *) input, length);
+}
+
+static uint8_t sha256_padding[64] = {
+ 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+};
+
+static void sha256_finish(sha256_context * ctx, uint8_t digest[32])
+{
+ uint32_t last, padn;
+ uint32_t high, low;
+ uint8_t msglen[8];
+
+ high = ((ctx->total[0] >> 29)
+ | (ctx->total[1] << 3));
+ low = (ctx->total[0] << 3);
+
+ PUT_UINT32_BE(high, msglen, 0);
+ PUT_UINT32_BE(low, msglen, 4);
+
+ last = ctx->total[0] & 0x3F;
+ padn = (last < 56) ? (56 - last) : (120 - last);
+
+ sha256_update(ctx, sha256_padding, padn);
+ sha256_update(ctx, msglen, 8);
+
+ PUT_UINT32_BE(ctx->state[0], digest, 0);
+ PUT_UINT32_BE(ctx->state[1], digest, 4);
+ PUT_UINT32_BE(ctx->state[2], digest, 8);
+ PUT_UINT32_BE(ctx->state[3], digest, 12);
+ PUT_UINT32_BE(ctx->state[4], digest, 16);
+ PUT_UINT32_BE(ctx->state[5], digest, 20);
+ PUT_UINT32_BE(ctx->state[6], digest, 24);
+ PUT_UINT32_BE(ctx->state[7], digest, 28);
+}
+
+struct sha256 {
+ sha256_context context;
+ struct digest d;
+};
+
+static int digest_sha256_init(struct digest *d)
+{
+ struct sha256 *m = container_of(d, struct sha256, d);
+
+ sha256_starts(&m->context);
+
+ return 0;
+}
+
+static int digest_sha256_update(struct digest *d, const void *data,
+ unsigned long len)
+{
+ struct sha256 *m = container_of(d, struct sha256, d);
+
+ sha256_update(&m->context, (uint8_t *)data, len);
+
+ return 0;
+}
+
+static int digest_sha256_final(struct digest *d, unsigned char *md)
+{
+ struct sha256 *m = container_of(d, struct sha256, d);
+
+ sha256_finish(&m->context, md);
+
+ return 0;
+}
+
+static struct sha256 m = {
+ .d = {
+ .name = "sha256",
+ .init = digest_sha256_init,
+ .update = digest_sha256_update,
+ .final = digest_sha256_final,
+ .length = SHA256_SUM_LEN,
+ }
+};
+
+static int sha256_digest_register(void)
+{
+ digest_register(&m.d);
+
+ return 0;
+}
+device_initcall(sha256_digest_register);
diff --git a/scripts/setupmbr/setupmbr.c b/scripts/setupmbr/setupmbr.c
index 01e8c645f0..3cfec97aa0 100644
--- a/scripts/setupmbr/setupmbr.c
+++ b/scripts/setupmbr/setupmbr.c
@@ -42,7 +42,7 @@
#include <assert.h>
/* include the info from this barebox release */
-#include "include/linux/utsrelease.h"
+#include "include/generated/utsrelease.h"
#include "arch/x86/include/asm/barebox.lds.h"
/** define to disable integrity tests and debug messages */