[oe] [PATCH v5] barebox: add patch for vmx25

Marek Sujak sujak.marek at gmail.com
Tue Feb 1 09:01:02 UTC 2011


* memory timing, custom init scripts, mach id's
* default config file
* tested with angstrom 2010.x eglibc compiler

Signed-off-by: Marek Sujak <sujak.marek at gmail.com>
---
 .../vmx25/barebox_2010.10-vmx25-20110112.patch     | 1563 ++++++++++++++++++++
 recipes/barebox/barebox-2010.10/vmx25/defconfig    |  254 ++++
 2 files changed, 1817 insertions(+), 0 deletions(-)
 create mode 100755 recipes/barebox/barebox-2010.10/vmx25/barebox_2010.10-vmx25-20110112.patch
 create mode 100644 recipes/barebox/barebox-2010.10/vmx25/defconfig

diff --git a/recipes/barebox/barebox-2010.10/vmx25/barebox_2010.10-vmx25-20110112.patch b/recipes/barebox/barebox-2010.10/vmx25/barebox_2010.10-vmx25-20110112.patch
new file mode 100755
index 0000000..6588942
--- /dev/null
+++ b/recipes/barebox/barebox-2010.10/vmx25/barebox_2010.10-vmx25-20110112.patch
@@ -0,0 +1,1563 @@
+diff -urN barebox-2010.10.0/arch/arm/boards/vmx25/config.h barebox-2010.10.0-vmx25/arch/arm/boards/vmx25/config.h
+--- barebox-2010.10.0/arch/arm/boards/vmx25/config.h	1970-01-01 01:00:00.000000000 +0100
++++ barebox-2010.10.0-vmx25/arch/arm/boards/vmx25/config.h	2010-10-06 15:13:29.136153433 +0200
+@@ -0,0 +1,26 @@
++/*
++ * (c) 2010 Voipac Technologies <support at voipac.com>
++ *
++ * 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
++ */
++
++#ifndef __CONFIG_H
++#define __CONFIG_H
++
++#define CONFIG_MX25_HCLK_FREQ	24000000
++
++#endif
++
+diff -urN barebox-2010.10.0/arch/arm/boards/vmx25/env/bin/boot barebox-2010.10.0-vmx25/arch/arm/boards/vmx25/env/bin/boot
+--- barebox-2010.10.0/arch/arm/boards/vmx25/env/bin/boot	1970-01-01 01:00:00.000000000 +0100
++++ barebox-2010.10.0-vmx25/arch/arm/boards/vmx25/env/bin/boot	2010-10-10 21:29:51.030982830 +0200
+@@ -0,0 +1,65 @@
++#!/bin/sh
++
++. /env/config
++
++image=/dev/nand0.kernel.bb
++
++if [ x$1 = xjffS2 ]; then
++	root=jffs2
++	kernel=nand
++fi
++
++if [ x$1 = xubifs ]; then
++	root=ubifs
++	kernel=nand
++fi
++
++if [ x$1 = xnet ]; then
++	root=net
++	kernel=net
++	image=$zimage
++fi
++
++if [ $# = 2 ]; then
++	image=$2
++fi
++
++if [ x$ip = xdhcp ]; then
++	if [ x$root = xnet ]; then
++		bootargs="$bootargs ip=dhcp"
++	fi
++else
++	if [ x$ip = xoff ]; then
++		bootargs="$bootargs ip=off"
++	else
++		bootargs="$bootargs ip=$eth0.ipaddr:$eth0.serverip:$eth0.gateway:$eth0.netmask:::"
++	fi
++fi
++
++if [ x$root = xjffs2 ]; then
++	bootargs="$bootargs root=/dev/mtdblock$rootpartnum_nand rootfstype=jffs2"
++fi
++
++if [ x$root = xubifs ]; then
++	bootargs="$bootargs root=ubi0:$ubiroot ubi.mtd=$rootpartnum_nand rootfstype=ubifs"
++fi
++
++if [ x$root = xnet ]; then
++	bootargs="$bootargs root=/dev/nfs"
++	if [ ! -z "$rootpath" ]; then
++		bootargs="$bootargs nfsroot=$eth0.serverip:$rootpath"
++	fi
++fi
++
++bootargs="$bootargs mtdparts=mxc_nand:$nand_parts"
++
++if [ $kernel = net ]; then
++	if [ x$ip = xdhcp ]; then
++		dhcp
++	fi
++	tftp $image zImage || exit 1
++	bootz zImage
++else
++	bootz $image
++fi
++
+diff -urN barebox-2010.10.0/arch/arm/boards/vmx25/env/bin/init barebox-2010.10.0-vmx25/arch/arm/boards/vmx25/env/bin/init
+--- barebox-2010.10.0/arch/arm/boards/vmx25/env/bin/init	1970-01-01 01:00:00.000000000 +0100
++++ barebox-2010.10.0-vmx25/arch/arm/boards/vmx25/env/bin/init	2010-10-06 17:59:45.185384513 +0200
+@@ -0,0 +1,38 @@
++#!/bin/sh
++
++PATH=/env/bin
++export PATH
++
++. /env/config
++if [ -e /dev/nand0 ]; then
++	addpart /dev/nand0 $nand_parts
++
++	# hush workaround
++	nand0_parts="/dev/nand0.*"
++	nand -a $nand0_parts
++fi
++
++if [ -f /env/logo.bmp ]; then
++	bmp /env/logo.bmp
++elif [ -f /env/logo.bmp.lzo ]; then
++	unlzo /env/logo.bmp.lzo /logo.bmp
++	bmp /logo.bmp
++fi
++
++if [ -z $eth0.ethaddr ]; then
++	while [ -z $eth0.ethaddr ]; do
++		readline "No MAC address set for eth0. Please enter the one found on your module: " eth0.ethaddr
++	done
++	echo -a /env/config "eth0.ethaddr=$eth0.ethaddr"
++	saveenv
++fi
++
++echo
++echo -n "Hit any key to stop autoboot: "
++timeout -a $autoboot_timeout
++if [ $? != 0 ]; then
++	exit
++fi
++
++boot
++
+diff -urN barebox-2010.10.0/arch/arm/boards/vmx25/env/bin/update barebox-2010.10.0-vmx25/arch/arm/boards/vmx25/env/bin/update
+--- barebox-2010.10.0/arch/arm/boards/vmx25/env/bin/update	1970-01-01 01:00:00.000000000 +0100
++++ barebox-2010.10.0-vmx25/arch/arm/boards/vmx25/env/bin/update	2010-10-06 16:51:48.635384355 +0200
+@@ -0,0 +1,54 @@
++#!/bin/sh
++
++. /env/config
++
++if [ x$1 = xbarebox ]; then
++	image=$barebox
++	part=/dev/nand0.barebox.bb
++fi
++
++if [ x$1 = xkernel ]; then
++	image=$zimage
++	part=/dev/nand0.kernel.bb
++fi
++
++if [ x$1 = xrootfs ]; then
++	image=$rootfs
++	part=/dev/nand0.rootfs.bb
++fi
++
++if [ -z "$part" -o -z "$image" ]; then
++	echo "update barebox|kernel|rootfs [<imagename>]"
++	exit 1
++fi
++
++if [ ! -e "$part" ]; then
++	echo "Partition $part does not exist"
++	exit 1
++fi
++
++if [ $# = 2 ]; then
++	image=$2
++fi
++
++if [ x$ip = xdhcp ]; then
++	dhcp
++fi
++
++ping $eth0.serverip
++if [ $? -ne 0 ] ; then
++	echo "update aborted"
++	exit 1
++fi
++
++unprotect $part
++
++echo
++echo "erasing partition $part"
++erase $part
++
++echo
++echo "flashing $image to $part"
++echo
++tftp $image $part
++
+diff -urN barebox-2010.10.0/arch/arm/boards/vmx25/env/config barebox-2010.10.0-vmx25/arch/arm/boards/vmx25/env/config
+--- barebox-2010.10.0/arch/arm/boards/vmx25/env/config	1970-01-01 01:00:00.000000000 +0100
++++ barebox-2010.10.0-vmx25/arch/arm/boards/vmx25/env/config	2010-10-06 15:13:29.136153433 +0200
+@@ -0,0 +1,28 @@
++#!/bin/sh
++
++# can be either 'net' or 'jffs2' or 'ubifs'
++kernel=nand
++root=ubifs
++
++basedir=vmx25
++barebox=$basedir/barebox.bin
++zimage=$basedir/zImage
++rootfs=$basedir/rootfs.bin
++
++autoboot_timeout=3
++
++bootargs="console=ttymxc0,115200"
++
++nand_parts="256k(barebox)ro,128k(bareboxenv),2688k(kernel),-(rootfs)"
++rootpartnum_nand=3
++ubiroot="rootfs-vmx25"
++
++# ip=off|static|dhcp
++# use 'dhcp' to do dhcp in barebox and in kernel
++ip=dhcp
++
++# or set your networking parameters here
++#eth0.ipaddr=a.b.c.d
++#eth0.netmask=a.b.c.d
++#eth0.gateway=a.b.c.d
++#eth0.serverip=a.b.c.d
+diff -urN barebox-2010.10.0/arch/arm/boards/vmx25/lowlevel_init.S barebox-2010.10.0-vmx25/arch/arm/boards/vmx25/lowlevel_init.S
+--- barebox-2010.10.0/arch/arm/boards/vmx25/lowlevel_init.S	1970-01-01 01:00:00.000000000 +0100
++++ barebox-2010.10.0-vmx25/arch/arm/boards/vmx25/lowlevel_init.S	2010-11-23 02:00:54.874097981 +0100
+@@ -0,0 +1,267 @@
++/*
++ * (C) Copyright 2009 DENX Software Engineering
++ * Author: John Rigby <jrigby at gmail.com>
++ *
++ * Based on U-Boot and RedBoot sources for several different i.mx
++ * platforms.
++ *
++ * 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 <config.h>
++#include <mach/imx-regs.h>
++#include <asm-generic/memory_layout.h>
++
++/* #include <asm/macro.h> */
++.macro  write32, addr, data
++        ldr     r4, =\addr
++        ldr     r5, =\data
++        str     r5, [r4]
++.endm
++
++.section ".text_bare_init","ax"
++
++init_aips:
++	write32	0x43f00000, 0x77777777
++	write32	0x43f00004, 0x77777777
++	write32	0x43f00000, 0x77777777
++	write32	0x53f00004, 0x77777777
++	mov	pc, lr
++
++init_max:
++	write32	0x43f04000, 0x43210
++	write32	0x43f04100, 0x43210
++	write32	0x43f04200, 0x43210
++	write32	0x43f04300, 0x43210
++	write32	0x43f04400, 0x43210
++
++	write32	0x43f04010, 0x10
++	write32	0x43f04110, 0x10
++	write32	0x43f04210, 0x10
++	write32	0x43f04310, 0x10
++	write32	0x43f04410, 0x10
++
++	write32	0x43f04800, 0x0
++	write32	0x43f04900, 0x0
++	write32	0x43f04a00, 0x0
++	write32	0x43f04b00, 0x0
++	write32	0x43f04c00, 0x0
++	mov	pc, lr
++
++init_clocks:
++	/*
++	 * clocks
++	 *
++	 * first enable CLKO debug output
++	 * 0x40000000 enables the debug CLKO signal
++	 * 0x05000000 sets CLKO divider to 6
++	 * 0x00600000 makes CLKO parent clk the USB clk
++	 */
++	write32	0x53f80064, 0x45600000
++	write32	0x53f80008, 0x20034000
++
++	/*
++	 * enable all implemented clocks in all three
++	 * clock control registers
++	 */
++	write32	0x53f8000c, 0x1fffffff
++	write32	0x53f80010, 0xffffffff
++	write32	0x53f80014, 0xfdfff
++	mov	pc, lr
++
++.macro init_ddrtype
++	/*
++	 * ddr_type is 3.3v SDRAM
++	 */
++	write32	0x43fac454, 0x800
++.endm
++
++/*
++ * reset SDRAM controller
++ * then wait for initialization to complete
++ * r3 = 0xb8001000
++ */
++reset_sdram_ctrl:
++	ldr	r1, =(1 << 1)
++	str	r1, [r3, #0x10]
++1:	ldr	r0, [r3, #0x10]
++	tst	r0, #(1 << 31)
++	beq	1b
++	mov	pc, lr
++
++/*
++ * sdram controller init
++ * 13 ROWs, 10 COLs
++ * r2 = bank mem base
++ * r3 = bank regs base
++ */
++init_sdram_bank:
++	ldr	r1, =0x95728
++	str	r1, [r3, #0x04]		/* config */
++
++	ldr	r1, =0x92216480		/* control | precharge */
++	str	r1, [r3]		/* write command to controller */
++	str	r1, [r2, #0x400]	/* command encoded in address */
++
++	ldr	r1, =0xa2216480		/* auto refresh */
++	str	r1, [r3]
++	ldrb	r0, [r2]		/* read dram twice to auto refresh */
++	ldrb	r0, [r2]
++
++	ldr	r1, =0xb2216480		/* control | load mode */
++	str	r1, [r3]		/* write command to controller */
++	strb	r1, [r2, #0x33]		/* command encoded in address */
++
++	ldr	r1, =0x82216480		/* control  | normal (0)*/
++	str	r1, [r3]		/* write command to controller */
++
++	mov	r0, #0			/* detect sdram bank presence pass1: r0=0 */
++	str	r0, [r2]
++	ldr	r1, [r2]
++	cmp     r0, r1			/* compare, set flags */
++	bne	bank_disable
++
++	ldr	r0, =0xdeadbeef		/* detect sdram presence pass2: r0=0xdeadbeef */
++	str     r0, [r2]
++	ldr     r1, [r2]
++	cmp     r0, r1			/* compare, set flags */
++	moveq	pc, lr			/* return if equal */
++
++bank_disable:				/* disable sdram bank */
++	mov	r0, #0
++	str	r0, [r3]
++	str	r0, [r3, #0x04 ]
++	mov	pc, lr
++
++set_columns:
++	mov     r0, r2		/* r0 = 80000000 */
++
++/* 8cols:  0x80000000 = 0x80000200 = 0x80000400 = 0x80000600 */
++/* 9cols:  0x80000000 = 0x80000400 */
++/* 10cols: 0x80000000 */
++
++	str     r0, [r0], #0x400	/* [80000000] = 0 */
++	str     r0, [r0], #0x200	/* [80000400] = 80000400 */
++	str     r0, [r0]		/* [80000600] = 80000600 */
++
++	ldrh	r0, [r2]
++	movs	r0, r0, LSL #0x0B
++	addeq	r0, #0x100000
++	eor	r0, #0x300000
++	and	r0, #0x300000		/* r0 = #cols */
++
++	ldr	r1, [r3]		/* set cols */
++	bic	r1, #0x300000
++	orr	r1, r0
++	str	r1, [r3]
++	mov	pc, lr
++
++set_rows:
++	mov     r0, r2		/* r0 = 80000000 */
++	mov	r1, #0x400000
++
++/* 13rows (32M16): 0x80000000 = 0x84000000 */
++/* 13rows (16M16): 0x80000000 = 0x82000000 = 0x84000000 */
++/* 12rows (8M16):  0x80000000 = 0x80400000 */
++/* 12rows (4M16):  0x80000000 = 0x80100000 = 0x80200000 = 0x80300000 = 0x80400000 */
++
++	str     r0, [r0], r1	/* [80000000] = 0 */
++	str     r0, [r0], r1	/* [80400000] = 80400000 */
++
++	ldr	r0, [r2]
++	mov	r0, r0, LSL #0x2
++	ands	r0, #0x1000000
++	addeq	r0, #0x2000000
++	and	r0, #0x7000000		/* r0 = #rows */
++
++	ldr	r1, [r3]		/* set rows */
++	bic	r1, #0x7000000
++	orr	r1, r0
++	str	r1, [r3]
++	mov	pc, lr
++
++.globl board_init_lowlevel
++board_init_lowlevel:
++	mov	r10, lr
++
++	bl	init_aips
++	bl	init_max
++
++	write32 0xb8003000, 0x1		/* init_m3if */
++
++	bl	init_clocks
++
++	/* init_sdram_bank 0x80000000, 0x0, 0x4	*/
++	ldr	r2, =0x80000000
++	ldr	r3, =0xb8001000
++	
++	bl	reset_sdram_ctrl
++	bl	init_sdram_bank
++
++	bne	bank0_disabled
++
++	bl	set_columns
++	bl	set_rows
++
++bank0_disabled:
++	/* init_sdram_bank 0x90000000, 0x8, 0xc	*/
++	ldr	r2, =0x90000000
++	ldr	r3, =0xb8001008
++	
++	bl	init_sdram_bank
++
++	bne	bank1_disabled
++
++	bl	set_columns
++	bl	set_rows
++
++bank1_disabled:
++
++#ifdef CONFIG_NAND_IMX_BOOT
++        ldr     sp, STACK_BASE_W        /* Setup a temporary stack */
++
++        ldr     r0, =IMX_NFC_BASE               /* start of NFC SRAM                */
++        ldr     r2, =IMX_NFC_BASE + 0x1000      /* end of NFC SRAM                  */
++
++        /* skip NAND boot if not running from NFC space */
++        cmp     pc, r0
++        bls     ret
++        cmp     pc, r2
++        bhi     ret
++
++        /* Move ourselves out of NFC SRAM */
++        ldr     r1, =TEXT_BASE
++
++copy_loop:
++        ldmia   r0!, {r3-r9}            /* copy from source address [r0]    */
++        stmia   r1!, {r3-r9}            /* copy to   target address [r1]    */
++        cmp     r0, r2                  /* until source end addreee [r2]    */
++        ble     copy_loop
++
++        ldr     pc, =1f                 /* Jump to SDRAM                    */
++1:
++        bl      nand_boot               /* Load barebox from NAND Flash      */
++
++        ldr     r1, =IMX_NFC_BASE - TEXT_BASE
++        sub     r10, r10, r1            /* adjust return address from NFC SRAM */
++                                        /* to SDRAM                            */
++
++#endif /* CONFIG_NAND_IMX_BOOT */
++ret:
++	mov	pc, r10
++
++STACK_BASE_W:          .word	(STACK_BASE + STACK_SIZE -12)
++
+diff -urN barebox-2010.10.0/arch/arm/boards/vmx25/Makefile barebox-2010.10.0-vmx25/arch/arm/boards/vmx25/Makefile
+--- barebox-2010.10.0/arch/arm/boards/vmx25/Makefile	1970-01-01 01:00:00.000000000 +0100
++++ barebox-2010.10.0-vmx25/arch/arm/boards/vmx25/Makefile	2010-10-06 15:13:29.136153433 +0200
+@@ -0,0 +1,24 @@
++#
++# (c) 2010 Voipac Technologies <support at voipac.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; 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
++#
++
++obj-y += lowlevel_init.o
++obj-y += vmx25.o
+diff -urN barebox-2010.10.0/arch/arm/boards/vmx25/vmx25.c barebox-2010.10.0-vmx25/arch/arm/boards/vmx25/vmx25.c
+--- barebox-2010.10.0/arch/arm/boards/vmx25/vmx25.c	1970-01-01 01:00:00.000000000 +0100
++++ barebox-2010.10.0-vmx25/arch/arm/boards/vmx25/vmx25.c	2010-11-06 00:04:01.167954869 +0100
+@@ -0,0 +1,379 @@
++/*
++ * (C) 2009 Pengutronix, Sascha Hauer <s.hauer at pengutronix.de>
++ * (c) 2010 Eukrea Electromatique, Eric Bénard <eric at eukrea.com>
++ * (c) 2010 Voipac Technologies <support at voipac.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; 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 <init.h>
++#include <driver.h>
++#include <environment.h>
++#include <mach/imx-regs.h>
++#include <asm/armlinux.h>
++#include <mach/gpio.h>
++#include <asm/io.h>
++#include <asm/mmu.h>
++
++#include <partition.h>
++#include <asm/mach-types.h>
++#include <mach/imx-nand.h>
++#include <mach/imxfb.h>
++#include <fec.h>
++#include <nand.h>
++#include <mach/imx-flash-header.h>
++#include <mach/iomux-mx25.h>
++
++extern unsigned long _stext;
++
++void __naked __flash_header_start go(void)
++{
++	__asm__ __volatile__("b exception_vectors\n");
++}
++
++struct imx_dcd_entry __dcd_entry_0x400 dcd_entry[] = {
++	{ .ptr_type = 4, .addr = 0xb8001004, .val = 0x00095728, },	/* config */
++	{ .ptr_type = 4, .addr = 0xb8001000, .val = 0x92116480, },	/* control | precharge */
++	{ .ptr_type = 1, .addr = 0x80000400, .val = 0x12344321, },	/* command encoded in address */
++	{ .ptr_type = 4, .addr = 0xb8001000, .val = 0xa2116480, },	/* auto refresh */
++	{ .ptr_type = 4, .addr = 0x80000000, .val = 0x12344321, },	/* read dram twice to auto refresh */
++	{ .ptr_type = 4, .addr = 0x80000000, .val = 0x12344321, },
++	{ .ptr_type = 4, .addr = 0xb8001000, .val = 0xb2116480, },	/* control | load mode */
++	{ .ptr_type = 1, .addr = 0x80000033, .val = 0x12344321, },	/* command encoded in address */
++	{ .ptr_type = 4, .addr = 0xb8001000, .val = 0x82116480, },	/* control  | normal (0)*/
++	{ .ptr_type = 4, .addr = 0x53f80008, .val = 0x20034000, },	
++};
++
++struct imx_flash_header __flash_header_0x400 vmx25_header = {
++	.app_code_jump_vector	= TEXT_BASE + 0x2000,
++	.app_code_barker	= APP_CODE_BARKER,
++	.app_code_csf		= 0,
++	.dcd_ptr_ptr		= TEXT_BASE + 0x400 + offsetof(struct imx_flash_header, dcd),
++	.super_root_key		= 0,
++	.dcd			= TEXT_BASE + 0x400 + offsetof(struct imx_flash_header, dcd_barker),
++	.app_dest		= TEXT_BASE,
++	.dcd_barker		= DCD_BARKER,
++	.dcd_block_len		= sizeof(dcd_entry),
++};
++
++extern unsigned long __bss_start;
++
++unsigned long __image_len_0x400 barebox_len = 0x40000;
++
++static struct fec_platform_data fec_info = {
++	.xcv_type	= RMII,
++	.phy_addr	= 1,
++};
++
++static struct device_d fec_dev = {
++	.name     = "fec_imx",
++	.map_base = IMX_FEC_BASE,
++	.platform_data	= &fec_info,
++};
++
++static struct memory_platform_data sdram0_pdata = {
++	.name	= "ram0",
++	.flags	= DEVFS_RDWR,
++};
++
++static struct device_d sdram0_dev = {
++	.name     = "mem",
++	.map_base = IMX_SDRAM_CS0,
++	.size     = 0,
++	.platform_data = &sdram0_pdata,
++};
++
++static struct memory_platform_data sdram1_pdata = {
++	.name	= "ram1",
++	.flags	= DEVFS_RDWR,
++};
++
++static struct device_d sdram1_dev = {
++	.name     = "mem",
++	.map_base = IMX_SDRAM_CS1,
++	.size     = 0,
++	.platform_data = &sdram1_pdata,
++};
++
++static struct memory_platform_data sram_pdata = {
++	.name   = "sram0",
++	.flags  = DEVFS_RDWR,
++};
++
++static struct device_d sram0_dev = {
++	.name     = "mem",
++	.map_base = 0x78000000,
++	.size     = 128 * 1024,
++	.platform_data = &sram_pdata,
++};
++
++struct imx_nand_platform_data nand_info = {
++	.width	= 1,
++	.hw_ecc	= 1,
++};
++
++static struct device_d nand_dev = {
++	.name     = "imx_nand",
++	.map_base = IMX_NFC_BASE,
++	.platform_data	= &nand_info,
++};
++
++#ifdef CONFIG_DRIVER_VIDEO_IMX
++static struct imx_fb_videomode imxfb_mode = {
++	.mode = {
++		.name		= "VGA",
++		.refresh	= 60,
++		.xres		= 640,
++		.yres		= 480,
++		.pixclock	= 30076,
++		.hsync_len	= 64,
++		.left_margin	= 96,
++		.right_margin	= 48,
++		.vsync_len	= 2,
++		.upper_margin	= 33,
++		.lower_margin	= 10,
++	},
++	.pcr		= 0xFAC00080,
++	.bpp		= 16,
++};
++
++static struct imx_fb_platform_data vmx25_fb_data = {
++	.mode		= &imxfb_mode,
++	.pwmr		= 0x0,
++	.lscr1		= 0x0,
++	.dmacr		= 0x80040060,
++};
++
++
++static struct device_d imxfb_dev = {
++	.name		= "imxfb",
++	.map_base	= 0x53fbc000,
++	.size		= 0x1000,
++	.platform_data	= &vmx25_fb_data,
++};
++#endif
++
++#ifdef CONFIG_MMU
++static void vmx25_mmu_init(void)
++{
++	mmu_init();
++
++	arm_create_section(0x80000000, 0x80000000, 128, PMD_SECT_DEF_CACHED);
++	arm_create_section(0x90000000, 0x80000000, 128, PMD_SECT_DEF_UNCACHED);
++
++	setup_dma_coherent(0x10000000);
++
++	mmu_enable();
++}
++#else
++static void vmx25_mmu_init(void)
++{
++}
++#endif
++
++static struct pad_desc vmx25_pads[] = {
++	/* FEC */
++	MX25_PAD_D11__GPIO9,	// FEC_PEN
++//	MX25_PAD_D12__GPIO8,	// FEC_RESET_B
++	MX25_PAD_D13__GPIO7,	// FEC_RESET_B
++	MX25_PAD_FEC_MDC__MDC,
++	MX25_PAD_FEC_MDIO__MDIO,
++	MX25_PAD_FEC_RDATA0__RDATA0,
++	MX25_PAD_FEC_RDATA1__RDATA1,
++	MX25_PAD_FEC_RX_DV__RX_DV,
++	MX25_PAD_FEC_TDATA0__TDATA0,
++	MX25_PAD_FEC_TDATA1__TDATA1,
++	MX25_PAD_FEC_TX_CLK__TX_CLK,
++	MX25_PAD_FEC_TX_EN__TX_EN,
++	/* UART1 */
++	MX25_PAD_UART1_RXD__RXD_MUX,
++	MX25_PAD_UART1_TXD__TXD_MUX,
++	MX25_PAD_UART1_RTS__RTS,
++	MX25_PAD_UART1_CTS__CTS,
++#ifdef CONFIG_DRIVER_VIDEO_IMX
++	/* LCDC */
++	MX25_PAD_LD0__LCDC_LD0,
++	MX25_PAD_LD1__LCDC_LD1,
++	MX25_PAD_LD2__LCDC_LD2,
++	MX25_PAD_LD3__LCDC_LD3,
++	MX25_PAD_LD4__LCDC_LD4,
++	MX25_PAD_LD5__LCDC_LD5,
++	MX25_PAD_LD6__LCDC_LD6,
++	MX25_PAD_LD7__LCDC_LD7,
++	MX25_PAD_LD8__LCDC_LD8,
++	MX25_PAD_LD9__LCDC_LD9,
++	MX25_PAD_LD10__LCDC_LD10,
++	MX25_PAD_LD11__LCDC_LD11,
++	MX25_PAD_LD12__LCDC_LD12,
++	MX25_PAD_LD13__LCDC_LD13,
++	MX25_PAD_LD14__LCDC_LD14,
++	MX25_PAD_LD15__LCDC_LD15,
++	MX25_PAD_GPIO_E__LCDC_LD16,
++	MX25_PAD_GPIO_F__LCDC_LD17,
++	MX25_PAD_LSCLK__LCDC_LSCLK,
++	MX25_PAD_OE_ACD__LCDC_OE_ACD,
++	MX25_PAD_VSYNC__LCDC_VSYN,
++	MX25_PAD_HSYNC__LCDC_HSYN,
++	/* BACKLIGHT CONTROL */
++	MX25_PAD_PWM__GPIO26,
++#endif
++	/* RESET OUT */
++	MX25_PAD_VSTBY_ACK__GPIO18,	/* GPIO3_18 */
++};
++
++static void vmx25_fec_init(void)
++{
++	struct pad_desc fec_gpio_pads[] = {
++		MX25_PAD_D11__GPIO9,	// FEC_PEN
++		MX25_PAD_D13__GPIO7,	// FEC_RESET_B
++		MX25_PAD_FEC_RDATA0__GPIO10,
++		MX25_PAD_FEC_RDATA1__GPIO11,
++		MX25_PAD_FEC_RX_DV__GPIO12,
++	};
++
++	mxc_iomux_v3_setup_multiple_pads(fec_gpio_pads,
++                ARRAY_SIZE(fec_gpio_pads));
++
++	// assert PHY reset, turn on PHY power
++	gpio_direction_output(103, 0);	// GPIO4_7
++	gpio_direction_output(105, 1);	// GPIO4_9
++
++	mdelay(10);
++
++	// set PHY mode pins to 1
++	gpio_direction_output(74, 1);	// GPIO3_10
++	gpio_direction_output(75, 1);	// GPIO3_11
++	gpio_direction_output(76, 1);	// GPIO3_12
++
++	mdelay(22);
++
++	// deassert PHY reset
++	gpio_set_value(103, 1);	// GPIO4_7
++
++	mdelay(5);
++}
++
++static void vmx25_sdram_init(void)
++{
++	uchar	rows, cols;
++	uint32_t size, esdctl;
++
++	esdctl = readl(IMX_ESD_BASE);
++	rows = ((esdctl >> 24) & 7);
++	cols = ((esdctl >> 20) & 3);
++	size = (esdctl)? 1 << (rows + cols + 22) : 0;
++
++	sdram0_dev.size = size;
++
++	printk("SDRAM at 0x%08x: %dMB (%dMb, %d ROWs, %d COLs)\n",
++		 IMX_SDRAM_CS0, size >> 20, size >> 17, rows + 11, cols + 8);
++
++	esdctl = readl(IMX_ESD_BASE + 0x08);
++	rows = ((esdctl >> 24) & 7);
++	cols = ((esdctl >> 20) & 3);
++	size = (esdctl)? 1 << (rows + cols + 22) : 0;
++
++	sdram1_dev.size = size;
++
++	printk("SDRAM at 0x%08x: %dMB (%dMb, %d ROWs, %d COLs)\n",
++		 IMX_SDRAM_CS1, size >> 20, size >> 17, rows + 11, cols + 8);
++}
++
++static int vmx25_devices_init(void)
++{
++	/* assert RESET_OUT_B */
++	gpio_direction_output(82, 0);   // GPIO3_18
++
++	vmx25_sdram_init();
++
++	vmx25_mmu_init();
++
++	vmx25_fec_init();
++
++	mxc_iomux_v3_setup_multiple_pads(vmx25_pads,
++		ARRAY_SIZE(vmx25_pads));
++	register_device(&fec_dev);
++
++	nand_info.width = 1;
++	register_device(&nand_dev);
++
++	devfs_add_partition("nand0", 0x00000, 0x40000,
++		PARTITION_FIXED, "self_raw");
++	dev_add_bb_dev("self_raw", "self0");
++
++	devfs_add_partition("nand0", 0x40000, 0x20000,
++		PARTITION_FIXED, "env_raw");
++	dev_add_bb_dev("env_raw", "env0");
++
++	if( sdram0_dev.size)
++		register_device(&sdram0_dev);
++	
++	if( sdram1_dev.size)
++		register_device(&sdram1_dev);
++
++	register_device(&sram0_dev);
++
++#ifdef CONFIG_DRIVER_VIDEO_IMX
++	/* enable LCD */
++	gpio_direction_output(26, 1);	// GPIO1_26
++
++	register_device(&imxfb_dev);
++#endif
++	armlinux_add_dram(&sdram0_dev);
++	armlinux_add_dram(&sdram1_dev);
++
++	armlinux_set_bootparams((void *)0x80000100);
++	armlinux_set_architecture(MACH_TYPE_VMX25);
++
++	return 0;
++}
++
++device_initcall(vmx25_devices_init);
++
++static struct device_d vmx25_serial_device = {
++	.name     = "imx_serial",
++	.map_base = IMX_UART1_BASE,
++	.size     = 16 * 1024,
++};
++
++static int vmx25_console_init(void)
++{
++	writel(0x03010101, IMX_CCM_BASE + CCM_PCDR3);
++	register_device(&vmx25_serial_device);
++	return 0;
++}
++
++console_initcall(vmx25_console_init);
++
++#ifdef CONFIG_NAND_IMX_BOOT
++void __bare_init nand_boot(void)
++{
++	imx_nand_load_image((void *)TEXT_BASE, 256 * 1024);
++}
++#endif
++
++static int vmx25_core_setup(void)
++{
++	writel(0x01010103, IMX_CCM_BASE + CCM_PCDR2);
++	return 0;
++
++}
++core_initcall(vmx25_core_setup);
+diff -urN barebox-2010.10.0/arch/arm/configs/voipac_vmx25_defconfig barebox-2010.10.0-vmx25/arch/arm/configs/voipac_vmx25_defconfig
+--- barebox-2010.10.0/arch/arm/configs/voipac_vmx25_defconfig	1970-01-01 01:00:00.000000000 +0100
++++ barebox-2010.10.0-vmx25/arch/arm/configs/voipac_vmx25_defconfig	2010-11-05 17:32:30.818410283 +0100
+@@ -0,0 +1,254 @@
++#
++# Automatically generated make config: don't edit
++# Linux barebox version: 2010.10.0
++# Fri Nov  5 17:32: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_EP93XX is not set
++CONFIG_ARCH_IMX=y
++# CONFIG_ARCH_NETX is not set
++# CONFIG_ARCH_NOMADIK 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=0x81f00000
++CONFIG_BOARDINFO="Voipac VMX25"
++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_EUKREA_CPUIMX25 is not set
++# CONFIG_MACH_FREESCALE_MX25_3STACK is not set
++CONFIG_MACH_VMX25=y
++
++#
++# Board specific settings       
++#
++
++#
++# i.MX specific settings        
++#
++# CONFIG_IMX_CLKO is not set
++CONFIG_IMX_IIM=y
++CONFIG_IMX_IIM_FUSE_BLOW=y
++CONFIG_AEABI=y
++
++#
++# Arm specific settings         
++#
++CONFIG_CMD_ARM_CPUINFO=y
++# CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS is not set
++CONFIG_DEFCONFIG_LIST="$ARCH_DEFCONFIG"
++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 is not set
++CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
++CONFIG_TEXT_BASE=0x81f00000
++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 is not set
++CONFIG_CMDLINE_EDITING=y
++CONFIG_AUTO_COMPLETE=y
++# CONFIG_MENU is not set
++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 is not set
++CONFIG_DEFAULT_ENVIRONMENT=y
++CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/vmx25/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
++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 is not set
++# CONFIG_CMD_UMOUNT is not set
++
++#
++# 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 is not set
++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 is not set
++CONFIG_CMD_BOOTZ=y
++# CONFIG_CMD_BOOTU is not set
++# 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 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 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 is not set
+diff -urN barebox-2010.10.0/arch/arm/cpu/start.c barebox-2010.10.0-vmx25/arch/arm/cpu/start.c
+--- barebox-2010.10.0/arch/arm/cpu/start.c	2010-10-02 13:00:45.000000000 +0200
++++ barebox-2010.10.0-vmx25/arch/arm/cpu/start.c	2010-10-06 15:13:29.136153433 +0200
+@@ -59,6 +59,9 @@
+ #ifdef CONFIG_ARCH_HAS_LOWLEVEL_INIT
+ 	arch_init_lowlevel();
+ #endif
++#ifdef CONFIG_MACH_DO_LOWLEVEL_INIT
++	board_init_lowlevel();
++#endif
+ 	__asm__ __volatile__ (
+ 		"bl __mmu_cache_flush;"
+ 		:
+@@ -72,9 +75,6 @@
+ 	r |= CR_A | CR_I;
+ 	set_cr(r);
+ 
+-#ifdef CONFIG_MACH_DO_LOWLEVEL_INIT
+-	board_init_lowlevel();
+-#endif
+ 	board_init_lowlevel_return();
+ }
+ 
+diff -urN barebox-2010.10.0/arch/arm/mach-imx/iim.c barebox-2010.10.0-vmx25/arch/arm/mach-imx/iim.c
+--- barebox-2010.10.0/arch/arm/mach-imx/iim.c	2010-10-02 13:00:45.000000000 +0200
++++ barebox-2010.10.0-vmx25/arch/arm/mach-imx/iim.c	2010-10-06 17:59:21.206131814 +0200
+@@ -299,13 +299,13 @@
+ 
+ int imx_iim_get_mac(unsigned char *mac)
+ {
+-	int i;
++	int i, sum = 0;
+ 
+ 	if (mac_addr_base == 0)
+ 		return -EINVAL;
+ 
+ 	for (i = 0; i < 6; i++)
+-		 mac[i] = readb(mac_addr_base + i*4);
++		 sum += mac[i] = readb(mac_addr_base + i*4);
+ 
+-	return 0;
++	return (sum > 0)? 0 : -EINVAL;
+ }
+diff -urN barebox-2010.10.0/arch/arm/mach-imx/Kconfig barebox-2010.10.0-vmx25/arch/arm/mach-imx/Kconfig
+--- barebox-2010.10.0/arch/arm/mach-imx/Kconfig	2010-10-02 13:00:45.000000000 +0200
++++ barebox-2010.10.0-vmx25/arch/arm/mach-imx/Kconfig	2010-10-06 15:13:29.145895633 +0200
+@@ -17,6 +17,7 @@
+ 	default 0x87f00000 if MACH_PCM043
+ 	default 0x08f80000 if MACH_SCB9328
+ 	default 0xa7e00000 if MACH_NESO
++	default 0x81f00000 if MACH_VMX25
+ 
+ config BOARDINFO
+ 	default "Eukrea CPUIMX25" if MACH_EUKREA_CPUIMX25
+@@ -32,6 +33,7 @@
+ 	default "Phytec phyCORE-i.MX35" if MACH_PCM043
+ 	default "Synertronixx scb9328" if MACH_SCB9328
+ 	default "Garz+Fricke Neso" if MACH_NESO
++	default "Voipac VMX25" if MACH_VMX25
+ 
+ config ARCH_HAS_FEC_IMX
+ 	bool
+@@ -148,6 +150,14 @@
+ 	  Say Y here if you are using the Freescale MX25 3stack board equipped
+ 	  with a Freescale i.MX25 Processor
+ 
++config MACH_VMX25
++	bool "Voipac VMX25"
++	select MACH_HAS_LOWLEVEL_INIT
++	select HAVE_MMU
++	help
++	  Say Y here if you are using the Voipac Technologies VMX25 module
++	  equipped with a Freescale i.MX25 Processor
++
+ endchoice
+ 
+ endif
+diff -urN barebox-2010.10.0/arch/arm/Makefile barebox-2010.10.0-vmx25/arch/arm/Makefile
+--- barebox-2010.10.0/arch/arm/Makefile	2010-10-02 13:00:45.000000000 +0200
++++ barebox-2010.10.0-vmx25/arch/arm/Makefile	2010-10-06 15:13:29.145895633 +0200
+@@ -79,6 +79,7 @@
+ board-$(CONFIG_MACH_PM9263)			:= pm9263
+ board-$(CONFIG_MACH_SCB9328)			:= scb9328
+ board-$(CONFIG_MACH_NESO)			:= guf-neso
++board-$(CONFIG_MACH_VMX25)			:= vmx25
+ 
+ machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y))
+ 
+diff -urN barebox-2010.10.0/arch/arm/tools/mach-types barebox-2010.10.0-vmx25/arch/arm/tools/mach-types
+--- barebox-2010.10.0/arch/arm/tools/mach-types	2010-10-02 13:00:45.000000000 +0200
++++ barebox-2010.10.0-vmx25/arch/arm/tools/mach-types	2010-10-06 15:13:29.145895633 +0200
+@@ -12,7 +12,7 @@
+ #
+ #   http://www.arm.linux.org.uk/developer/machines/?action=new
+ #
+-# Last update: Mon May 24 21:27:47 2010
++# Last update: Wed Sep 8 21:15:58 2010
+ #
+ # machine_is_xxx	CONFIG_xxxx		MACH_TYPE_xxx		number
+ #
+@@ -1994,7 +1994,7 @@
+ benzina			MACH_BENZINA		BENZINA			2003
+ blaze			MACH_BLAZE		BLAZE			2004
+ linkstation_ls_hgl	MACH_LINKSTATION_LS_HGL	LINKSTATION_LS_HGL	2005
+-htckovsky		MACH_HTCVENUS		HTCVENUS		2006
++htckovsky		MACH_HTCKOVSKY		HTCKOVSKY		2006
+ sony_prs505		MACH_SONY_PRS505	SONY_PRS505		2007
+ hanlin_v3		MACH_HANLIN_V3		HANLIN_V3		2008
+ sapphira		MACH_SAPPHIRA		SAPPHIRA		2009
+@@ -2561,7 +2561,7 @@
+ emxx			MACH_EMXX		EMXX			2574
+ outlaw			MACH_OUTLAW		OUTLAW			2575
+ riot_bei2		MACH_RIOT_BEI2		RIOT_BEI2		2576
+-riot_vox		MACH_RIOT_VOX		RIOT_VOX		2577
++riot_gx2		MACH_RIOT_VOX		RIOT_VOX		2577
+ riot_x37		MACH_RIOT_X37		RIOT_X37		2578
+ mega25mx		MACH_MEGA25MX		MEGA25MX		2579
+ benzina2		MACH_BENZINA2		BENZINA2		2580
+@@ -2609,7 +2609,7 @@
+ lexikon			MACH_LEXIKON		LEXIKON			2622
+ mini2440v2		MACH_MINI2440V2		MINI2440V2		2623
+ icontrol		MACH_ICONTROL		ICONTROL		2624
+-sheevad			MACH_SHEEVAD		SHEEVAD			2625
++gplugd			MACH_SHEEVAD		SHEEVAD			2625
+ qsd8x50a_st1_1		MACH_QSD8X50A_ST1_1	QSD8X50A_ST1_1		2626
+ qsd8x50a_st1_5		MACH_QSD8X50A_ST1_5	QSD8X50A_ST1_5		2627
+ bee			MACH_BEE		BEE			2628
+@@ -2622,7 +2622,7 @@
+ gw2388			MACH_GW2388		GW2388			2635
+ jadecpu			MACH_JADECPU		JADECPU			2636
+ carlisle		MACH_CARLISLE		CARLISLE		2637
+-lux_sf9			MACH_LUX_SFT9		LUX_SFT9		2638
++lux_sf9			MACH_LUX_SF9		LUX_SF9			2638
+ nemid_tb		MACH_NEMID_TB		NEMID_TB		2639
+ terrier			MACH_TERRIER		TERRIER			2640
+ turbot			MACH_TURBOT		TURBOT			2641
+@@ -2812,7 +2812,7 @@
+ acer_a4			MACH_ACER_A4		ACER_A4			2825
+ davinci_dm368_bip	MACH_DAVINCI_DM368_BIP	DAVINCI_DM368_BIP	2826
+ eshare			MACH_ESHARE		ESHARE			2827
+-hw_omapl138_europa	MACH_HW_OMAPL138_EUROPA	HW_OMAPL138_EUROPA	2828
++omapl138_europa		MACH_HW_OMAPL138_EUROPA	HW_OMAPL138_EUROPA	2828
+ wlbargn			MACH_WLBARGN		WLBARGN			2829
+ bm170			MACH_BM170		BM170			2830
+ netspace_mini_v2	MACH_NETSPACE_MINI_V2	NETSPACE_MINI_V2	2831
+@@ -2859,3 +2859,191 @@
+ coconut			MACH_COCONUT		COCONUT			2872
+ durian			MACH_DURIAN		DURIAN			2873
+ cayenne			MACH_CAYENNE		CAYENNE			2874
++fuji			MACH_FUJI		FUJI			2875
++synology_6282		MACH_SYNOLOGY_6282	SYNOLOGY_6282		2876
++em1sy			MACH_EM1SY		EM1SY			2877
++m502			MACH_M502		M502			2878
++matrix518		MACH_MATRIX518		MATRIX518		2879
++tiny_gurnard		MACH_TINY_GURNARD	TINY_GURNARD		2880
++spear1310		MACH_SPEAR1310		SPEAR1310		2881
++bv07			MACH_BV07		BV07			2882
++mxt_td61		MACH_MXT_TD61		MXT_TD61		2883
++openrd_ultimate		MACH_OPENRD_ULTIMATE	OPENRD_ULTIMATE		2884
++devixp			MACH_DEVIXP		DEVIXP			2885
++miccpt			MACH_MICCPT		MICCPT			2886
++mic256			MACH_MIC256		MIC256			2887
++as1167			MACH_AS1167		AS1167			2888
++omap3_ibiza		MACH_OMAP3_IBIZA	OMAP3_IBIZA		2889
++u5500			MACH_U5500		U5500			2890
++davinci_picto		MACH_DAVINCI_PICTO	DAVINCI_PICTO		2891
++mecha			MACH_MECHA		MECHA			2892
++bubba3			MACH_BUBBA3		BUBBA3			2893
++pupitre			MACH_PUPITRE		PUPITRE			2894
++tegra_harmony		MACH_TEGRA_HARMONY	TEGRA_HARMONY		2895
++tegra_vogue		MACH_TEGRA_VOGUE	TEGRA_VOGUE		2896
++tegra_e1165		MACH_TEGRA_E1165	TEGRA_E1165		2897
++simplenet		MACH_SIMPLENET		SIMPLENET		2898
++ec4350tbm		MACH_EC4350TBM		EC4350TBM		2899
++pec_tc			MACH_PEC_TC		PEC_TC			2900
++pec_hc2			MACH_PEC_HC2		PEC_HC2			2901
++esl_mobilis_a		MACH_ESL_MOBILIS_A	ESL_MOBILIS_A		2902
++esl_mobilis_b		MACH_ESL_MOBILIS_B	ESL_MOBILIS_B		2903
++esl_wave_a		MACH_ESL_WAVE_A		ESL_WAVE_A		2904
++esl_wave_b		MACH_ESL_WAVE_B		ESL_WAVE_B		2905
++unisense_mmm		MACH_UNISENSE_MMM	UNISENSE_MMM		2906
++blueshark		MACH_BLUESHARK		BLUESHARK		2907
++e10			MACH_E10		E10			2908
++app3k_robin		MACH_APP3K_ROBIN	APP3K_ROBIN		2909
++pov15hd			MACH_POV15HD		POV15HD			2910
++stella			MACH_STELLA		STELLA			2911
++htc_iolite		MACH_MACH_HTC_IOLITE	MACH_HTC_IOLITE		2912
++linkstation_lschl	MACH_LINKSTATION_LSCHL	LINKSTATION_LSCHL	2913
++netwalker		MACH_NETWALKER		NETWALKER		2914
++acsx106			MACH_ACSX106		ACSX106			2915
++atlas5_c1		MACH_ATLAS5_C1		ATLAS5_C1		2916
++nsb3ast			MACH_NSB3AST		NSB3AST			2917
++gnet_slc		MACH_GNET_SLC		GNET_SLC		2918
++af4000			MACH_AF4000		AF4000			2919
++ark9431			MACH_ARK9431		ARK9431			2920
++fs_s5pc100		MACH_FS_S5PC100		FS_S5PC100		2921
++omap3505nova8		MACH_OMAP3505NOVA8	OMAP3505NOVA8		2922
++omap3621_edp1		MACH_OMAP3621_EDP1	OMAP3621_EDP1		2923
++oratisaes		MACH_ORATISAES		ORATISAES		2924
++smdkv310		MACH_SMDKV310		SMDKV310		2925
++siemens_l0		MACH_SIEMENS_L0		SIEMENS_L0		2926
++ventana			MACH_VENTANA		VENTANA			2927
++wm8505_7in_netbook	MACH_WM8505_7IN_NETBOOK	WM8505_7IN_NETBOOK	2928
++ec4350sdb		MACH_EC4350SDB		EC4350SDB		2929
++mimas			MACH_MIMAS		MIMAS			2930
++titan			MACH_TITAN		TITAN			2931
++craneboard		MACH_CRANEBOARD		CRANEBOARD		2932
++es2440			MACH_ES2440		ES2440			2933
++najay_a9263		MACH_NAJAY_A9263	NAJAY_A9263		2934
++htctornado		MACH_HTCTORNADO		HTCTORNADO		2935
++dimm_mx257		MACH_DIMM_MX257		DIMM_MX257		2936
++jigen301		MACH_JIGEN		JIGEN			2937
++smdk6450		MACH_SMDK6450		SMDK6450		2938
++meno_qng		MACH_MENO_QNG		MENO_QNG		2939
++ns2416			MACH_NS2416		NS2416			2940
++rpc353			MACH_RPC353		RPC353			2941
++tq6410			MACH_TQ6410		TQ6410			2942
++sky6410			MACH_SKY6410		SKY6410			2943
++dynasty			MACH_DYNASTY		DYNASTY			2944
++vivo			MACH_VIVO		VIVO			2945
++bury_bl7582		MACH_BURY_BL7582	BURY_BL7582		2946
++bury_bps5270		MACH_BURY_BPS5270	BURY_BPS5270		2947
++basi			MACH_BASI		BASI			2948
++tn200			MACH_TN200		TN200			2949
++c2mmi			MACH_C2MMI		C2MMI			2950
++meson_6236m		MACH_MESON_6236M	MESON_6236M		2951
++meson_8626m		MACH_MESON_8626M	MESON_8626M		2952
++tube			MACH_TUBE		TUBE			2953
++messina			MACH_MESSINA		MESSINA			2954
++mx50_arm2		MACH_MX50_ARM2		MX50_ARM2		2955
++cetus9263		MACH_CETUS9263		CETUS9263		2956
++brownstone		MACH_BROWNSTONE		BROWNSTONE		2957
++vmx25			MACH_VMX25		VMX25			2958
++vmx51			MACH_VMX51		VMX51			2959
++abacus			MACH_ABACUS		ABACUS			2960
++cm4745			MACH_CM4745		CM4745			2961
++oratislink		MACH_ORATISLINK		ORATISLINK		2962
++davinci_dm365_dvr	MACH_DAVINCI_DM365_DVR	DAVINCI_DM365_DVR	2963
++netviz			MACH_NETVIZ		NETVIZ			2964
++flexibity		MACH_FLEXIBITY		FLEXIBITY		2965
++wlan_computer		MACH_WLAN_COMPUTER	WLAN_COMPUTER		2966
++lpc24xx			MACH_LPC24XX		LPC24XX			2967
++spica			MACH_SPICA		SPICA			2968
++gpsdisplay		MACH_GPSDISPLAY		GPSDISPLAY		2969
++bipnet			MACH_BIPNET		BIPNET			2970
++overo_ctu_inertial	MACH_OVERO_CTU_INERTIAL	OVERO_CTU_INERTIAL	2971
++davinci_dm355_mmm	MACH_DAVINCI_DM355_MMM	DAVINCI_DM355_MMM	2972
++pc9260_v2		MACH_PC9260_V2		PC9260_V2		2973
++ptx7545			MACH_PTX7545		PTX7545			2974
++tm_efdc			MACH_TM_EFDC		TM_EFDC			2975
++remove_me		MACH_WALDO1		WALDO1			2976
++omap3_waldo1		MACH_OMAP3_WALDO1	OMAP3_WALDO1		2977
++flyer			MACH_FLYER		FLYER			2978
++tornado3240		MACH_TORNADO3240	TORNADO3240		2979
++soli_01			MACH_SOLI_01		SOLI_01			2980
++omapl138_europalc	MACH_OMAPL138_EUROPALC	OMAPL138_EUROPALC	2981
++helios_v1		MACH_HELIOS_V1		HELIOS_V1		2982
++netspace_lite_v2	MACH_NETSPACE_LITE_V2	NETSPACE_LITE_V2	2983
++ssc			MACH_SSC		SSC			2984
++premierwave_en		MACH_PREMIERWAVE_EN	PREMIERWAVE_EN		2985
++wasabi			MACH_WASABI		WASABI			2986
++vivo_w			MACH_VIVOW		VIVOW			2987
++mx50_rdp		MACH_MX50_RDP		MX50_RDP		2988
++universal		MACH_UNIVERSAL		UNIVERSAL		2989
++real6410		MACH_REAL6410		REAL6410		2990
++spx_sakura		MACH_SPX_SAKURA		SPX_SAKURA		2991
++ij3k_2440		MACH_IJ3K_2440		IJ3K_2440		2992
++omap3_bc10		MACH_OMAP3_BC10		OMAP3_BC10		2993
++thebe			MACH_THEBE		THEBE			2994
++rv082			MACH_RV082		RV082			2995
++armlguest		MACH_ARMLGUEST		ARMLGUEST		2996
++tjinc1000		MACH_TJINC1000		TJINC1000		2997
++dockstar		MACH_DOCKSTAR		DOCKSTAR		2998
++ax8008			MACH_AX8008		AX8008			2999
++gnet_sgce		MACH_GNET_SGCE		GNET_SGCE		3000
++pxwnas_500_1000		MACH_PXWNAS_500_1000	PXWNAS_500_1000		3001
++ea20			MACH_EA20		EA20			3002
++awm2			MACH_AWM2		AWM2			3003
++ti8148evm		MACH_TI8148EVM		TI8148EVM		3004
++tegra_seaboard		MACH_TEGRA_SEABOARD	TEGRA_SEABOARD		3005
++linkstation_chlv2	MACH_LINKSTATION_CHLV2	LINKSTATION_CHLV2	3006
++tera_pro2_rack		MACH_TERA_PRO2_RACK	TERA_PRO2_RACK		3007
++rubys			MACH_RUBYS		RUBYS			3008
++aquarius		MACH_AQUARIUS		AQUARIUS		3009
++mx53_ard		MACH_MX53_ARD		MX53_ARD		3010
++mx53_smd		MACH_MX53_SMD		MX53_SMD		3011
++lswxl			MACH_LSWXL		LSWXL			3012
++dove_avng_v3		MACH_DOVE_AVNG_V3	DOVE_AVNG_V3		3013
++sdi_ess_9263		MACH_SDI_ESS_9263	SDI_ESS_9263		3014
++jocpu550		MACH_JOCPU550		JOCPU550		3015
++msm8x60_rumi3		MACH_MSM8X60_RUMI3	MSM8X60_RUMI3		3016
++msm8x60_ffa		MACH_MSM8X60_FFA	MSM8X60_FFA		3017
++yanomami		MACH_YANOMAMI		YANOMAMI		3018
++gta04			MACH_GTA04		GTA04			3019
++cm_a510			MACH_CM_A510		CM_A510			3020
++omap3_rfs200		MACH_OMAP3_RFS200	OMAP3_RFS200		3021
++kx33xx			MACH_KX33XX		KX33XX			3022
++ptx7510			MACH_PTX7510		PTX7510			3023
++top9000			MACH_TOP9000		TOP9000			3024
++teenote			MACH_TEENOTE		TEENOTE			3025
++ts3			MACH_TS3		TS3			3026
++a0			MACH_A0			A0			3027
++fsm9xxx_surf		MACH_FSM9XXX_SURF	FSM9XXX_SURF		3028
++fsm9xxx_ffa		MACH_FSM9XXX_FFA	FSM9XXX_FFA		3029
++frrhwcdma60w		MACH_FRRHWCDMA60W	FRRHWCDMA60W		3030
++remus			MACH_REMUS		REMUS			3031
++at91cap7xdk		MACH_AT91CAP7XDK	AT91CAP7XDK		3032
++at91cap7stk		MACH_AT91CAP7STK	AT91CAP7STK		3033
++kt_sbc_sam9_1		MACH_KT_SBC_SAM9_1	KT_SBC_SAM9_1		3034
++at91sam9263router	MACH_ORATISROUTER	ORATISROUTER		3035
++armada_xp_db		MACH_ARMADA_XP_DB	ARMADA_XP_DB		3036
++spdm			MACH_SPDM		SPDM			3037
++gtib			MACH_GTIB		GTIB			3038
++dgm3240			MACH_DGM3240		DGM3240			3039
++iv_atlas_i_lpe		MACH_ATLAS_I_LPE	ATLAS_I_LPE		3040
++htcmega			MACH_HTCMEGA		HTCMEGA			3041
++tricorder		MACH_TRICORDER		TRICORDER		3042
++tx28			MACH_TX28		TX28			3043
++bstbrd			MACH_BSTBRD		BSTBRD			3044
++pwb3090			MACH_PWB3090		PWB3090			3045
++idea6410		MACH_IDEA6410		IDEA6410		3046
++qbc9263			MACH_QBC9263		QBC9263			3047
++borabora		MACH_BORABORA		BORABORA		3048
++valdez			MACH_VALDEZ		VALDEZ			3049
++ls9g20			MACH_LS9G20		LS9G20			3050
++mios_v1			MACH_MIOS_V1		MIOS_V1			3051
++s5pc110_crespo		MACH_S5PC110_CRESPO	S5PC110_CRESPO		3052
++controltek9g20		MACH_CONTROLTEK9G20	CONTROLTEK9G20		3053
++tin307			MACH_TIN307		TIN307			3054
++tin510			MACH_TIN510		TIN510			3055
++ep3505			MACH_EP3517		EP3517			3056
++bluecheese		MACH_BLUECHEESE		BLUECHEESE		3057
++tem3x30			MACH_TEM3X30		TEM3X30			3058
++harvest_desoto		MACH_HARVEST_DESOTO	HARVEST_DESOTO		3059
++msm8x60_qrdc		MACH_MSM8X60_QRDC	MSM8X60_QRDC		3060
++spear900		MACH_SPEAR900		SPEAR900		3061
++pcontrol_g20		MACH_PCONTROL_G20	PCONTROL_G20		3062
+diff -urN barebox-2010.10.0/commands/gpio.c barebox-2010.10.0-vmx25/commands/gpio.c
+--- barebox-2010.10.0/commands/gpio.c	2010-10-02 13:00:45.000000000 +0200
++++ barebox-2010.10.0-vmx25/commands/gpio.c	2010-10-06 15:13:29.145895633 +0200
+@@ -37,7 +37,7 @@
+ }
+ 
+ static const __maybe_unused char cmd_gpio_get_value_help[] =
+-"Usage: gpio_set_value <gpio>\n";
++"Usage: gpio_get_value <gpio>\n";
+ 
+ BAREBOX_CMD_START(gpio_get_value)
+ 	.cmd		= do_gpio_get_value,
+diff -urN barebox-2010.10.0/drivers/mtd/nand/nand_base.c barebox-2010.10.0-vmx25/drivers/mtd/nand/nand_base.c
+--- barebox-2010.10.0/drivers/mtd/nand/nand_base.c	2010-10-02 13:00:45.000000000 +0200
++++ barebox-2010.10.0-vmx25/drivers/mtd/nand/nand_base.c	2010-10-10 22:53:51.609734576 +0200
+@@ -2251,7 +2251,12 @@
+ 	}
+ 
+ 	if (!type)
++	{
++		printk(KERN_INFO "%s: Undefined device (Manufacturer ID:"
++                       " 0x%02x, Chip ID: 0x%02x)\n", __func__, *maf_id, dev_id);
++
+ 		return ERR_PTR(-ENODEV);
++	}
+ 
+ 	if (!mtd->name)
+ 		mtd->name = type->name;
+diff -urN barebox-2010.10.0/drivers/mtd/nand/nand_ids.c barebox-2010.10.0-vmx25/drivers/mtd/nand/nand_ids.c
+--- barebox-2010.10.0/drivers/mtd/nand/nand_ids.c	2010-10-02 13:00:45.000000000 +0200
++++ barebox-2010.10.0-vmx25/drivers/mtd/nand/nand_ids.c	2010-10-10 22:53:44.329736684 +0200
+@@ -84,6 +84,7 @@
+ 	/* 1 Gigabit */
+ 	{"NAND 128MiB 1,8V 8-bit",	0xA1, 0, 128, 0, LP_OPTIONS},
+ 	{"NAND 128MiB 3,3V 8-bit",	0xF1, 0, 128, 0, LP_OPTIONS},
++	{"NAND 128MiB 3,3V 8-bit",	0xD1, 0, 128, 0, LP_OPTIONS},
+ 	{"NAND 128MiB 1,8V 16-bit",	0xB1, 0, 128, 0, LP_OPTIONS16},
+ 	{"NAND 128MiB 3,3V 16-bit",	0xC1, 0, 128, 0, LP_OPTIONS16},
+ 
+diff -urN barebox-2010.10.0/Makefile barebox-2010.10.0-vmx25/Makefile
+--- barebox-2010.10.0/Makefile	2010-10-02 13:00:45.000000000 +0200
++++ barebox-2010.10.0-vmx25/Makefile	2010-10-06 15:13:29.145895633 +0200
+@@ -163,8 +163,10 @@
+ # Alternatively CROSS_COMPILE can be set in the environment.
+ # Default value for CROSS_COMPILE is not to prefix executables
+ 
+-ARCH            ?= sandbox
+-CROSS_COMPILE   ?=
++#ARCH            ?= sandbox
++ARCH            ?= arm
++#CROSS_COMPILE   ?=
++CROSS_COMPILE   ?= arm-none-linux-gnueabi-
+ 
+ # Architecture as present in compile.h
+ UTS_MACHINE := $(ARCH)
diff --git a/recipes/barebox/barebox-2010.10/vmx25/defconfig b/recipes/barebox/barebox-2010.10/vmx25/defconfig
new file mode 100644
index 0000000..654a357
--- /dev/null
+++ b/recipes/barebox/barebox-2010.10/vmx25/defconfig
@@ -0,0 +1,254 @@
+#
+# Automatically generated make config: don't edit
+# Linux barebox version: 2010.10.0
+# Thu Jan 13 11:59:00 2011
+#
+# 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_EP93XX is not set
+CONFIG_ARCH_IMX=y
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_NOMADIK 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=0x81f00000
+CONFIG_BOARDINFO="Voipac VMX25"
+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_EUKREA_CPUIMX25 is not set
+# CONFIG_MACH_FREESCALE_MX25_3STACK is not set
+CONFIG_MACH_VMX25=y
+
+#
+# Board specific settings       
+#
+
+#
+# i.MX specific settings        
+#
+# CONFIG_IMX_CLKO is not set
+CONFIG_IMX_IIM=y
+CONFIG_IMX_IIM_FUSE_BLOW=y
+CONFIG_AEABI=y
+
+#
+# Arm specific settings         
+#
+CONFIG_CMD_ARM_CPUINFO=y
+# CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS is not set
+CONFIG_DEFCONFIG_LIST="$ARCH_DEFCONFIG"
+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 is not set
+CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
+CONFIG_TEXT_BASE=0x81f00000
+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 is not set
+CONFIG_CMDLINE_EDITING=y
+CONFIG_AUTO_COMPLETE=y
+# CONFIG_MENU is not set
+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 is not set
+CONFIG_DEFAULT_ENVIRONMENT=y
+CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/vmx25/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
+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 is not set
+# CONFIG_CMD_UMOUNT is not set
+
+#
+# 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 is not set
+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 is not set
+CONFIG_CMD_BOOTZ=y
+# CONFIG_CMD_BOOTU is not set
+# 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 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 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 is not set
-- 
1.7.0.4





More information about the Openembedded-devel mailing list