Merge branch 'master' of git://git.denx.de/u-boot-nand-flash
diff --git a/MAKEALL b/MAKEALL
index 21b4cbd..1aa0dc7 100755
--- a/MAKEALL
+++ b/MAKEALL
@@ -819,10 +819,7 @@
 #########################################################################
 
 LIST_I486="		\
-	sc520_cdp	\
 	sc520_eNET	\
-	sc520_spunk	\
-	sc520_spunk_rel	\
 "
 
 LIST_x86="		\
diff --git a/arch/i386/cpu/start16.S b/arch/i386/cpu/start16.S
index 3e8b2cc..ebe5835 100644
--- a/arch/i386/cpu/start16.S
+++ b/arch/i386/cpu/start16.S
@@ -45,6 +45,7 @@
 	wbinvd
 
 	/* load the temporary Global Descriptor Table */
+o32 cs	lidt	idt_ptr
 o32 cs	lgdt	gdt_ptr
 
 	/* Now, we enter protected mode */
@@ -68,6 +69,10 @@
 	.long	_start		/* offset */
 	.word	0x10		/* segment */
 
+idt_ptr:
+	.word	0		/* limit */
+	.long	0		/* base */
+
 /*
  * The following Global Descriptor Table is just enough to get us into
  * 'Flat Protected Mode' - It will be discarded as soon as the final
diff --git a/arch/i386/lib/board.c b/arch/i386/lib/board.c
index 684cdb8..93f910b 100644
--- a/arch/i386/lib/board.c
+++ b/arch/i386/lib/board.c
@@ -431,15 +431,30 @@
 	for (;;);
 }
 
-unsigned long do_go_exec (ulong (*entry)(int, char *[]), int argc, char * const argv[])
+unsigned long do_go_exec (ulong (*entry)(int, char * const []), int argc, char * const argv[])
 {
+	unsigned long ret = 0;
+	char **argv_tmp;
+
 	/*
-	 * x86 does not use a dedicated register to pass the pointer
-	 * to the global_data
+	 * x86 does not use a dedicated register to pass the pointer to
+	 * the global_data, so it is instead passed as argv[-1]. By using
+	 * argv[-1], the called 'Application' can use the contents of
+	 * argv natively. However, to safely use argv[-1] a new copy of
+	 * argv is needed with the extra element
 	 */
-	argv[-1] = (char *)gd;
+	argv_tmp = malloc(sizeof(char *) * (argc + 1));
+
+	if (argv_tmp) {
+		argv_tmp[0] = (char *)gd;
+
+		memcpy(&argv_tmp[1], argv, (size_t)(sizeof(char *) * argc));
+
+		ret = (entry) (argc, &argv_tmp[1]);
+		free(argv_tmp);
+	}
 
-	return (entry) (argc, argv);
+	return ret;
 }
 
 void setup_pcat_compatibility(void)
diff --git a/board/sc520_cdp/Makefile b/board/sc520_cdp/Makefile
deleted file mode 100644
index 7944a01..0000000
--- a/board/sc520_cdp/Makefile
+++ /dev/null
@@ -1,56 +0,0 @@
-#
-# (C) Copyright 2006
-# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
-#
-# (C) Copyright 2002
-# Daniel Engström, Omicron Ceti AB, daniel@omicron.se.
-#
-# 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 $(TOPDIR)/config.mk
-
-LIB	= $(obj)lib$(BOARD).a
-
-COBJS-y	+= sc520_cdp.o
-COBJS-y	+= flash.o
-COBJS-$(CONFIG_PCI) += sc520_cdp_pci.o
-SOBJS-y	+= sc520_cdp_asm.o
-SOBJS-y	+= sc520_cdp_asm16.o
-
-SRCS	:= $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
-OBJS	:= $(addprefix $(obj),$(SOBJS-y) $(COBJS-y))
-
-$(LIB):	$(obj).depend $(OBJS) $(SOBJS)
-	$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-
-clean:
-	rm -f $(SOBJS) $(OBJS)
-
-distclean:	clean
-	rm -f $(LIB) core *.bak $(obj).depend
-
-#########################################################################
-
-# defines $(obj).depend target
-include $(SRCTREE)/rules.mk
-
-sinclude $(obj).depend
-
-#########################################################################
diff --git a/board/sc520_cdp/config.mk b/board/sc520_cdp/config.mk
deleted file mode 100644
index 2253815..0000000
--- a/board/sc520_cdp/config.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# (C) Copyright 2002
-# Daniel Engström, Omicron Ceti AB, daniel@omicron.se.
-#
-# 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
-#
-
-
-TEXT_BASE = 0x387c0000
diff --git a/board/sc520_cdp/flash.c b/board/sc520_cdp/flash.c
deleted file mode 100644
index 64831b7..0000000
--- a/board/sc520_cdp/flash.c
+++ /dev/null
@@ -1,637 +0,0 @@
-/*
- * (C) Copyright 2002, 2003
- * Daniel Engström, Omicron Ceti AB, daniel@omicron.se
- *
- * (C) Copyright 2002
- * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
- * Alex Zuepke <azu@sysgo.de>
- *
- * 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 <asm/io.h>
-#include <pci.h>
-#include <asm/ic/sc520.h>
-
-#define PROBE_BUFFER_SIZE 1024
-static unsigned char buffer[PROBE_BUFFER_SIZE];
-
-#define SC520_MAX_FLASH_BANKS  3
-#define SC520_FLASH_BANK0_BASE 0x38000000  /* BOOTCS */
-#define SC520_FLASH_BANK1_BASE 0x30000000  /* ROMCS0 */
-#define SC520_FLASH_BANK2_BASE 0x28000000  /* ROMCS1 */
-#define SC520_FLASH_BANKSIZE   0x8000000
-
-#define AMD29LV016B_SIZE        0x200000
-#define AMD29LV016B_SECTORS     32
-
-flash_info_t    flash_info[SC520_MAX_FLASH_BANKS];
-
-#define READY 1
-#define ERR   2
-#define TMO   4
-
-/*-----------------------------------------------------------------------
- */
-
-
-static u32 _probe_flash(u32 addr, u32 bw, int il)
-{
-	u32 result=0;
-
-	/* First do an unlock cycle for the benefit of
-	 * devices that need it */
-
-	switch (bw) {
-
-	case 1:
-		*(volatile u8*)(addr+0x5555) = 0xaa;
-		*(volatile u8*)(addr+0x2aaa) = 0x55;
-		*(volatile u8*)(addr+0x5555) = 0x90;
-
-		/* Read vendor */
-		result = *(volatile u8*)addr;
-		result <<= 16;
-
-		/* Read device */
-		result |= *(volatile u8*)(addr+2);
-
-		/* Return device to data mode */
-		*(volatile u8*)addr = 0xff;
-		*(volatile u8*)(addr+0x5555), 0xf0;
-		break;
-
-	case 2:
-		*(volatile u16*)(addr+0xaaaa) = 0xaaaa;
-		*(volatile u16*)(addr+0x5554) = 0x5555;
-
-		/* Issue identification command */
-		if (il == 2) {
-			*(volatile u16*)(addr+0xaaaa) = 0x9090;
-
-			/* Read vendor */
-			result = *(volatile u8*)addr;
-			result <<= 16;
-
-			/* Read device */
-			result |= *(volatile u8*)(addr+2);
-
-			/* Return device to data mode */
-			*(volatile u16*)addr =  0xffff;
-			*(volatile u16*)(addr+0xaaaa), 0xf0f0;
-
-		} else {
-			*(volatile u8*)(addr+0xaaaa) = 0x90;
-			/* Read vendor */
-			result = *(volatile u16*)addr;
-			result <<= 16;
-
-			/* Read device */
-			result |= *(volatile u16*)(addr+2);
-
-			/* Return device to data mode */
-			*(volatile u8*)addr = 0xff;
-			*(volatile u8*)(addr+0xaaaa), 0xf0;
-		}
-
-		break;
-
-	 case 4:
-		*(volatile u32*)(addr+0x5554) = 0xaaaaaaaa;
-		*(volatile u32*)(addr+0xaaa8) = 0x55555555;
-
-		switch (il) {
-		case 1:
-			/* Issue identification command */
-			*(volatile u8*)(addr+0x5554) = 0x90;
-
-			/* Read vendor */
-			result = *(volatile u16*)addr;
-			result <<= 16;
-
-			/* Read device */
-			result |= *(volatile u16*)(addr+4);
-
-			/* Return device to data mode */
-			*(volatile u8*)addr =  0xff;
-			*(volatile u8*)(addr+0x5554), 0xf0;
-			break;
-
-		case 2:
-			/* Issue identification command */
-			*(volatile u32*)(addr + 0x5554) = 0x00900090;
-
-			/* Read vendor */
-			result = *(volatile u16*)addr;
-			result <<= 16;
-
-			/* Read device */
-			result |= *(volatile u16*)(addr+4);
-
-			/* Return device to data mode */
-			*(volatile u32*)addr =  0x00ff00ff;
-			*(volatile u32*)(addr+0x5554), 0x00f000f0;
-			break;
-
-		case 4:
-			/* Issue identification command */
-			*(volatile u32*)(addr+0x5554) = 0x90909090;
-
-			/* Read vendor */
-			result = *(volatile u8*)addr;
-			result <<= 16;
-
-			/* Read device */
-			result |= *(volatile u8*)(addr+4);
-
-			/* Return device to data mode */
-			*(volatile u32*)addr =  0xffffffff;
-			*(volatile u32*)(addr+0x5554), 0xf0f0f0f0;
-			break;
-		}
-		break;
-	}
-
-
-	return result;
-}
-
-extern int _probe_flash_end;
-asm ("_probe_flash_end:\n"
-     ".long 0\n");
-
-static int identify_flash(unsigned address, int width)
-{
-	int is;
-	int device;
-	int vendor;
-	int size;
-	unsigned res;
-
-	u32 (*_probe_flash_ptr)(u32 a, u32 bw, int il);
-
-	size = (unsigned)&_probe_flash_end - (unsigned)_probe_flash;
-
-	if (size > PROBE_BUFFER_SIZE) {
-		printf("_probe_flash() routine too large (%d) %p - %p\n",
-		       size, &_probe_flash_end, _probe_flash);
-		return 0;
-	}
-
-	memcpy(buffer, _probe_flash, size);
-	_probe_flash_ptr = (void*)buffer;
-
-	is = disable_interrupts();
-	res = _probe_flash_ptr(address, width, 1);
-	if (is) {
-		enable_interrupts();
-	}
-
-
-	vendor = res >> 16;
-	device = res & 0xffff;
-
-
-	return res;
-}
-
-ulong flash_init(void)
-{
-	int i, j;
-	ulong size = 0;
-
-	for (i = 0; i < SC520_MAX_FLASH_BANKS; i++) {
-		unsigned id;
-		ulong flashbase = 0;
-		int sectsize = 0;
-
-		memset(flash_info[i].protect, 0, CONFIG_SYS_MAX_FLASH_SECT);
-		switch (i) {
-		case 0:
-			flashbase = SC520_FLASH_BANK0_BASE;
-			break;
-		case 1:
-			flashbase = SC520_FLASH_BANK1_BASE;
-			break;
-		case 2:
-			flashbase = SC520_FLASH_BANK2_BASE;
-			break;
-		default:
-			panic("configured too many flash banks!\n");
-		}
-
-		id = identify_flash(flashbase, 4);
-		switch (id & 0x00ff00ff) {
-		case 0x000100c8:
-			/* 29LV016B/29LV017B */
-			flash_info[i].flash_id =
-				(AMD_MANUFACT & FLASH_VENDMASK) |
-				(AMD_ID_LV016B & FLASH_TYPEMASK);
-
-			flash_info[i].size = AMD29LV016B_SIZE*4;
-			flash_info[i].sector_count = AMD29LV016B_SECTORS;
-			sectsize = (AMD29LV016B_SIZE*4)/AMD29LV016B_SECTORS;
-			printf("Bank %d: 4 x AMD 29LV017B\n", i);
-			break;
-
-
-		default:
-			printf("Bank %d have unknown flash %08x\n", i, id);
-			flash_info[i].flash_id = FLASH_UNKNOWN;
-			continue;
-		}
-
-		for (j = 0; j < flash_info[i].sector_count; j++) {
-			flash_info[i].start[j] = flashbase + j * sectsize;
-		}
-		size += flash_info[i].size;
-
-		flash_protect(FLAG_PROTECT_CLEAR,
-			      flash_info[i].start[0],
-			       flash_info[i].start[0] + flash_info[i].size - 1,
-			      &flash_info[i]);
-	}
-
-	/*
-	 * Protect monitor and environment sectors
-	 */
-	flash_protect(FLAG_PROTECT_SET,
-		      i386boot_start,
-		      i386boot_end,
-		      &flash_info[0]);
-#ifdef CONFIG_ENV_ADDR
-	flash_protect(FLAG_PROTECT_SET,
-		      CONFIG_ENV_ADDR,
-		      CONFIG_ENV_ADDR + CONFIG_ENV_SIZE - 1,
-		      &flash_info[0]);
-#endif
-	return size;
-}
-
-/*-----------------------------------------------------------------------
- */
-void flash_print_info(flash_info_t *info)
-{
-	int i;
-
-	switch (info->flash_id & FLASH_VENDMASK) {
-
-	case (AMD_MANUFACT & FLASH_VENDMASK):
-		printf("AMD:   ");
-		switch (info->flash_id & FLASH_TYPEMASK) {
-		case (AMD_ID_LV016B & FLASH_TYPEMASK):
-			printf("4x AMD29LV017B (4x16Mbit)\n");
-			break;
-		default:
-			printf("Unknown Chip Type\n");
-			goto done;
-			break;
-		}
-
-		break;
-	default:
-		printf("Unknown Vendor ");
-		break;
-	}
-
-
-	printf("  Size: %ld MB in %d Sectors\n",
-	       info->size >> 20, info->sector_count);
-
-	printf("  Sector Start Addresses:");
-	for (i = 0; i < info->sector_count; i++) {
-		if ((i % 5) == 0) {
-			printf ("\n   ");
-		}
-		printf (" %08lX%s", info->start[i],
-			info->protect[i] ? " (RO)" : "     ");
-	}
-	printf ("\n");
-
-done:	;
-}
-
-/*-----------------------------------------------------------------------
- */
-
-/* this needs to be inlined, the SWTMRMMILLI register is reset by each read */
-#define __udelay(delay) \
-{	\
-	unsigned micro; \
-	unsigned milli=0; \
-	\
-	micro = sc520_mmcr->swtmrmilli; \
-	 \
-	for (;;) { \
-		\
-		milli += sc520_mmcr->swtmrmilli; \
-		micro = sc520_mmcr->swtmrmicro; \
-		\
-		if ((delay) <= (micro + (milli * 1000))) { \
-			break; \
-		} \
-	} \
-} while (0)
-
-static u32 _amd_erase_flash(u32 addr, u32 sector)
-{
-	unsigned elapsed;
-
-	/* Issue erase */
-	*(volatile u32*)(addr + 0x5554) = 0xAAAAAAAA;
-	*(volatile u32*)(addr + 0xaaa8) = 0x55555555;
-	*(volatile u32*)(addr + 0x5554) = 0x80808080;
-	/* And one unlock */
-	*(volatile u32*)(addr + 0x5554) = 0xAAAAAAAA;
-	*(volatile u32*)(addr + 0xaaa8) = 0x55555555;
-	/* Sector erase command comes last */
-	*(volatile u32*)(addr + sector) = 0x30303030;
-
-	elapsed = sc520_mmcr->swtmrmilli; /* dummy read */
-	elapsed = 0;
-	__udelay(50);
-	while (((*(volatile u32*)(addr + sector)) & 0x80808080) != 0x80808080) {
-
-		elapsed += sc520_mmcr->swtmrmilli;
-		if (elapsed > ((CONFIG_SYS_FLASH_ERASE_TOUT/CONFIG_SYS_HZ) * 1000)) {
-			*(volatile u32*)(addr) = 0xf0f0f0f0;
-			return 1;
-		}
-	}
-
-	*(volatile u32*)(addr) = 0xf0f0f0f0;
-
-	return 0;
-}
-
-extern int _amd_erase_flash_end;
-asm ("_amd_erase_flash_end:\n"
-     ".long 0\n");
-
-int flash_erase(flash_info_t *info, int s_first, int s_last)
-{
-	u32 (*_erase_flash_ptr)(u32 a, u32 so);
-	int prot;
-	int sect;
-	unsigned size;
-
-	if ((s_first < 0) || (s_first > s_last)) {
-		if (info->flash_id == FLASH_UNKNOWN) {
-			printf("- missing\n");
-		} else {
-			printf("- no sectors to erase\n");
-		}
-		return 1;
-	}
-
-	if ((info->flash_id & FLASH_VENDMASK) == (AMD_MANUFACT & FLASH_VENDMASK)) {
-		size = (unsigned)&_amd_erase_flash_end - (unsigned)_amd_erase_flash;
-
-		if (size > PROBE_BUFFER_SIZE) {
-			printf("_amd_erase_flash() routine too large (%d) %p - %p\n",
-			       size, &_amd_erase_flash_end, _amd_erase_flash);
-			return 0;
-		}
-
-		memcpy(buffer, _amd_erase_flash, size);
-		_erase_flash_ptr = (void*)buffer;
-
-	}  else {
-		printf ("Can't erase unknown flash type - aborted\n");
-		return 1;
-	}
-
-	prot = 0;
-	for (sect=s_first; sect<=s_last; ++sect) {
-		if (info->protect[sect]) {
-			prot++;
-		}
-	}
-
-	if (prot) {
-		printf ("- Warning: %d protected sectors will not be erased!\n", prot);
-	} else {
-		printf ("\n");
-	}
-
-
-	/* Start erase on unprotected sectors */
-	for (sect = s_first; sect<=s_last; sect++) {
-
-		if (info->protect[sect] == 0) { /* not protected */
-			int res;
-			int flag;
-
-			/* Disable interrupts which might cause a timeout here */
-			flag = disable_interrupts();
-
-			res = _erase_flash_ptr(info->start[0], info->start[sect]-info->start[0]);
-
-			/* re-enable interrupts if necessary */
-			if (flag) {
-				enable_interrupts();
-			}
-
-
-			if (res) {
-				printf("Erase timed out, sector %d\n", sect);
-				return res;
-			}
-
-			putc('.');
-		}
-	}
-
-
-	return 0;
-}
-
-/*-----------------------------------------------------------------------
- * Write a word to Flash, returns:
- * 0 - OK
- * 1 - write timeout
- * 2 - Flash not erased
- */
-static int _amd_write_word(unsigned start, unsigned dest, unsigned data)
-{
-	volatile u32 *addr2 = (u32*)start;
-	volatile u32 *dest2 = (u32*)dest;
-	volatile u32 *data2 = (u32*)&data;
-	unsigned elapsed;
-
-	/* Check if Flash is (sufficiently) erased */
-	if ((*((volatile u32*)dest) & (u32)data) != (u32)data) {
-		return 2;
-	}
-
-	addr2[0x5554] = 0xAAAAAAAA;
-	addr2[0xaaa8] = 0x55555555;
-	addr2[0x5554] = 0xA0A0A0A0;
-
-	dest2[0] = data;
-
-	elapsed = sc520_mmcr->swtmrmilli; /* dummy read */
-	elapsed = 0;
-
-	/* data polling for D7 */
-	while ((dest2[0] & 0x80808080) != (data2[0] & 0x80808080)) {
-		elapsed += sc520_mmcr->swtmrmilli;
-		if (elapsed > ((CONFIG_SYS_FLASH_WRITE_TOUT/CONFIG_SYS_HZ) * 1000)) {
-			addr2[0] = 0xf0f0f0f0;
-			return 1;
-		}
-	}
-
-
-	addr2[0] = 0xf0f0f0f0;
-
-	return 0;
-}
-
-extern int _amd_write_word_end;
-asm ("_amd_write_word_end:\n"
-     ".long 0\n");
-
-
-/*-----------------------------------------------------------------------
- * Copy memory to flash, returns:
- * 0 - OK
- * 1 - write timeout
- * 2 - Flash not erased
- * 3 - Unsupported flash type
- */
-
-int write_buff(flash_info_t *info, uchar *src, ulong addr, ulong cnt)
-{
-	ulong cp, wp, data;
-	int i, l, rc;
-	int flag;
-	u32 (*_write_word_ptr)(unsigned start, unsigned dest, unsigned data);
-	unsigned size;
-
-	if ((info->flash_id & FLASH_VENDMASK) == (AMD_MANUFACT & FLASH_VENDMASK)) {
-		size = (unsigned)&_amd_write_word_end - (unsigned)_amd_write_word;
-
-		if (size > PROBE_BUFFER_SIZE) {
-			printf("_amd_write_word() routine too large (%d) %p - %p\n",
-			       size, &_amd_write_word_end, _amd_write_word);
-			return 0;
-		}
-
-		memcpy(buffer, _amd_write_word, size);
-		_write_word_ptr = (void*)buffer;
-
-	} else {
-		printf ("Can't program unknown flash type - aborted\n");
-		return 3;
-	}
-
-
-	wp = (addr & ~3);	/* get lower word aligned address */
-
-
-	/*
-	 * handle unaligned start bytes
-	 */
-	if ((l = addr - wp) != 0) {
-		data = 0;
-		for (i=0, cp=wp; i<l; ++i, ++cp) {
-			data |= (*(uchar *)cp) << (8*i);
-		}
-		for (; i<4 && cnt>0; ++i) {
-			data |= *src++ << (8*i);
-			--cnt;
-			++cp;
-		}
-		for (; cnt==0 && i<4; ++i, ++cp) {
-			data |= (*(uchar *)cp)  << (8*i);
-		}
-
-		/* Disable interrupts which might cause a timeout here */
-		flag = disable_interrupts();
-
-		rc = _write_word_ptr(info->start[0], wp, data);
-
-		/* re-enable interrupts if necessary */
-		if (flag) {
-			enable_interrupts();
-		}
-		if (rc != 0) {
-			return rc;
-		}
-		wp += 4;
-	}
-
-	/*
-	 * handle word aligned part
-	 */
-	while (cnt >= 4) {
-		data = 0;
-
-		for (i=0; i<4; ++i) {
-			data |= *src++ << (8*i);
-		}
-
-		/* Disable interrupts which might cause a timeout here */
-		flag = disable_interrupts();
-
-		rc = _write_word_ptr(info->start[0], wp, data);
-
-		/* re-enable interrupts if necessary */
-		if (flag) {
-			enable_interrupts();
-		}
-		if (rc != 0) {
-			return rc;
-		}
-		wp  += 4;
-		cnt -= 4;
-	}
-
-	if (cnt == 0) {
-		return 0;
-	}
-
-	/*
-	 * handle unaligned tail bytes
-	 */
-	data = 0;
-	for (i=0, cp=wp; i<4 && cnt>0; ++i, ++cp) {
-		data |= *src++ << (8*i);
-		--cnt;
-	}
-
-	for (; i<4; ++i, ++cp) {
-		data |= (*(uchar *)cp) << (8*i);
-	}
-
-	/* Disable interrupts which might cause a timeout here */
-	flag = disable_interrupts();
-
-	rc = _write_word_ptr(info->start[0], wp, data);
-
-	/* re-enable interrupts if necessary */
-	if (flag) {
-		enable_interrupts();
-	}
-
-	return rc;
-
-}
diff --git a/board/sc520_cdp/flash_old.c b/board/sc520_cdp/flash_old.c
deleted file mode 100644
index 9491ca2..0000000
--- a/board/sc520_cdp/flash_old.c
+++ /dev/null
@@ -1,458 +0,0 @@
-/*
- * (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB, daniel@omicron.se
- *
- * (C) Copyright 2002
- * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
- * Alex Zuepke <azu@sysgo.de>
- *
- * 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 <asm/io.h>
-
-ulong myflush(void);
-
-
-#define SC520_MAX_FLASH_BANKS  3
-#define SC520_FLASH_BANK0_BASE 0x38000000  /* BOOTCS */
-#define SC520_FLASH_BANK1_BASE 0x30000000  /* ROMCS0 */
-#define SC520_FLASH_BANK2_BASE 0x28000000  /* ROMCS1 */
-#define SC520_FLASH_BANKSIZE   0x8000000
-
-#define AMD29LV016_SIZE        0x200000
-#define AMD29LV016_SECTORS     32
-
-flash_info_t    flash_info[SC520_MAX_FLASH_BANKS];
-
-#define CMD_READ_ARRAY		0x00F000F0
-#define CMD_UNLOCK1		0x00AA00AA
-#define CMD_UNLOCK2		0x00550055
-#define CMD_ERASE_SETUP		0x00800080
-#define CMD_ERASE_CONFIRM	0x00300030
-#define CMD_PROGRAM		0x00A000A0
-#define CMD_UNLOCK_BYPASS	0x00200020
-
-
-#define BIT_ERASE_DONE		0x00800080
-#define BIT_RDY_MASK		0x00800080
-#define BIT_PROGRAM_ERROR	0x00200020
-#define BIT_TIMEOUT		0x80000000 /* our flag */
-
-#define READY 1
-#define ERR   2
-#define TMO   4
-
-/*-----------------------------------------------------------------------
- */
-
-ulong flash_init(void)
-{
-	int i, j;
-	ulong size = 0;
-
-	for (i = 0; i < SC520_MAX_FLASH_BANKS; i++) {
-		ulong flashbase = 0;
-		int sectsize = 0;
-		if (i==0 || i==2) {
-			/* FixMe: this assumes that bank 0 and 2
-			 * are mapped to the two 8Mb banks */
-			flash_info[i].flash_id =
-				(AMD_MANUFACT & FLASH_VENDMASK) |
-				(AMD_ID_LV016B & FLASH_TYPEMASK);
-
-			flash_info[i].size = AMD29LV016_SIZE*4;
-			flash_info[i].sector_count = AMD29LV016_SECTORS;
-			sectsize = (AMD29LV016_SIZE*4)/AMD29LV016_SECTORS;
-		} else {
-			/* FixMe: this assumes that bank1 is unmapped
-			 * (or mapped to the same flash bank as BOOTCS) */
-			flash_info[i].flash_id = 0;
-			flash_info[i].size = 0;
-			flash_info[i].sector_count = 0;
-			sectsize=0;
-		}
-		memset(flash_info[i].protect, 0, CONFIG_SYS_MAX_FLASH_SECT);
-		switch (i) {
-		case 0:
-			flashbase = SC520_FLASH_BANK0_BASE;
-			break;
-		case 1:
-			flashbase = SC520_FLASH_BANK1_BASE;
-			break;
-		case 2:
-			flashbase = SC520_FLASH_BANK0_BASE;
-			break;
-		default:
-			panic("configured too many flash banks!\n");
-		}
-
-		for (j = 0; j < flash_info[i].sector_count; j++) {
-			flash_info[i].start[j] = sectsize;
-			flash_info[i].start[j] = flashbase + j * sectsize;
-		}
-		size += flash_info[i].size;
-	}
-
-	/*
-	 * Protect monitor and environment sectors
-	 */
-	flash_protect(FLAG_PROTECT_SET,
-		      i386boot_start-SC520_FLASH_BANK0_BASE,
-		      i386boot_end-SC520_FLASH_BANK0_BASE,
-		      &flash_info[0]);
-
-#ifdef CONFIG_ENV_ADDR
-	flash_protect(FLAG_PROTECT_SET,
-		      CONFIG_ENV_ADDR,
-		      CONFIG_ENV_ADDR + CONFIG_ENV_SIZE - 1,
-		      &flash_info[0]);
-#endif
-	return size;
-}
-
-/*-----------------------------------------------------------------------
- */
-void flash_print_info(flash_info_t *info)
-{
-	int i;
-
-	switch (info->flash_id & FLASH_VENDMASK) {
-	case (AMD_MANUFACT & FLASH_VENDMASK):
-		printf("AMD: ");
-		break;
-	default:
-		printf("Unknown Vendor ");
-		break;
-	}
-
-	switch (info->flash_id & FLASH_TYPEMASK) {
-	case (AMD_ID_LV016B & FLASH_TYPEMASK):
-		printf("4x Amd29LV016B (16Mbit)\n");
-		break;
-	default:
-		printf("Unknown Chip Type\n");
-		goto done;
-		break;
-	}
-
-	printf("  Size: %ld MB in %d Sectors\n",
-	       info->size >> 20, info->sector_count);
-
-	printf("  Sector Start Addresses:");
-	for (i = 0; i < info->sector_count; i++) {
-		if ((i % 5) == 0) {
-			printf ("\n   ");
-		}
-		printf (" %08lX%s", info->start[i],
-			info->protect[i] ? " (RO)" : "     ");
-	}
-	printf ("\n");
-
-	done:
-}
-
-/*-----------------------------------------------------------------------
- */
-
-int flash_erase(flash_info_t *info, int s_first, int s_last)
-{
-	ulong result;
-	int iflag, prot, sect;
-	int rc = ERR_OK;
-	int chip1, chip2;
-
-	/* first look for protection bits */
-
-	if (info->flash_id == FLASH_UNKNOWN) {
-		return ERR_UNKNOWN_FLASH_TYPE;
-	}
-
-	if ((s_first < 0) || (s_first > s_last)) {
-		return ERR_INVAL;
-	}
-
-	if ((info->flash_id & FLASH_VENDMASK) !=
-	    (AMD_MANUFACT & FLASH_VENDMASK)) {
-		return ERR_UNKNOWN_FLASH_VENDOR;
-	}
-
-	prot = 0;
-	for (sect=s_first; sect<=s_last; ++sect) {
-		if (info->protect[sect]) {
-			prot++;
-		}
-	}
-	if (prot) {
-		return ERR_PROTECTED;
-	}
-
-	/*
-	 * Disable interrupts which might cause a timeout
-	 * here. Remember that our exception vectors are
-	 * at address 0 in the flash, and we don't want a
-	 * (ticker) exception to happen while the flash
-	 * chip is in programming mode.
-	 */
-	iflag = disable_interrupts();
-
-	/* Start erase on unprotected sectors */
-	for (sect = s_first; sect<=s_last && !ctrlc(); sect++) {
-		printf("Erasing sector %2d ... ", sect);
-
-		/* arm simple, non interrupt dependent timer */
-		reset_timer();
-
-		if (info->protect[sect] == 0) {
-			/* not protected */
-			ulong addr = info->start[sect];
-
-			writel(CMD_UNLOCK1, addr + 1);
-			writel(CMD_UNLOCK2, addr + 2);
-			writel(CMD_ERASE_SETUP, addr + 1);
-
-			writel(CMD_UNLOCK1, addr + 1);
-			writel(CMD_UNLOCK2, addr + 2);
-			writel(CMD_ERASE_CONFIRM, addr);
-
-
-			/* wait until flash is ready */
-			chip1 = chip2 = 0;
-
-			do {
-				result = readl(addr);
-
-				/* check timeout */
-				if (get_timer(0) > CONFIG_SYS_FLASH_ERASE_TOUT) {
-					writel(CMD_READ_ARRAY, addr + 1);
-					chip1 = TMO;
-					break;
-				}
-
-				if (!chip1 && (result & 0xFFFF) & BIT_ERASE_DONE) {
-					chip1 = READY;
-				}
-
-				if (!chip1 && (result & 0xFFFF) & BIT_PROGRAM_ERROR) {
-					chip1 = ERR;
-				}
-
-				if (!chip2 && (result >> 16) & BIT_ERASE_DONE) {
-					chip2 = READY;
-				}
-
-				if (!chip2 && (result >> 16) & BIT_PROGRAM_ERROR) {
-					chip2 = ERR;
-				}
-
-			}  while (!chip1 || !chip2);
-
-			writel(CMD_READ_ARRAY, addr + 1);
-
-			if (chip1 == ERR || chip2 == ERR) {
-				rc = ERR_PROG_ERROR;
-				goto outahere;
-			}
-
-			if (chip1 == TMO) {
-				rc = ERR_TIMOUT;
-				goto outahere;
-			}
-
-			printf("ok.\n");
-		} else { /* it was protected */
-
-			printf("protected!\n");
-		}
-	}
-
-	if (ctrlc()) {
-		printf("User Interrupt!\n");
-	}
-
-outahere:
-	/* allow flash to settle - wait 10 ms */
-	udelay(10000);
-
-	if (iflag) {
-		enable_interrupts();
-	}
-
-	return rc;
-}
-
-/*-----------------------------------------------------------------------
- * Copy memory to flash
- */
-
-volatile static int write_word(flash_info_t *info, ulong dest, ulong data)
-{
-	ulong addr = dest;
-	ulong result;
-	int rc = ERR_OK;
-	int iflag;
-	int chip1, chip2;
-
-	/*
-	 * Check if Flash is (sufficiently) erased
-	 */
-	result = readl(addr);
-	if ((result & data) != data) {
-		return ERR_NOT_ERASED;
-	}
-
-	/*
-	 * Disable interrupts which might cause a timeout
-	 * here. Remember that our exception vectors are
-	 * at address 0 in the flash, and we don't want a
-	 * (ticker) exception to happen while the flash
-	 * chip is in programming mode.
-	 */
-	iflag = disable_interrupts();
-
-	writel(CMD_UNLOCK1, addr + 1);
-	writel(CMD_UNLOCK2, addr + 2);
-	writel(CMD_UNLOCK_BYPASS, addr + 1);
-	writel(addr, CMD_PROGRAM);
-	writel(addr, data);
-
-	/* arm simple, non interrupt dependent timer */
-	reset_timer();
-
-	/* wait until flash is ready */
-	chip1 = chip2 = 0;
-	do {
-		result = readl(addr);
-
-		/* check timeout */
-		if (get_timer(0) > CONFIG_SYS_FLASH_ERASE_TOUT) {
-			chip1 = ERR | TMO;
-			break;
-		}
-
-		if (!chip1 && ((result & 0x80) == (data & 0x80))) {
-			chip1 = READY;
-		}
-
-		if (!chip1 && ((result & 0xFFFF) & BIT_PROGRAM_ERROR)) {
-			result = readl(addr);
-
-			if ((result & 0x80) == (data & 0x80)) {
-				chip1 = READY;
-			} else {
-				chip1 = ERR;
-			}
-		}
-
-		if (!chip2 && ((result & (0x80 << 16)) == (data & (0x80 << 16)))) {
-			chip2 = READY;
-		}
-
-		if (!chip2 && ((result >> 16) & BIT_PROGRAM_ERROR)) {
-			result = readl(addr);
-
-			if ((result & (0x80 << 16)) == (data & (0x80 << 16))) {
-				chip2 = READY;
-			} else {
-				chip2 = ERR;
-			}
-		}
-
-	}  while (!chip1 || !chip2);
-
-	writel(CMD_READ_ARRAY, addr);
-
-	if (chip1 == ERR || chip2 == ERR || readl(addr) != data) {
-		rc = ERR_PROG_ERROR;
-	}
-
-	if (iflag) {
-		enable_interrupts();
-	}
-
-	return rc;
-}
-
-/*-----------------------------------------------------------------------
- * Copy memory to flash.
- */
-
-int write_buff(flash_info_t *info, uchar *src, ulong addr, ulong cnt)
-{
-	ulong cp, wp, data;
-	int l;
-	int i, rc;
-
-	wp = (addr & ~3);	/* get lower word aligned address */
-
-	/*
-	 * handle unaligned start bytes
-	 */
-	if ((l = addr - wp) != 0) {
-		data = 0;
-		for (i=0, cp=wp; i<l; ++i, ++cp) {
-			data = (data >> 8) | (*(uchar *)cp << 24);
-		}
-		for (; i<4 && cnt>0; ++i) {
-			data = (data >> 8) | (*src++ << 24);
-			--cnt;
-			++cp;
-		}
-		for (; cnt==0 && i<4; ++i, ++cp) {
-			data = (data >> 8) | (*(uchar *)cp << 24);
-		}
-
-		if ((rc = write_word(info, wp, data)) != 0) {
-			return rc;
-		}
-		wp += 4;
-	}
-
-	/*
-	 * handle word aligned part
-	 */
-	while (cnt >= 4) {
-		data = *((vu_long*)src);
-		if ((rc = write_word(info, wp, data)) != 0) {
-			return rc;
-		}
-		src += 4;
-		wp  += 4;
-		cnt -= 4;
-	}
-
-	if (cnt == 0) {
-		return ERR_OK;
-	}
-
-	/*
-	 * handle unaligned tail bytes
-	 */
-	data = 0;
-	for (i=0, cp=wp; i<4 && cnt>0; ++i, ++cp) {
-		data = (data >> 8) | (*src++ << 24);
-		--cnt;
-	}
-	for (; i<4; ++i, ++cp) {
-		data = (data >> 8) | (*(uchar *)cp << 24);
-	}
-
-	return write_word(info, wp, data);
-}
diff --git a/board/sc520_cdp/sc520_cdp.c b/board/sc520_cdp/sc520_cdp.c
deleted file mode 100644
index 4c44b24..0000000
--- a/board/sc520_cdp/sc520_cdp.c
+++ /dev/null
@@ -1,396 +0,0 @@
-/*
- *
- * (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB <daniel@omicron.se>.
- *
- * 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 <asm/io.h>
-#include <asm/ic/sc520.h>
-#include <ali512x.h>
-#include <spi.h>
-#include <netdev.h>
-
-DECLARE_GLOBAL_DATA_PTR;
-
-#undef SC520_CDP_DEBUG
-
-#ifdef	SC520_CDP_DEBUG
-#define	PRINTF(fmt,args...)	printf (fmt ,##args)
-#else
-#define PRINTF(fmt,args...)
-#endif
-
-/* ------------------------------------------------------------------------- */
-
-
-/*
- * Theory:
- * We first set up all IRQs to be non-pci, edge triggered,
- * when we later enumerate the pci bus and pci_sc520_fixup_irq() gets
- * called we reallocate irqs to the pci bus with sc520_pci_set_irq()
- * as needed. Whe choose the irqs to gram from a configurable list
- * inside pci_sc520_fixup_irq() (If this list contains stupid irq's
- * such as 0 thngas will not work)
- */
-
-static void irq_init(void)
-{
-	/* disable global interrupt mode */
-	sc520_mmcr->picicr = 0x40;
-
-	/* set all irqs to edge */
-	sc520_mmcr->pic_mode[0] = 0x00;
-	sc520_mmcr->pic_mode[1] = 0x00;
-	sc520_mmcr->pic_mode[2] = 0x00;
-
-	/* active low polarity on PIC interrupt pins,
-	 *  active high polarity on all other irq pins */
-	sc520_mmcr->intpinpol = 0x0000;
-
-	/* set irq number mapping */
-	sc520_mmcr->gp_tmr_int_map[0] = SC520_IRQ_DISABLED;	/* disable GP timer 0 INT */
-	sc520_mmcr->gp_tmr_int_map[1] = SC520_IRQ_DISABLED;	/* disable GP timer 1 INT */
-	sc520_mmcr->gp_tmr_int_map[2] = SC520_IRQ_DISABLED;	/* disable GP timer 2 INT */
-	sc520_mmcr->pit_int_map[0] = SC520_IRQ0;		/* Set PIT timer 0 INT to IRQ0 */
-	sc520_mmcr->pit_int_map[1] = SC520_IRQ_DISABLED;	/* disable PIT timer 1 INT */
-	sc520_mmcr->pit_int_map[2] = SC520_IRQ_DISABLED;	/* disable PIT timer 2 INT */
-	sc520_mmcr->pci_int_map[0] = SC520_IRQ_DISABLED;	/* disable PCI INT A */
-	sc520_mmcr->pci_int_map[1] = SC520_IRQ_DISABLED;	/* disable PCI INT B */
-	sc520_mmcr->pci_int_map[2] = SC520_IRQ_DISABLED;	/* disable PCI INT C */
-	sc520_mmcr->pci_int_map[3] = SC520_IRQ_DISABLED;	/* disable PCI INT D */
-	sc520_mmcr->dmabcintmap = SC520_IRQ_DISABLED;		/* disable DMA INT */
-	sc520_mmcr->ssimap = SC520_IRQ_DISABLED;		/* disable Synchronius serial INT */
-	sc520_mmcr->wdtmap = SC520_IRQ_DISABLED;		/* disable Watchdog INT */
-	sc520_mmcr->rtcmap = SC520_IRQ8;			/* Set RTC int to 8 */
-	sc520_mmcr->wpvmap = SC520_IRQ_DISABLED;		/* disable write protect INT */
-	sc520_mmcr->icemap = SC520_IRQ1;			/* Set ICE Debug Serielport INT to IRQ1 */
-	sc520_mmcr->ferrmap = SC520_IRQ13; 			/* Set FP error INT to IRQ13 */
-
-	if (CONFIG_SYS_USE_SIO_UART) {
-		sc520_mmcr->uart_int_map[0] = SC520_IRQ_DISABLED;	/* disable internal UART1 INT */
-		sc520_mmcr->uart_int_map[1] = SC520_IRQ_DISABLED;	/* disable internal UART2 INT */
-		sc520_mmcr->gp_int_map[3] = SC520_IRQ3;		/* Set GPIRQ3 (ISA IRQ3) to IRQ3 */
-		sc520_mmcr->gp_int_map[4] = SC520_IRQ4;		/* Set GPIRQ4 (ISA IRQ4) to IRQ4 */
-	} else {
-		sc520_mmcr->uart_int_map[0] = SC520_IRQ4;		/* Set internal UART2 INT to IRQ4 */
-		sc520_mmcr->uart_int_map[1] = SC520_IRQ3;		/* Set internal UART2 INT to IRQ3 */
-		sc520_mmcr->gp_int_map[3] = SC520_IRQ_DISABLED;	/* disable GPIRQ3 (ISA IRQ3) */
-		sc520_mmcr->gp_int_map[4] = SC520_IRQ_DISABLED;	/* disable GPIRQ4 (ISA IRQ4) */
-	}
-
-	sc520_mmcr->gp_int_map[1] = SC520_IRQ1;			/* Set GPIRQ1 (SIO IRQ1) to IRQ1 */
-	sc520_mmcr->gp_int_map[5] = SC520_IRQ5;			/* Set GPIRQ5 (ISA IRQ5) to IRQ5 */
-	sc520_mmcr->gp_int_map[6] = SC520_IRQ6;			/* Set GPIRQ6 (ISA IRQ6) to IRQ6 */
-	sc520_mmcr->gp_int_map[7] = SC520_IRQ7;			/* Set GPIRQ7 (ISA IRQ7) to IRQ7 */
-	sc520_mmcr->gp_int_map[8] = SC520_IRQ8;			/* Set GPIRQ8 (SIO IRQ8) to IRQ8 */
-	sc520_mmcr->gp_int_map[9] = SC520_IRQ9;			/* Set GPIRQ9 (ISA IRQ2) to IRQ9 */
-	sc520_mmcr->gp_int_map[0] = SC520_IRQ11;		/* Set GPIRQ0 (ISA IRQ11) to IRQ10 */
-	sc520_mmcr->gp_int_map[2] = SC520_IRQ12;		/* Set GPIRQ2 (ISA IRQ12) to IRQ12 */
-	sc520_mmcr->gp_int_map[10] = SC520_IRQ14;		/* Set GPIRQ10 (ISA IRQ14) to IRQ14 */
-
-	sc520_mmcr->pcihostmap = 0x11f;				/* Map PCI hostbridge INT to NMI */
-	sc520_mmcr->eccmap = 0x100;				/* Map SDRAM ECC failure INT to NMI */
-}
-
-static void silence_uart(int port)
-{
-	outb(0, port+1);
-}
-
-void setup_ali_sio(int uart_primary)
-{
-	ali512x_init();
-
-	ali512x_set_fdc(ALI_ENABLED, 0x3f2, 6, 0);
-	ali512x_set_pp(ALI_ENABLED, 0x278, 7, 3);
-	ali512x_set_uart(ALI_ENABLED, ALI_UART1, uart_primary?0x3f8:0x3e8, 4);
-	ali512x_set_uart(ALI_ENABLED, ALI_UART2, uart_primary?0x2f8:0x2e8, 3);
-	ali512x_set_rtc(ALI_DISABLED, 0, 0);
-	ali512x_set_kbc(ALI_ENABLED, 1, 12);
-	ali512x_set_cio(ALI_ENABLED);
-
-	/* IrDa pins */
-	ali512x_cio_function(12, 1, 0, 0);
-	ali512x_cio_function(13, 1, 0, 0);
-
-	/* SSI chip select pins */
-	ali512x_cio_function(14, 0, 0, 0);  /* SSI_CS */
-	ali512x_cio_function(15, 0, 0, 0);  /* SSI_MV */
-	ali512x_cio_function(16, 0, 0, 0);  /* SSI_SPI# */
-
-	/* Board REV pins */
-	ali512x_cio_function(20, 0, 0, 1);
-	ali512x_cio_function(21, 0, 0, 1);
-	ali512x_cio_function(22, 0, 0, 1);
-	ali512x_cio_function(23, 0, 0, 1);
-}
-
-
-/* set up the ISA bus timing and system address mappings */
-static void bus_init(void)
-{
-
-	/* set up the GP IO pins */
-	sc520_mmcr->piopfs31_16 = 0xf7ff;	/* set the GPIO pin function 31-16 reg */
-	sc520_mmcr->piopfs15_0 = 0xffff;	/* set the GPIO pin function 15-0 reg */
-	sc520_mmcr->cspfs = 0xf8;		/* set the CS pin function  reg */
-	sc520_mmcr->clksel = 0x70;
-
-	sc520_mmcr->gpcsrt = 1;   		/* set the GP CS offset */
-	sc520_mmcr->gpcspw = 3;   		/* set the GP CS pulse width */
-	sc520_mmcr->gpcsoff = 1;  		/* set the GP CS offset */
-	sc520_mmcr->gprdw = 3;    		/* set the RD pulse width */
-	sc520_mmcr->gprdoff = 1;  		/* set the GP RD offset */
-	sc520_mmcr->gpwrw = 3;   		 /* set the GP WR pulse width */
-	sc520_mmcr->gpwroff = 1; 		 /* set the GP WR offset */
-
-	sc520_mmcr->bootcsctl = 0x1823;		/* set up timing of BOOTCS */
-	sc520_mmcr->romcs1ctl = 0x1823;		/* set up timing of ROMCS1 */
-	sc520_mmcr->romcs2ctl = 0x1823;		/* set up timing of ROMCS2 */
-
-	/* adjust the memory map:
-	 * by default the first 256MB (0x00000000 - 0x0fffffff) is mapped to SDRAM
-	 * and 256MB to 1G-128k  (0x1000000 - 0x37ffffff) is mapped to PCI mmio
-	 * we need to map 1G-128k - 1G (0x38000000 - 0x3fffffff) to CS1 */
-
-
-	/* SRAM = GPCS3 128k @ d0000-effff*/
-	sc520_mmcr->par[2] = 0x4e00400d;
-
-	/* IDE0 = GPCS6 1f0-1f7 */
-	sc520_mmcr->par[3] = 0x380801f0;
-
-	/* IDE1 = GPCS7 3f6 */
-	sc520_mmcr->par[4] = 0x3c0003f6;
-	/* bootcs */
-	sc520_mmcr->par[12] = 0x8bffe800;
-	/* romcs2 */
-	sc520_mmcr->par[13] = 0xcbfff000;
-	/* romcs1 */
-	sc520_mmcr->par[14] = 0xabfff800;
-	/* 680 LEDS */
-	sc520_mmcr->par[15] = 0x30000640;
-
-	sc520_mmcr->adddecctl = 0;
-
-	asm ("wbinvd\n"); /* Flush cache, req. after setting the unchached attribute ona PAR */
-
-	if (CONFIG_SYS_USE_SIO_UART) {
-		sc520_mmcr->adddecctl = sc520_mmcr->adddecctl | UART2_DIS | UART1_DIS;
-		setup_ali_sio(1);
-	} else {
-		sc520_mmcr->adddecctl = sc520_mmcr->adddecctl & ~(UART2_DIS|UART1_DIS);
-		setup_ali_sio(0);
-		silence_uart(0x3e8);
-		silence_uart(0x2e8);
-	}
-
-}
-
-/* GPCS usage
- * GPCS0       PIO27 (NMI)
- * GPCS1       ROMCS1
- * GPCS2       ROMCS2
- * GPCS3       SRAMCS       PAR2
- * GPCS4       unused       PAR3
- * GPCS5       unused       PAR4
- * GPCS6       IDE
- * GPCS7       IDE
- */
-
-
-/* par usage:
- * PAR0   legacy_video
- * PAR1   PCI ROM mapping
- * PAR2   SRAM
- * PAR3   IDE
- * PAR4   IDE
- * PAR5   legacy_video
- * PAR6   legacy_video
- * PAR7   legacy_video
- * PAR8   legacy_video
- * PAR9   legacy_video
- * PAR10  legacy_video
- * PAR11  ISAROM
- * PAR12  BOOTCS
- * PAR13  ROMCS1
- * PAR14  ROMCS2
- * PAR15  Port 0x680 LED display
- */
-
-/*
- * Miscelaneous platform dependent initialisations
- */
-
-int board_init(void)
-{
-	init_sc520();
-	bus_init();
-	irq_init();
-
-	/* max drive current on SDRAM */
-	sc520_mmcr->dsctl = 0x0100;
-
-	/* enter debug mode after next reset (only if jumper is also set) */
-	sc520_mmcr->rescfg = 0x08;
-	/* configure the software timer to 33.333MHz */
-	sc520_mmcr->swtmrcfg = 0;
-	gd->bus_clk = 33333000;
-
-	return 0;
-}
-
-int dram_init(void)
-{
-	init_sc520_dram();
-	return 0;
-}
-
-void show_boot_progress(int val)
-{
-	if (val < -32) val = -1;  /* let things compatible */
-	outb(val&0xff, 0x80);
-	outb((val&0xff00)>>8, 0x680);
-}
-
-
-int last_stage_init(void)
-{
-	int minor;
-	int major;
-
-	major = minor = 0;
-	major |= ali512x_cio_in(23)?2:0;
-	major |= ali512x_cio_in(22)?1:0;
-	minor |= ali512x_cio_in(21)?2:0;
-	minor |= ali512x_cio_in(20)?1:0;
-
-	printf("AMD SC520 CDP revision %d.%d\n", major, minor);
-
-	return 0;
-}
-
-
-void ssi_chip_select(int dev)
-{
-
-	/* Spunk board: SPI EEPROM is active-low, MW EEPROM and AUX are active high */
-	switch (dev) {
-	case 1: /* SPI EEPROM */
-		ali512x_cio_out(16, 0);
-		break;
-
-	case 2: /* MW EEPROM */
-		ali512x_cio_out(15, 1);
-		break;
-
-	case 3: /* AUX */
-		ali512x_cio_out(14, 1);
-		break;
-
-	case 0:
-		ali512x_cio_out(16, 1);
-		ali512x_cio_out(15, 0);
-		ali512x_cio_out(14, 0);
-		break;
-
-	default:
-		printf("Illegal SSI device requested: %d\n", dev);
-	}
-}
-
-void spi_eeprom_probe(int x)
-{
-}
-
-int spi_eeprom_read(int x, int offset, uchar *buffer, int len)
-{
-       return 0;
-}
-
-int spi_eeprom_write(int x, int offset, uchar *buffer, int len)
-{
-       return 0;
-}
-
-void spi_init_f(void)
-{
-#ifdef CONFIG_SYS_SC520_CDP_USE_SPI
-	spi_eeprom_probe(1);
-#endif
-#ifdef CONFIG_SYS_SC520_CDP_USE_MW
-	mw_eeprom_probe(2);
-#endif
-}
-
-ssize_t spi_read(uchar *addr, int alen, uchar *buffer, int len)
-{
-	int offset;
-	int i;
-	ssize_t res;
-
-	offset = 0;
-	for (i=0;i<alen;i++) {
-		offset <<= 8;
-		offset |= addr[i];
-	}
-
-#ifdef CONFIG_SYS_SC520_CDP_USE_SPI
-	res = spi_eeprom_read(1, offset, buffer, len);
-#endif
-#ifdef CONFIG_SYS_SC520_CDP_USE_MW
-	res = mw_eeprom_read(2, offset, buffer, len);
-#endif
-#if !defined(CONFIG_SYS_SC520_CDP_USE_SPI) && !defined(CONFIG_SYS_SC520_CDP_USE_MW)
-	res = 0;
-#endif
-	return res;
-}
-
-ssize_t spi_write(uchar *addr, int alen, uchar *buffer, int len)
-{
-	int offset;
-	int i;
-	ssize_t res;
-
-	offset = 0;
-	for (i=0;i<alen;i++) {
-		offset <<= 8;
-		offset |= addr[i];
-	}
-
-#ifdef CONFIG_SYS_SC520_CDP_USE_SPI
-	res = spi_eeprom_write(1, offset, buffer, len);
-#endif
-#ifdef CONFIG_SYS_SC520_CDP_USE_MW
-	res = mw_eeprom_write(2, offset, buffer, len);
-#endif
-#if !defined(CONFIG_SYS_SC520_CDP_USE_SPI) && !defined(CONFIG_SYS_SC520_CDP_USE_MW)
-	res = 0;
-#endif
-	return res;
-}
-
-int board_eth_init(bd_t *bis)
-{
-	return pci_eth_init(bis);
-}
diff --git a/board/sc520_cdp/sc520_cdp_asm.S b/board/sc520_cdp/sc520_cdp_asm.S
deleted file mode 100644
index 3a8a03f..0000000
--- a/board/sc520_cdp/sc520_cdp_asm.S
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB <daniel@omicron.se>.
- *
- * 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
- */
-
-/* now setup the General purpose bus to give us access to the LEDs.
- * We can then use the leds to display status information.
- */
-
-sc520_cdp_registers:
-/* size    offset        value */
-.word 1 ; .word 0x040 ; .long 0x00       /* SDRAM buffer control */
-.word 2 ; .word 0xc08 ; .long 0x0001     /* GP CS offset */
-.word 2 ; .word 0xc09 ; .long 0x0003     /* GP CS width */
-.word 2 ; .word 0xc0a ; .long 0x0001     /* GP CS width */
-.word 2 ; .word 0xc0b ; .long 0x0003     /* GP RD pulse width */
-.word 2 ; .word 0xc0c ; .long 0x0001     /* GP RD offse */
-.word 2 ; .word 0xc0d ; .long 0x0003     /* GP WR pulse width */
-.word 2 ; .word 0xc0e ; .long 0x0001     /* GP WR offset */
-.word 2 ; .word 0xc2c ; .long 0x0000     /* GPIO directionreg */
-.word 2 ; .word 0xc2a ; .long 0x0000     /* GPIO directionreg */
-.word 2 ; .word 0xc22 ; .long 0xffff     /* GPIO pin function 31-16 reg */
-.word 2 ; .word 0xc20 ; .long 0xffff     /* GPIO pin function 15-0 reg */
-.word 2 ; .word 0x0c4 ; .long 0x28000680 /* PAR 15 for access to led 680 */
-.word 0 ; .word 0x000 ; .long 0x00
-
-/* board early intialization */
-.globl early_board_init
-early_board_init:
-	movl    $sc520_cdp_registers,%esi
-init_loop:
-	movl    $0xfffef000,%edi     /* MMCR base to edi */
-	movw	(%esi), %bx          /* load sizer to bx */
-	cmpw	$0, %bx              /* if sie is 0 we're done */
-	je	done
-	xorl	%edx,%edx
-	movw	2(%esi), %dx        /* load MMCR offset to dx */
-	addl	%edx, %edi          /* add offset to base in edi */
-	movl	4(%esi), %eax       /* load value in eax */
-	cmpw	$1, %bx
-	je	byte                 /* byte op? */
-	cmpw	$2, %bx
-	je	word                 /* word op? */
-	movl	%eax, (%edi)         /* must be long, then */
-	jmp	next
-byte:   movb    %al,(%edi)
-	jmp	next
-word:	movw	%ax,(%edi)
-next:	addl	$8, %esi             /* advance esi */
-	jmp	init_loop
-
-	/* the leds ad 0x80 and 0x680 should now work */
-done:   movb	$0x88, %al
-	out	%al, $0x80
-	movw	$0x680, %dx
-	out	%al, %dx
-
-	jmp	*%ebp		     /* return to caller */
-
-
-.globl show_boot_progress_asm
-show_boot_progress_asm:
-	out	%al, $0x80
-	xchg	%al, %ah
-	movw	$0x680, %dx
-	out	%al, %dx
-	jmp	*%ebp
diff --git a/board/sc520_cdp/sc520_cdp_asm16.S b/board/sc520_cdp/sc520_cdp_asm16.S
deleted file mode 100644
index a3e700a..0000000
--- a/board/sc520_cdp/sc520_cdp_asm16.S
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB <daniel@omicron.se>.
- *
- * 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
- */
-
-/*
- * 16bit initialization code.
- * This code have to map the area of the boot flash
- * that is used by U-boot to its final destination.
- */
-
-.text
-.section .start16, "ax"
-.code16
-.globl board_init16
-board_init16:
-	/* Alias MMCR to 0xdf000 */
-	movw	$0xfffc, %dx
-	movl	$0x800df0cb, %eax
-	outl	%eax, %dx
-
-	/* Set ds to point to MMCR alias */
-	movw	$0xdf00, %ax
-	movw	%ax, %ds
-
-	/* Map the entire flash at 0x38000000
-	 * (with BOOTCS and PAR14, use 0xabfff800 for ROMCS1) */
-	movl    $0xc0, %edi
-	movl	$0x8bfff800, %eax
-	movl	%eax, (%di)
-
-	/* Disable SDRAM write buffer */
-	movw    $0x40,%di
-	xorw    %ax,%ax
-	movb    %al, (%di)
-
-	/* Disabe MMCR alias */
-	movw	$0xfffc, %dx
-	movl	$0x000000cb, %eax
-	outl	%eax, %dx
-
-	/* the return address is tored in bp */
-	jmp	*%bp
-
-
-.section .bios, "ax"
-.code16
-.globl realmode_reset
-realmode_reset:
-	/* Alias MMCR to 0xdf000 */
-	movw	$0xfffc, %dx
-	movl	$0x800df0cb, %eax
-	outl	%eax, %dx
-
-	/* Set ds to point to MMCR alias */
-	movw	$0xdf00, %ax
-	movw	%ax, %ds
-
-	/* issue software reset thorugh MMCR */
-	movl    $0xd72, %edi
-	movb	$0x01, %al
-	movb	%al, (%di)
-
-1:	hlt
-	jmp	1
diff --git a/board/sc520_cdp/sc520_cdp_pci.c b/board/sc520_cdp/sc520_cdp_pci.c
deleted file mode 100644
index ccb7988..0000000
--- a/board/sc520_cdp/sc520_cdp_pci.c
+++ /dev/null
@@ -1,271 +0,0 @@
-/*
- *
- * (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB <daniel@omicron.se>.
- *
- * 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 <pci.h>
-#include <asm/io.h>
-#include <asm/pci.h>
-#include <asm/ic/sc520.h>
-#include <asm/ic/pci.h>
-
-DECLARE_GLOBAL_DATA_PTR;
-
-#undef SC520_CDP_DEBUG
-
-#ifdef	SC520_CDP_DEBUG
-#define	PRINTF(fmt,args...)	printf (fmt ,##args)
-#else
-#define PRINTF(fmt,args...)
-#endif
-
-static void pci_sc520_cdp_fixup_irq(struct pci_controller *hose, pci_dev_t dev)
-{
-	/* a configurable lists of irqs to steal
-	 * when we need one (a board with more pci interrupt pins
-	 * would use a larger table */
-	static int irq_list[] = {
-		CONFIG_SYS_FIRST_PCI_IRQ,
-		CONFIG_SYS_SECOND_PCI_IRQ,
-		CONFIG_SYS_THIRD_PCI_IRQ,
-		CONFIG_SYS_FORTH_PCI_IRQ
-	};
-	static int next_irq_index=0;
-
-	uchar tmp_pin;
-	int pin;
-
-	pci_hose_read_config_byte(hose, dev, PCI_INTERRUPT_PIN, &tmp_pin);
-	pin = tmp_pin;
-
-	pin-=1; /* pci config space use 1-based numbering */
-	if (-1 == pin) {
-		return; /* device use no irq */
-	}
-
-
-	/* map device number +  pin to a pin on the sc520 */
-	switch (PCI_DEV(dev)) {
-	case 20:
-		pin+=SC520_PCI_INTA;
-		break;
-
-	case 19:
-		pin+=SC520_PCI_INTB;
-		break;
-
-	case 18:
-		pin+=SC520_PCI_INTC;
-		break;
-
-	case 17:
-		pin+=SC520_PCI_INTD;
-		break;
-
-	default:
-		return;
-	}
-
-	pin&=3; /* wrap around */
-
-	if (sc520_pci_ints[pin] == -1) {
-		/* re-route one interrupt for us */
-		if (next_irq_index > 3) {
-			return;
-		}
-		if (pci_sc520_set_irq(pin, irq_list[next_irq_index])) {
-			return;
-		}
-		next_irq_index++;
-	}
-
-
-	if (-1 != sc520_pci_ints[pin]) {
-		pci_hose_write_config_byte(hose, dev, PCI_INTERRUPT_LINE,
-					   sc520_pci_ints[pin]);
-	}
-	PRINTF("fixup_irq: device %d pin %c irq %d\n",
-	       PCI_DEV(dev), 'A' + pin, sc520_pci_ints[pin]);
-}
-
-static struct pci_controller sc520_cdp_hose = {
-	fixup_irq: pci_sc520_cdp_fixup_irq,
-};
-
-void pci_init_board(void)
-{
-	pci_sc520_init(&sc520_cdp_hose);
-}
-
-/*
- * This function should map a chunk of size bytes
- * of the system address space to the ISA bus
- *
- * The function will return the memory address
- * as seen by the host (which may very will be the
- * same as the bus address)
- */
-u32 isa_map_rom(u32 bus_addr, int size)
-{
-	u32 par;
-
-	PRINTF("isa_map_rom asked to map %d bytes at %x\n",
-	       size, bus_addr);
-
-	par = size;
-	if (par < 0x80000) {
-		par = 0x80000;
-	}
-	par >>= 12;
-	par--;
-	par&=0x7f;
-	par <<= 18;
-	par |= (bus_addr>>12);
-	par |= 0x50000000;
-
-	PRINTF ("setting PAR11 to %x\n", par);
-
-	/* Map rom 0x10000 with PAR1 */
-	sc520_mmcr->par[11] = par;
-
-	return bus_addr;
-}
-
-/*
- * this function removed any mapping created
- * with pci_get_rom_window()
- */
-void isa_unmap_rom(u32 addr)
-{
-	PRINTF("isa_unmap_rom asked to unmap %x", addr);
-	if ((addr>>12) == (sc520_mmcr->par[11] & 0x3ffff)) {
-		sc520_mmcr->par[11] = 0;
-		PRINTF(" done\n");
-		return;
-	}
-	PRINTF(" not ours\n");
-}
-
-#define PCI_ROM_TEMP_SPACE 0x10000
-/*
- * This function should map a chunk of size bytes
- * of the system address space to the PCI bus,
- * suitable to map PCI ROMS (bus address < 16M)
- * the function will return the host memory address
- * which should be converted into a bus address
- * before used to configure the PCI rom address
- * decoder
- */
-u32 pci_get_rom_window(struct pci_controller *hose, int size)
-{
-	u32 par;
-
-	par = size;
-	if (par < 0x80000) {
-		par = 0x80000;
-	}
-	par >>= 16;
-	par--;
-	par&=0x7ff;
-	par <<= 14;
-	par |= (PCI_ROM_TEMP_SPACE>>16);
-	par |= 0x72000000;
-
-	PRINTF ("setting PAR1 to %x\n", par);
-
-	/* Map rom 0x10000 with PAR1 */
-	sc520_mmcr->par[1] = par;
-
-	return PCI_ROM_TEMP_SPACE;
-}
-
-/*
- * this function removed any mapping created
- * with pci_get_rom_window()
- */
-void pci_remove_rom_window(struct pci_controller *hose, u32 addr)
-{
-	PRINTF("pci_remove_rom_window: %x", addr);
-	if (addr == PCI_ROM_TEMP_SPACE) {
-		sc520_mmcr->par[1] = 0;
-		PRINTF(" done\n");
-		return;
-	}
-	PRINTF(" not ours\n");
-
-}
-
-/*
- * This function is called in order to provide acces to the
- * legacy video I/O ports on the PCI bus.
- * After this function accesses to I/O ports 0x3b0-0x3bb and
- * 0x3c0-0x3df shuld result in transactions on the PCI bus.
- *
- */
-int pci_enable_legacy_video_ports(struct pci_controller *hose)
-{
-	/* Map video memory to 0xa0000*/
-	sc520_mmcr->par[0] = 0x7200400a;
-
-	/* forward all I/O accesses to PCI */
-	sc520_mmcr->adddecctl = sc520_mmcr->adddecctl | IO_HOLE_DEST_PCI;
-
-
-	/* so we map away all io ports to pci (only way to access pci io
-	 * below 0x400. But then we have to map back the portions that we dont
-	 * use so that the generate cycles on the GPIO bus where the sio and
-	 * ISA slots are connected, this requre the use of several PAR registers
-	 */
-
-	/* bring 0x100 - 0x1ef back to ISA using PAR5 */
-	sc520_mmcr->par[5] = 0x30ef0100;
-
-	/* IDE use 1f0-1f7 */
-
-	/* bring 0x1f8 - 0x2f7 back to ISA using PAR6 */
-	sc520_mmcr->par[6] = 0x30ff01f8;
-
-	/* com2 use 2f8-2ff */
-
-	/* bring 0x300 - 0x3af back to ISA using PAR7 */
-	sc520_mmcr->par[7] = 0x30af0300;
-
-	/* vga use 3b0-3bb */
-
-	/* bring 0x3bc - 0x3bf back to ISA using PAR8 */
-	sc520_mmcr->par[8] = 0x300303bc;
-
-	/* vga use 3c0-3df */
-
-	/* bring 0x3e0 - 0x3f5 back to ISA using PAR9 */
-	sc520_mmcr->par[9] = 0x301503e0;
-
-	/* ide use 3f6 */
-
-	/* bring 0x3f7  back to ISA using PAR10 */
-	sc520_mmcr->par[10] = 0x300003f7;
-
-	/* com1 use 3f8-3ff */
-
-	return 0;
-}
diff --git a/board/sc520_cdp/u-boot.lds b/board/sc520_cdp/u-boot.lds
deleted file mode 100644
index df437c7..0000000
--- a/board/sc520_cdp/u-boot.lds
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB, daniel@omicron.se.
- *
- * 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
- */
-
-OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
-OUTPUT_ARCH(i386)
-ENTRY(_start)
-
-SECTIONS
-{
-	. = 0x387c0000;                     /* Where bootcode in the flash is mapped */
-	.text  : { *(.text); }
-
-	. = ALIGN(4);
-	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
-
-	. = 0x400000;	                    /* Ram data segment to use */
-	_i386boot_romdata_dest = ABSOLUTE(.);
-	.data : AT ( LOADADDR(.rodata) + SIZEOF(.rodata) ) { *(.data) }
-	_i386boot_romdata_start = LOADADDR(.data);
-
-	. = ALIGN(4);
-	.got : AT ( LOADADDR(.data) + SIZEOF(.data) ) { *(.got) }
-	_i386boot_romdata_size = SIZEOF(.data) + SIZEOF(.got);
-
-
-	. = ALIGN(4);
-	_i386boot_bss_start = ABSOLUTE(.);
-	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
-	_i386boot_bss_size = SIZEOF(.bss);
-
-
-	/* 16bit realmode trampoline code */
-	.realmode 0x7c0 : AT ( LOADADDR(.got) + SIZEOF(.got) ) { *(.realmode) }
-
-	_i386boot_realmode = LOADADDR(.realmode);
-	_i386boot_realmode_size = SIZEOF(.realmode);
-
-	/* 16bit BIOS emulation code (just enough to boot Linux) */
-	.bios 0 : AT ( LOADADDR(.realmode) + SIZEOF(.realmode) ) { *(.bios) }
-
-	_i386boot_bios = LOADADDR(.bios);
-	_i386boot_bios_size = SIZEOF(.bios);
-
-
-  . = .;
-  __u_boot_cmd_start = .;
-  .u_boot_cmd : { *(.u_boot_cmd) }
-  __u_boot_cmd_end = .;
-
-
-	/* The load addresses below assumes that the flash
-	 * will be mapped so that 0x387f0000 == 0xffff0000
-	 * at reset time
-	 *
-	 * The fe00 and ff00 offsets of the start32 and start16
-	 * segments are arbitrary, the just have to be mapped
-	 * at reset and the code have to fit.
-	 * The fff0 offset of resetvec is important, however.
-	 */
-
-
-	. = 0xfffffe00;
-	.start32 : AT (0x387ffe00) { *(.start32); }
-
-	. = 0xff00;
-	.start16 : AT (0x387fff00) { *(.start16); }
-
-	. = 0xfff0;
-	.resetvec : AT (0x387ffff0) { *(.resetvec); }
-	_i386boot_end = (LOADADDR(.resetvec) + SIZEOF(.resetvec) );
-}
diff --git a/board/sc520_spunk/Makefile b/board/sc520_spunk/Makefile
deleted file mode 100644
index 06fa2f3..0000000
--- a/board/sc520_spunk/Makefile
+++ /dev/null
@@ -1,56 +0,0 @@
-#
-# (C) Copyright 2006
-# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
-#
-# (C) Copyright 2002
-# Daniel Engström, Omicron Ceti AB, daniel@omicron.se.
-#
-# 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 $(TOPDIR)/config.mk
-
-LIB	= $(obj)lib$(BOARD).a
-
-COBJS-y	+= sc520_spunk.o
-COBJS-y	+= flash.o
-COBJS-$(CONFIG_PCI) += sc520_spunk_pci.o
-SOBJS-y	+= sc520_spunk_asm.o
-SOBJS-y	+= sc520_spunk_asm16.o
-
-SRCS	:= $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
-OBJS	:= $(addprefix $(obj),$(SOBJS-y) $(COBJS-y))
-
-$(LIB):	$(obj).depend $(OBJS) $(SOBJS)
-	$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-
-clean:
-	rm -f $(SOBJS) $(OBJS)
-
-distclean:	clean
-	rm -f $(LIB) core *.bak $(obj).depend
-
-#########################################################################
-
-# defines $(obj).depend target
-include $(SRCTREE)/rules.mk
-
-sinclude $(obj).depend
-
-#########################################################################
diff --git a/board/sc520_spunk/config.mk b/board/sc520_spunk/config.mk
deleted file mode 100644
index 2253815..0000000
--- a/board/sc520_spunk/config.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# (C) Copyright 2002
-# Daniel Engström, Omicron Ceti AB, daniel@omicron.se.
-#
-# 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
-#
-
-
-TEXT_BASE = 0x387c0000
diff --git a/board/sc520_spunk/flash.c b/board/sc520_spunk/flash.c
deleted file mode 100644
index d702046..0000000
--- a/board/sc520_spunk/flash.c
+++ /dev/null
@@ -1,791 +0,0 @@
-/*
- * (C) Copyright 2002, 2003
- * Daniel Engström, Omicron Ceti AB, daniel@omicron.se
- *
- * (C) Copyright 2002
- * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
- * Alex Zuepke <azu@sysgo.de>
- *
- * 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 <asm/io.h>
-#include <pci.h>
-#include <asm/ic/sc520.h>
-
-#define PROBE_BUFFER_SIZE 1024
-static unsigned char buffer[PROBE_BUFFER_SIZE];
-
-#define SC520_MAX_FLASH_BANKS  1
-#define SC520_FLASH_BANK0_BASE 0x38000000  /* BOOTCS */
-#define SC520_FLASH_BANKSIZE   0x8000000
-
-#define A29LV641DH_SIZE        0x800000
-#define A29LV641DH_SECTORS     128
-
-#define A29LV641MH_SIZE        0x800000
-#define A29LV641MH_SECTORS     128
-
-#define I28F320J3A_SIZE        0x400000
-#define I28F320J3A_SECTORS     32
-
-#define I28F640J3A_SIZE        0x800000
-#define I28F640J3A_SECTORS     64
-
-#define I28F128J3A_SIZE        0x1000000
-#define I28F128J3A_SECTORS     128
-
-flash_info_t    flash_info[SC520_MAX_FLASH_BANKS];
-
-#define READY 1
-#define ERR   2
-#define TMO   4
-
-/*-----------------------------------------------------------------------
- */
-
-static u32 _probe_flash(u32 addr, u32 bw, int il)
-{
-	u32 result=0;
-
-	/* First do an unlock cycle for the benefit of
-	 * devices that need it */
-
-	switch (bw) {
-
-	case 1:
-		*(volatile u8*)(addr+0x5555) = 0xaa;
-		*(volatile u8*)(addr+0x2aaa) = 0x55;
-		*(volatile u8*)(addr+0x5555) = 0x90;
-
-		/* Read vendor */
-		result = *(volatile u8*)addr;
-		result <<= 16;
-
-		/* Read device */
-		result |= *(volatile u8*)(addr+2);
-
-		/* Return device to data mode */
-		*(volatile u8*)addr = 0xff;
-		*(volatile u8*)(addr+0x5555), 0xf0;
-		break;
-
-	case 2:
-		*(volatile u16*)(addr+0xaaaa) = 0xaaaa;
-		*(volatile u16*)(addr+0x5554) = 0x5555;
-
-		/* Issue identification command */
-		if (il == 2) {
-			*(volatile u16*)(addr+0xaaaa) = 0x9090;
-
-			/* Read vendor */
-			result = *(volatile u8*)addr;
-			result <<= 16;
-
-			/* Read device */
-			result |= *(volatile u8*)(addr+2);
-
-			/* Return device to data mode */
-			*(volatile u16*)addr =  0xffff;
-			*(volatile u16*)(addr+0xaaaa), 0xf0f0;
-
-		} else {
-			*(volatile u8*)(addr+0xaaaa) = 0x90;
-			/* Read vendor */
-			result = *(volatile u16*)addr;
-			result <<= 16;
-
-			/* Read device */
-			result |= *(volatile u16*)(addr+2);
-
-			/* Return device to data mode */
-			*(volatile u8*)addr = 0xff;
-			*(volatile u8*)(addr+0xaaaa), 0xf0;
-		}
-
-		break;
-
-	 case 4:
-		*(volatile u32*)(addr+0x5554) = 0xaaaaaaaa;
-		*(volatile u32*)(addr+0xaaa8) = 0x55555555;
-
-		switch (il) {
-		case 1:
-			/* Issue identification command */
-			*(volatile u8*)(addr+0x5554) = 0x90;
-
-			/* Read vendor */
-			result = *(volatile u16*)addr;
-			result <<= 16;
-
-			/* Read device */
-			result |= *(volatile u16*)(addr+4);
-
-			/* Return device to data mode */
-			*(volatile u8*)addr =  0xff;
-			*(volatile u8*)(addr+0x5554), 0xf0;
-			break;
-
-		case 2:
-			/* Issue identification command */
-			*(volatile u32*)(addr + 0x5554) = 0x00900090;
-
-			/* Read vendor */
-			result = *(volatile u16*)addr;
-			result <<= 16;
-
-			/* Read device */
-			result |= *(volatile u16*)(addr+4);
-
-			/* Return device to data mode */
-			*(volatile u32*)addr =  0x00ff00ff;
-			*(volatile u32*)(addr+0x5554), 0x00f000f0;
-			break;
-
-		case 4:
-			/* Issue identification command */
-			*(volatile u32*)(addr+0x5554) = 0x90909090;
-
-			/* Read vendor */
-			result = *(volatile u8*)addr;
-			result <<= 16;
-
-			/* Read device */
-			result |= *(volatile u8*)(addr+4);
-
-			/* Return device to data mode */
-			*(volatile u32*)addr =  0xffffffff;
-			*(volatile u32*)(addr+0x5554), 0xf0f0f0f0;
-			break;
-		}
-		break;
-	}
-
-	return result;
-}
-
-extern int _probe_flash_end;
-asm ("_probe_flash_end:\n"
-     ".long 0\n");
-
-static int identify_flash(unsigned address, int width)
-{
-	int is;
-	int device;
-	int vendor;
-	int size;
-	unsigned res;
-
-	u32 (*_probe_flash_ptr)(u32 a, u32 bw, int il);
-
-	size = (unsigned)&_probe_flash_end - (unsigned)_probe_flash;
-
-	if (size > PROBE_BUFFER_SIZE) {
-		printf("_probe_flash() routine too large (%d) %p - %p\n",
-		       size, &_probe_flash_end, _probe_flash);
-		return 0;
-	}
-
-	memcpy(buffer, _probe_flash, size);
-	_probe_flash_ptr = (void*)buffer;
-
-	is = disable_interrupts();
-	res = _probe_flash_ptr(address, width, 1);
-	if (is) {
-		enable_interrupts();
-	}
-
-	vendor = res >> 16;
-	device = res & 0xffff;
-
-	return res;
-}
-
-ulong flash_init(void)
-{
-	int i, j;
-	ulong size = 0;
-
-	for (i = 0; i < SC520_MAX_FLASH_BANKS; i++) {
-		unsigned id;
-		ulong flashbase = 0;
-		int sectsize = 0;
-
-		memset(flash_info[i].protect, 0, CONFIG_SYS_MAX_FLASH_SECT);
-		switch (i) {
-		case 0:
-			flashbase = SC520_FLASH_BANK0_BASE;
-			break;
-		default:
-			panic("configured too many flash banks!\n");
-		}
-
-		id = identify_flash(flashbase, 2);
-		switch (id) {
-		case 0x000122d7:
-			/* 29LV641DH */
-			flash_info[i].flash_id =
-				(AMD_MANUFACT & FLASH_VENDMASK) |
-				(AMD_ID_LV640U & FLASH_TYPEMASK);
-
-			flash_info[i].size = A29LV641DH_SIZE;
-			flash_info[i].sector_count = A29LV641DH_SECTORS;
-			sectsize = A29LV641DH_SIZE/A29LV641DH_SECTORS;
-			printf("Bank %d: AMD 29LV641DH\n", i);
-			break;
-
-		case 0x0001227E:
-			/* 29LV641MH */
-			flash_info[i].flash_id =
-				(AMD_MANUFACT & FLASH_VENDMASK) |
-				(AMD_ID_DL640 & FLASH_TYPEMASK);
-
-			flash_info[i].size = A29LV641MH_SIZE;
-			flash_info[i].sector_count = A29LV641MH_SECTORS;
-			sectsize = A29LV641MH_SIZE/A29LV641MH_SECTORS;
-			printf("Bank %d: AMD 29LV641MH\n", i);
-			break;
-
-		case 0x00890016:
-			/* 28F320J3A */
-			flash_info[i].flash_id =
-				(INTEL_MANUFACT & FLASH_VENDMASK) |
-				(INTEL_ID_28F320J3A & FLASH_TYPEMASK);
-
-			flash_info[i].size = I28F320J3A_SIZE;
-			flash_info[i].sector_count = I28F320J3A_SECTORS;
-			sectsize = I28F320J3A_SIZE/I28F320J3A_SECTORS;
-			printf("Bank %d: Intel 28F320J3A\n", i);
-			break;
-
-		case 0x00890017:
-			/* 28F640J3A */
-			flash_info[i].flash_id =
-				(INTEL_MANUFACT & FLASH_VENDMASK) |
-				(INTEL_ID_28F640J3A & FLASH_TYPEMASK);
-
-			flash_info[i].size = I28F640J3A_SIZE;
-			flash_info[i].sector_count = I28F640J3A_SECTORS;
-			sectsize = I28F640J3A_SIZE/I28F640J3A_SECTORS;
-			printf("Bank %d: Intel 28F640J3A\n", i);
-			break;
-
-		case 0x00890018:
-			/* 28F128J3A */
-			flash_info[i].flash_id =
-				(INTEL_MANUFACT & FLASH_VENDMASK) |
-				(INTEL_ID_28F128J3A & FLASH_TYPEMASK);
-
-			flash_info[i].size = I28F128J3A_SIZE;
-			flash_info[i].sector_count = I28F128J3A_SECTORS;
-			sectsize = I28F128J3A_SIZE/I28F128J3A_SECTORS;
-			printf("Bank %d: Intel 28F128J3A\n", i);
-			break;
-
-		default:
-			printf("Bank %d have unknown flash %08x\n", i, id);
-			flash_info[i].flash_id = FLASH_UNKNOWN;
-			continue;
-		}
-
-		for (j = 0; j < flash_info[i].sector_count; j++) {
-			flash_info[i].start[j] = flashbase + j * sectsize;
-		}
-		size += flash_info[i].size;
-
-		flash_protect(FLAG_PROTECT_CLEAR,
-			      flash_info[i].start[0],
-			       flash_info[i].start[0] + flash_info[i].size - 1,
-			      &flash_info[i]);
-	}
-
-	/*
-	 * Protect monitor and environment sectors
-	 */
-	flash_protect(FLAG_PROTECT_SET,
-		      i386boot_start,
-		      i386boot_end,
-		      &flash_info[0]);
-#ifdef CONFIG_ENV_ADDR
-	flash_protect(FLAG_PROTECT_SET,
-		      CONFIG_ENV_ADDR,
-		      CONFIG_ENV_ADDR + CONFIG_ENV_SIZE - 1,
-		      &flash_info[0]);
-#endif
-	return size;
-}
-
-/*-----------------------------------------------------------------------
- */
-void flash_print_info(flash_info_t *info)
-{
-	int i;
-
-	switch (info->flash_id & FLASH_VENDMASK) {
-	case (INTEL_MANUFACT & FLASH_VENDMASK):
-		printf("INTEL: ");
-		switch (info->flash_id & FLASH_TYPEMASK) {
-		case (INTEL_ID_28F320J3A & FLASH_TYPEMASK):
-			printf("1x I28F320J3A (32Mbit)\n");
-			break;
-		case (INTEL_ID_28F640J3A & FLASH_TYPEMASK):
-			printf("1x I28F640J3A (64Mbit)\n");
-			break;
-		case (INTEL_ID_28F128J3A & FLASH_TYPEMASK):
-			printf("1x I28F128J3A (128Mbit)\n");
-			break;
-		default:
-			printf("Unknown Chip Type\n");
-			goto done;
-			break;
-		}
-
-		break;
-
-	case (AMD_MANUFACT & FLASH_VENDMASK):
-		printf("AMD:   ");
-		switch (info->flash_id & FLASH_TYPEMASK) {
-		case (AMD_ID_LV640U & FLASH_TYPEMASK):
-			printf("1x AMD29LV641DH (64Mbit)\n");
-			break;
-		case (AMD_ID_DL640 & FLASH_TYPEMASK):
-			printf("1x AMD29LV641MH (64Mbit)\n");
-			break;
-		default:
-			printf("Unknown Chip Type\n");
-			goto done;
-			break;
-		}
-
-		break;
-	default:
-		printf("Unknown Vendor ");
-		break;
-	}
-
-	printf("  Size: %ld MB in %d Sectors\n",
-	       info->size >> 20, info->sector_count);
-
-	printf("  Sector Start Addresses:");
-	for (i = 0; i < info->sector_count; i++) {
-		if ((i % 5) == 0) {
-			printf ("\n   ");
-		}
-		printf (" %08lX%s", info->start[i],
-			info->protect[i] ? " (RO)" : "     ");
-	}
-	printf ("\n");
-
-done:
-	return;
-}
-
-/*-----------------------------------------------------------------------
- */
-
-static u32 _amd_erase_flash(u32 addr, u32 sector)
-{
-	unsigned elapsed;
-
-	/* Issue erase */
-	*(volatile u16*)(addr + 0xaaaa) = 0x00AA;
-	*(volatile u16*)(addr + 0x5554) = 0x0055;
-	*(volatile u16*)(addr + 0xaaaa) = 0x0080;
-	/* And one unlock */
-	*(volatile u16*)(addr + 0xaaaa) = 0x00AA;
-	*(volatile u16*)(addr + 0x5554) = 0x0055;
-	/* Sector erase command comes last */
-	*(volatile u16*)(addr + sector) = 0x0030;
-
-	elapsed = *(volatile u16*)(0xfffef000+SC520_SWTMRMILLI); /* dummy read */
-	elapsed = 0;
-	while (((*(volatile u16*)(addr + sector)) & 0x0080) != 0x0080) {
-
-		elapsed += *(volatile u16*)(0xfffef000+SC520_SWTMRMILLI);
-		if (elapsed > ((CONFIG_SYS_FLASH_ERASE_TOUT/CONFIG_SYS_HZ) * 1000)) {
-			*(volatile u16*)(addr) = 0x00f0;
-			return 1;
-		}
-	}
-
-	*(volatile u16*)(addr) = 0x00f0;
-
-	return 0;
-}
-
-extern int _amd_erase_flash_end;
-asm ("_amd_erase_flash_end:\n"
-     ".long 0\n");
-
-/* this needs to be inlined, the SWTMRMMILLI register is reset by each read */
-#define __udelay(delay) \
-{	\
-	unsigned micro; \
-	unsigned milli=0; \
-	\
-	micro = *(volatile u16*)(0xfffef000+SC520_SWTMRMILLI); \
-	 \
-	for (;;) { \
-		\
-		milli += *(volatile u16*)(0xfffef000+SC520_SWTMRMILLI); \
-		micro = *(volatile u16*)(0xfffef000+SC520_SWTMRMICRO); \
-		\
-		if ((delay) <= (micro + (milli * 1000))) { \
-			break; \
-		} \
-	} \
-} while (0)
-
-static u32 _intel_erase_flash(u32 addr, u32 sector)
-{
-	unsigned elapsed;
-
-	*(volatile u16*)(addr + sector) = 0x0050;   /* clear status register */
-	*(volatile u16*)(addr + sector) = 0x0020;   /* erase setup */
-	*(volatile u16*)(addr + sector) = 0x00D0;   /* erase confirm */
-
-	/* Wait at least 80us - let's wait 1 ms */
-	__udelay(1000);
-
-	elapsed = 0;
-	while (((*(volatile u16*)(addr + sector)) & 0x0080) != 0x0080) {
-		elapsed += *(volatile u16*)(0xfffef000+SC520_SWTMRMILLI);
-		if (elapsed > ((CONFIG_SYS_FLASH_ERASE_TOUT/CONFIG_SYS_HZ) * 1000)) {
-			*(volatile u16*)(addr + sector) = 0x00B0;  /* suspend erase      */
-			*(volatile u16*)(addr + sector) = 0x00FF;  /* reset to read mode */
-			return 1;
-		}
-	}
-
-	*(volatile u16*)(addr + sector) = 0x00FF;  /* reset to read mode */
-
-	return 0;
-}
-
-extern int _intel_erase_flash_end;
-asm ("_intel_erase_flash_end:\n"
-     ".long 0\n");
-
-int flash_erase(flash_info_t *info, int s_first, int s_last)
-{
-	u32 (*_erase_flash_ptr)(u32 a, u32 so);
-	int prot;
-	int sect;
-	unsigned size;
-
-	if ((s_first < 0) || (s_first > s_last)) {
-		if (info->flash_id == FLASH_UNKNOWN) {
-			printf("- missing\n");
-		} else {
-			printf("- no sectors to erase\n");
-		}
-		return 1;
-	}
-
-	if ((info->flash_id & FLASH_VENDMASK) == (AMD_MANUFACT & FLASH_VENDMASK)) {
-		size = (unsigned)&_amd_erase_flash_end - (unsigned)_amd_erase_flash;
-
-		if (size > PROBE_BUFFER_SIZE) {
-			printf("_amd_erase_flash() routine too large (%d) %p - %p\n",
-			       size, &_amd_erase_flash_end, _amd_erase_flash);
-			return 0;
-		}
-
-		memcpy(buffer, _amd_erase_flash, size);
-		_erase_flash_ptr = (void*)buffer;
-
-	} else if ((info->flash_id & FLASH_VENDMASK) == (INTEL_MANUFACT & FLASH_VENDMASK)) {
-		size = (unsigned)&_intel_erase_flash_end - (unsigned)_intel_erase_flash;
-
-		if (size > PROBE_BUFFER_SIZE) {
-			printf("_intel_erase_flash() routine too large (%d) %p - %p\n",
-			       size, &_intel_erase_flash_end, _intel_erase_flash);
-			return 0;
-		}
-
-		memcpy(buffer, _intel_erase_flash, size);
-		_erase_flash_ptr = (void*)buffer;
-	} else {
-		printf ("Can't erase unknown flash type - aborted\n");
-		return 1;
-	}
-
-	prot = 0;
-	for (sect=s_first; sect<=s_last; ++sect) {
-		if (info->protect[sect]) {
-			prot++;
-		}
-	}
-
-	if (prot) {
-		printf ("- Warning: %d protected sectors will not be erased!\n", prot);
-	} else {
-		printf ("\n");
-	}
-
-	/* Start erase on unprotected sectors */
-	for (sect = s_first; sect<=s_last; sect++) {
-
-		if (info->protect[sect] == 0) { /* not protected */
-			int res;
-			int flag;
-
-			/* Disable interrupts which might cause a timeout here */
-			flag = disable_interrupts();
-
-			res = _erase_flash_ptr(info->start[0], info->start[sect]-info->start[0]);
-
-			/* re-enable interrupts if necessary */
-			if (flag) {
-				enable_interrupts();
-			}
-
-			if (res) {
-				printf("Erase timed out, sector %d\n", sect);
-				return res;
-			}
-
-			putc('.');
-		}
-	}
-
-	return 0;
-}
-
-/*-----------------------------------------------------------------------
- * Write a word to Flash, returns:
- * 0 - OK
- * 1 - write timeout
- * 2 - Flash not erased
- */
-static int _amd_write_word(unsigned start, unsigned dest, u16 data)
-{
-	volatile u16 *addr2 = (volatile u16*)start;
-	volatile u16 *dest2 = (volatile u16*)dest;
-	volatile u16 *data2 = (volatile u16*)&data;
-	int i;
-	unsigned elapsed;
-
-	/* Check if Flash is (sufficiently) erased */
-	if ((*((volatile u16*)dest) & (u16)data) != (u16)data) {
-		return 2;
-	}
-
-	for (i = 0; i < 2; i++) {
-
-		addr2[0x5555] = 0x00AA;
-		addr2[0x2aaa] = 0x0055;
-		addr2[0x5555] = 0x00A0;
-
-		dest2[i] = (data >> (i*16)) & 0xffff;
-
-		elapsed = *(volatile u16*)(0xfffef000+SC520_SWTMRMILLI); /* dummy read */
-		elapsed = 0;
-
-		/* data polling for D7 */
-		while ((dest2[i] & 0x0080) != (data2[i] & 0x0080)) {
-			elapsed += *(volatile u16*)(0xfffef000+SC520_SWTMRMILLI);
-			if (elapsed > ((CONFIG_SYS_FLASH_WRITE_TOUT/CONFIG_SYS_HZ) * 1000)) {
-				addr2[i] = 0x00f0;
-				return 1;
-			}
-		}
-	}
-
-	addr2[i] = 0x00f0;
-
-	return 0;
-}
-
-extern int _amd_write_word_end;
-asm ("_amd_write_word_end:\n"
-     ".long 0\n");
-
-static int _intel_write_word(unsigned start, unsigned dest, unsigned data)
-{
-	int i;
-	unsigned elapsed;
-
-	/* Check if Flash is (sufficiently) erased */
-	if ((*((volatile u16*)dest) & (u16)data) != (u16)data) {
-		return 2;
-	}
-
-	for (i = 0; i < 2; i++) {
-
-		*(volatile u16*)(dest+2*i) = 0x0040; /* write setup */
-		*(volatile u16*)(dest+2*i) = (data >> (i*16)) & 0xffff;
-
-		elapsed = *(volatile u16*)(0xfffef000+SC520_SWTMRMILLI); /* dummy read */
-		elapsed = 0;
-
-		/* data polling for D7 */
-		while ((*(volatile u16*)dest & 0x0080) != 0x0080) {
-			elapsed += *(volatile u16*)(0xfffef000+SC520_SWTMRMILLI);
-			if (elapsed > ((CONFIG_SYS_FLASH_WRITE_TOUT/CONFIG_SYS_HZ) * 1000)) {
-				*(volatile u16*)dest = 0x00ff;
-				return 1;
-			}
-		}
-	}
-
-	*(volatile u16*)dest = 0x00ff;
-
-
-	return 0;
-}
-
-extern int _intel_write_word_end;
-asm ("_intel_write_word_end:\n"
-     ".long 0\n");
-
-/*-----------------------------------------------------------------------
- * Copy memory to flash, returns:
- * 0 - OK
- * 1 - write timeout
- * 2 - Flash not erased
- * 3 - Unsupported flash type
- */
-
-int write_buff(flash_info_t *info, uchar *src, ulong addr, ulong cnt)
-{
-	ulong cp, wp, data;
-	int i, l, rc;
-	int flag;
-	u32 (*_write_word_ptr)(unsigned start, unsigned dest, unsigned data);
-	unsigned size;
-
-	if ((info->flash_id & FLASH_VENDMASK) == (AMD_MANUFACT & FLASH_VENDMASK)) {
-		size = (unsigned)&_amd_write_word_end - (unsigned)_amd_write_word;
-
-		if (size > PROBE_BUFFER_SIZE) {
-			printf("_amd_write_word() routine too large (%d) %p - %p\n",
-			       size, &_amd_write_word_end, _amd_write_word);
-			return 0;
-		}
-
-		memcpy(buffer, _amd_write_word, size);
-		_write_word_ptr = (void*)buffer;
-
-	} else if ((info->flash_id & FLASH_VENDMASK) == (INTEL_MANUFACT & FLASH_VENDMASK)) {
-		size = (unsigned)&_intel_write_word_end - (unsigned)_intel_write_word;
-
-		if (size > PROBE_BUFFER_SIZE) {
-			printf("_intel_write_word() routine too large (%d) %p - %p\n",
-			       size, &_intel_write_word_end, _intel_write_word);
-			return 0;
-		}
-
-		memcpy(buffer, _intel_write_word, size);
-		_write_word_ptr = (void*)buffer;
-	} else {
-		printf ("Can't program unknown flash type - aborted\n");
-		return 3;
-	}
-
-	wp = (addr & ~3);	/* get lower word aligned address */
-
-	/*
-	 * handle unaligned start bytes
-	 */
-	if ((l = addr - wp) != 0) {
-		data = 0;
-		for (i=0, cp=wp; i<l; ++i, ++cp) {
-			data |= (*(uchar *)cp) << (8*i);
-		}
-		for (; i<4 && cnt>0; ++i) {
-			data |= *src++ << (8*i);
-			--cnt;
-			++cp;
-		}
-		for (; cnt==0 && i<4; ++i, ++cp) {
-			data |= (*(uchar *)cp)  << (8*i);
-		}
-
-		/* Disable interrupts which might cause a timeout here */
-		flag = disable_interrupts();
-
-		rc = _write_word_ptr(info->start[0], wp, data);
-
-		/* re-enable interrupts if necessary */
-		if (flag) {
-			enable_interrupts();
-		}
-		if (rc != 0) {
-			return rc;
-		}
-		wp += 4;
-	}
-
-	/*
-	 * handle word aligned part
-	 */
-	while (cnt >= 4) {
-		data = 0;
-
-		for (i=0; i<4; ++i) {
-			data |= *src++ << (8*i);
-		}
-
-		/* Disable interrupts which might cause a timeout here */
-		flag = disable_interrupts();
-
-		rc = _write_word_ptr(info->start[0], wp, data);
-
-		/* re-enable interrupts if necessary */
-		if (flag) {
-			enable_interrupts();
-		}
-		if (rc != 0) {
-			return rc;
-		}
-		wp  += 4;
-		cnt -= 4;
-	}
-
-	if (cnt == 0) {
-		return 0;
-	}
-
-	/*
-	 * handle unaligned tail bytes
-	 */
-	data = 0;
-	for (i=0, cp=wp; i<4 && cnt>0; ++i, ++cp) {
-		data |= *src++ << (8*i);
-		--cnt;
-	}
-
-	for (; i<4; ++i, ++cp) {
-		data |= (*(uchar *)cp) << (8*i);
-	}
-
-	/* Disable interrupts which might cause a timeout here */
-	flag = disable_interrupts();
-
-	rc = _write_word_ptr(info->start[0], wp, data);
-
-	/* re-enable interrupts if necessary */
-	if (flag) {
-		enable_interrupts();
-	}
-
-	return rc;
-}
diff --git a/board/sc520_spunk/sc520_spunk.c b/board/sc520_spunk/sc520_spunk.c
deleted file mode 100644
index 09f11bb..0000000
--- a/board/sc520_spunk/sc520_spunk.c
+++ /dev/null
@@ -1,410 +0,0 @@
-/*
- *
- * (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB <daniel@omicron.se>.
- *
- * 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 <netdev.h>
-#include <ds1722.h>
-#include <asm/io.h>
-#include <asm/ic/sc520.h>
-#include <asm/ic/ssi.h>
-
-DECLARE_GLOBAL_DATA_PTR;
-
-/*
- * Theory:
- * We first set up all IRQs to be non-pci, edge triggered,
- * when we later enumerate the pci bus and pci_sc520_fixup_irq() gets
- * called we reallocate irqs to the pci bus with sc520_pci_set_irq()
- * as needed. Whe choose the irqs to gram from a configurable list
- * inside pci_sc520_fixup_irq() (If this list contains stupid irq's
- * such as 0 thngas will not work)
- */
-
-static void irq_init(void)
-{
-	/* disable global interrupt mode */
-	sc520_mmcr->picicr = 0x40;
-
-	/* set all irqs to edge */
-	sc520_mmcr->pic_mode[0] = 0x00;
-	sc520_mmcr->pic_mode[1] = 0x00;
-	sc520_mmcr->pic_mode[2] = 0x00;
-
-	/* active low polarity on PIC interrupt pins,
-	 *  active high polarity on all other irq pins */
-	sc520_mmcr->intpinpol = 0x0000;
-
-	/* set irq number mapping */
-	sc520_mmcr->gp_tmr_int_map[0] = SC520_IRQ_DISABLED;	/* disable GP timer 0 INT */
-	sc520_mmcr->gp_tmr_int_map[1] = SC520_IRQ_DISABLED;	/* disable GP timer 1 INT */
-	sc520_mmcr->gp_tmr_int_map[2] = SC520_IRQ_DISABLED;	/* disable GP timer 2 INT */
-	sc520_mmcr->pit_int_map[0] = SC520_IRQ0;		/* Set PIT timer 0 INT to IRQ0 */
-	sc520_mmcr->pit_int_map[1] = SC520_IRQ_DISABLED;	/* disable PIT timer 1 INT */
-	sc520_mmcr->pit_int_map[2] = SC520_IRQ_DISABLED;	/* disable PIT timer 2 INT */
-	sc520_mmcr->pci_int_map[0] = SC520_IRQ_DISABLED;	/* disable PCI INT A */
-	sc520_mmcr->pci_int_map[1] = SC520_IRQ_DISABLED;	/* disable PCI INT B */
-	sc520_mmcr->pci_int_map[2] = SC520_IRQ_DISABLED;	/* disable PCI INT C */
-	sc520_mmcr->pci_int_map[3] = SC520_IRQ_DISABLED;	/* disable PCI INT D */
-	sc520_mmcr->dmabcintmap = SC520_IRQ_DISABLED;		/* disable DMA INT */
-	sc520_mmcr->ssimap = SC520_IRQ6;			/* Set Synchronius serial INT to IRQ6*/
-	sc520_mmcr->wdtmap = SC520_IRQ_DISABLED;		/* disable Watchdog INT */
-	sc520_mmcr->rtcmap = SC520_IRQ8;			/* Set RTC int to 8 */
-	sc520_mmcr->wpvmap = SC520_IRQ_DISABLED;		/* disable write protect INT */
-	sc520_mmcr->icemap = SC520_IRQ1;			/* Set ICE Debug Serielport INT to IRQ1 */
-	sc520_mmcr->ferrmap = SC520_IRQ13; 			/* Set FP error INT to IRQ13 */
-
-
-	sc520_mmcr->uart_int_map[0] = SC520_IRQ4;		/* Set internal UART1 INT to IRQ4 */
-	sc520_mmcr->uart_int_map[1] = SC520_IRQ3;		/* Set internal UART2 INT to IRQ3 */
-
-	sc520_mmcr->gp_int_map[0] = SC520_IRQ7;			/* Set GPIRQ0 (PC-Card AUX IRQ) to IRQ7 */
-	sc520_mmcr->gp_int_map[1] = SC520_IRQ14;		/* Set GPIRQ1 (CF IRQ) to IRQ14 */
-	sc520_mmcr->gp_int_map[3] = SC520_IRQ5;			/* Set GPIRQ3 ( CAN IRQ ) ti IRQ5 */
-	sc520_mmcr->gp_int_map[4] = SC520_IRQ_DISABLED;		/* disbale GIRQ4 ( IRR IRQ ) */
-	sc520_mmcr->gp_int_map[5] = SC520_IRQ_DISABLED;		/* disable GPIRQ5 */
-	sc520_mmcr->gp_int_map[6] = SC520_IRQ_DISABLED;		/* disable GPIRQ6 */
-	sc520_mmcr->gp_int_map[7] = SC520_IRQ_DISABLED;		/* disable GPIRQ7 */
-	sc520_mmcr->gp_int_map[8] = SC520_IRQ_DISABLED;		/* disable GPIRQ8 */
-	sc520_mmcr->gp_int_map[9] = SC520_IRQ_DISABLED;		/* disable GPIRQ9 */
-	sc520_mmcr->gp_int_map[2] = SC520_IRQ_DISABLED;		/* disable GPIRQ2 */
-	sc520_mmcr->gp_int_map[10] = SC520_IRQ_DISABLED;	/* disable GPIRQ10 */
-
-	sc520_mmcr->pcihostmap = 0x11f;				/* Map PCI hostbridge INT to NMI */
-	sc520_mmcr->eccmap = 0x100;				/* Map SDRAM ECC failure INT to NMI */
-
-}
-
-/* set up the ISA bus timing and system address mappings */
-static void bus_init(void)
-{
-	/* versions
-	 * 0   Hyglo versions 0.95 and 0.96 (large baords)
-	 * ??  Hyglo version 0.97 (small board)
-	 * 10  Spunk board
-	 */
-	int version = sc520_mmcr->sysinfo;
-
-	if (version) {
-		/* set up the GP IO pins (for the Spunk board) */
-		sc520_mmcr->piopfs31_16 = 0xfff0;	/* set the GPIO pin function 31-16 reg */
-		sc520_mmcr->piopfs15_0 = 0x000f;	/* set the GPIO pin function 15-0 reg */
-		sc520_mmcr->piodir31_16 = 0x000f;	/* set the GPIO direction 31-16 reg */
-		sc520_mmcr->piodir15_0 = 0x1ff0;	/* set the GPIO direction 15-0 reg */
-		sc520_mmcr->cspfs = 0xc0;		/* set the CS pin function reg */
-		sc520_mmcr->clksel = 0x70;
-
-		sc520_mmcr->pioclr31_16 = 0x0003;	/* reset SSI chip-selects */
-		sc520_mmcr->pioset31_16 = 0x000c;
-
-	} else {
-		/* set up the GP IO pins (for the Hyglo board) */
-		sc520_mmcr->piopfs31_16 = 0xffc0;	/* set the GPIO pin function 31-16 reg */
-		sc520_mmcr->piopfs15_0 = 0x1e7f;	/* set the GPIO pin function 15-0 reg */
-		sc520_mmcr->piodir31_16 = 0x003f;	/* set the GPIO direction 31-16 reg */
-		sc520_mmcr->piodir15_0 = 0xe180;	/* set the GPIO direction 15-0 reg */
-		sc520_mmcr->cspfs = 0x00;		/* set the CS pin function reg */
-		sc520_mmcr->clksel = 0x70;
-
-		sc520_mmcr->pioclr15_0 = 0x0180;	/* reset SSI chip-selects */
-	}
-
-	sc520_mmcr->gpcsrt = 1;		/* set the GP CS offset */
-	sc520_mmcr->gpcspw = 3;		/* set the GP CS pulse width */
-	sc520_mmcr->gpcsoff = 1;	/* set the GP CS offset */
-	sc520_mmcr->gprdw = 3;		/* set the RD pulse width */
-	sc520_mmcr->gprdoff = 1;	/* set the GP RD offset */
-	sc520_mmcr->gpwrw = 3;		/* set the GP WR pulse width */
-	sc520_mmcr->gpwroff = 1;	/* set the GP WR offset */
-
-	sc520_mmcr->bootcsctl = 0x0407;	/* set up timing of BOOTCS */
-
-	/* adjust the memory map:
-	 * by default the first 256MB (0x00000000 - 0x0fffffff) is mapped to SDRAM
-	 * and 256MB to 1G-128k  (0x1000000 - 0x37ffffff) is mapped to PCI mmio
-	 * we need to map 1G-128k - 1G (0x38000000 - 0x3fffffff) to CS1 */
-
-
-	/* bootcs */
-	sc520_mmcr->par[12] = 0x8bffe800;
-
-	/* IDE0 = GPCS6 1f0-1f7 */
-	sc520_mmcr->par[3] = 0x380801f0;
-
-	/* IDE1 = GPCS7 3f6 */
-	sc520_mmcr->par[4] = 0x3c0003f6;
-
-	asm ("wbinvd\n"); /* Flush cache, req. after setting the unchached attribute ona PAR */
-
-	sc520_mmcr->adddecctl = sc520_mmcr->adddecctl & ~(UART2_DIS|UART1_DIS);
-
-}
-
-
-/* par usage:
- * PAR0   (legacy_video)
- * PAR1   (PCI ROM mapping)
- * PAR2
- * PAR3   IDE
- * PAR4   IDE
- * PAR5   (legacy_video)
- * PAR6
- * PAR7   (legacy_video)
- * PAR8   (legacy_video)
- * PAR9   (legacy_video)
- * PAR10
- * PAR11  (ISAROM)
- * PAR12  BOOTCS
- * PAR13
- * PAR14
- * PAR15
- */
-
-/*
- * Miscelaneous platform dependent initialisations
- */
-
-int board_init(void)
-{
-	init_sc520();
-	bus_init();
-	irq_init();
-
-	/* max drive current on SDRAM */
-	sc520_mmcr->dsctl = 0x0100;
-
-	/* enter debug mode after next reset (only if jumper is also set) */
-	sc520_mmcr->rescfg = 0x08;
-	/* configure the software timer to 33.000MHz */
-	sc520_mmcr->swtmrcfg = 1;
-	gd->bus_clk = 33000000;
-
-	return 0;
-}
-
-int dram_init(void)
-{
-	init_sc520_dram();
-	return 0;
-}
-
-void show_boot_progress(int val)
-{
-	int version = sc520_mmcr->sysinfo;
-
-	if (val < -32) val = -1;  /* let things compatible */
-	if (version == 0) {
-		/* PIO31-PIO16 Data */
-		sc520_mmcr->piodata31_16 = (sc520_mmcr->piodata31_16 & 0xffc0) | ((val&0x7e)>>1); /* 0x1f8 >> 3 */
-
-		/* PIO0-PIO15 Data */
-		sc520_mmcr->piodata15_0 = (sc520_mmcr->piodata15_0 & 0x1fff)| ((val&0x7)<<13);
-	} else {
-		/* newer boards use PIO4-PIO12 */
-		/* PIO0-PIO15 Data */
-#if 0
-		val = (val & 0x007) | ((val & 0x038) << 3) | ((val & 0x1c0) >> 3);
-#else
-		val = (val & 0x007) | ((val & 0x07e) << 2);
-#endif
-		sc520_mmcr->piodata15_0 = (sc520_mmcr->piodata15_0 & 0xe00f) | ((val&0x01ff)<<4);
-	}
-}
-
-
-int last_stage_init(void)
-{
-
-	int version = sc520_mmcr->sysinfo;
-
-	printf("Omicron Ceti SC520 Spunk revision %x\n", version);
-
-#if 0
-	if (version) {
-		int x, y;
-
-		printf("eeprom probe %d\n", spi_eeprom_probe(1));
-
-		spi_eeprom_read(1, 0, (u8*)&x, 2);
-		spi_eeprom_read(1, 1, (u8*)&y, 2);
-		printf("eeprom bytes %04x%04x\n", x, y);
-		x ^= 0xffff;
-		y ^= 0xffff;
-		spi_eeprom_write(1, 0, (u8*)&x, 2);
-		spi_eeprom_write(1, 1, (u8*)&y, 2);
-
-		spi_eeprom_read(1, 0, (u8*)&x, 2);
-		spi_eeprom_read(1, 1, (u8*)&y, 2);
-		printf("eeprom bytes %04x%04x\n", x, y);
-
-	} else {
-		int x, y;
-
-		printf("eeprom probe %d\n", mw_eeprom_probe(1));
-
-		mw_eeprom_read(1, 0, (u8*)&x, 2);
-		mw_eeprom_read(1, 1, (u8*)&y, 2);
-		printf("eeprom bytes %04x%04x\n", x, y);
-
-		x ^= 0xffff;
-		y ^= 0xffff;
-		mw_eeprom_write(1, 0, (u8*)&x, 2);
-		mw_eeprom_write(1, 1, (u8*)&y, 2);
-
-		mw_eeprom_read(1, 0, (u8*)&x, 2);
-		mw_eeprom_read(1, 1, (u8*)&y, 2);
-		printf("eeprom bytes %04x%04x\n", x, y);
-
-
-	}
-#endif
-
-	ds1722_probe(2);
-
-	return 0;
-}
-
-void ssi_chip_select(int dev)
-{
-	int version = sc520_mmcr->sysinfo;
-
-	if (version) {
-		/* Spunk board: EEPROM and CAN are actove-low, TEMP and AUX are active high */
-		switch (dev) {
-		case 1: /* EEPROM */
-			sc520_mmcr->pioclr31_16 = 0x0004;
-			break;
-
-		case 2: /* Temp Probe */
-			sc520_mmcr->pioset31_16 = 0x0002;
-			break;
-
-		case 3: /* CAN */
-			sc520_mmcr->pioclr31_16 = 0x0008;
-			break;
-
-		case 4: /* AUX */
-			sc520_mmcr->pioset31_16 = 0x0001;
-			break;
-
-		case 0:
-			sc520_mmcr->pioclr31_16 = 0x0003;
-			sc520_mmcr->pioset31_16 = 0x000c;
-			break;
-
-		default:
-			printf("Illegal SSI device requested: %d\n", dev);
-		}
-	} else {
-
-		/* Globox board: Both EEPROM and TEMP are active-high */
-
-		switch (dev) {
-		case 1: /* EEPROM */
-			sc520_mmcr->pioset15_0 = 0x0100;
-			break;
-
-		case 2: /* Temp Probe */
-			sc520_mmcr->pioset15_0 = 0x0080;
-			break;
-
-		case 0:
-			sc520_mmcr->pioclr15_0 = 0x0180;
-			break;
-
-		default:
-			printf("Illegal SSI device requested: %d\n", dev);
-		}
-	}
-}
-
-void spi_eeprom_probe(int x)
-{
-}
-
-int spi_eeprom_read(int x, int offset, uchar *buffer, int len)
-{
-       return 0;
-}
-
-int spi_eeprom_write(int x, int offset, uchar *buffer, int len)
-{
-       return 0;
-}
-
-void mw_eeprom_probe(int x)
-{
-}
-
-int mw_eeprom_read(int x, int offset, uchar *buffer, int len)
-{
-       return 0;
-}
-
-int mw_eeprom_write(int x, int offset, uchar *buffer, int len)
-{
-       return 0;
-}
-
-void spi_init_f(void)
-{
-	sc520_mmcr->sysinfo ? spi_eeprom_probe(1) : mw_eeprom_probe(1);
-
-}
-
-ssize_t spi_read(uchar *addr, int alen, uchar *buffer, int len)
-{
-	int offset;
-	int i;
-
-	offset = 0;
-	for (i=0;i<alen;i++) {
-		offset <<= 8;
-		offset |= addr[i];
-	}
-
-	return	sc520_mmcr->sysinfo ?
-		spi_eeprom_read(1, offset, buffer, len) :
-	mw_eeprom_read(1, offset, buffer, len);
-}
-
-ssize_t spi_write(uchar *addr, int alen, uchar *buffer, int len)
-{
-	int offset;
-	int i;
-
-	offset = 0;
-	for (i=0;i<alen;i++) {
-		offset <<= 8;
-		offset |= addr[i];
-	}
-
-	return	sc520_mmcr->sysinfo ?
-		spi_eeprom_write(1, offset, buffer, len) :
-	mw_eeprom_write(1, offset, buffer, len);
-}
-
-int board_eth_init(bd_t *bis)
-{
-	return pci_eth_init(bis);
-}
diff --git a/board/sc520_spunk/sc520_spunk_asm.S b/board/sc520_spunk/sc520_spunk_asm.S
deleted file mode 100644
index eda7e91..0000000
--- a/board/sc520_spunk/sc520_spunk_asm.S
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB <daniel@omicron.se>.
- *
- * 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
- */
-
-/* now setup the General purpose bus to give us access to the LEDs.
- * We can then use the leds to display status information.
- */
-
-sc520_cdp_registers:
-/* size    offset        value */
-.word 1 ; .word 0x040 ; .long 0x00       /* SDRAM buffer control */
-.word 2 ; .word 0xc08 ; .long 0x0001     /* GP CS offset */
-.word 2 ; .word 0xc09 ; .long 0x0003     /* GP CS width */
-.word 2 ; .word 0xc0a ; .long 0x0001     /* GP CS width */
-.word 2 ; .word 0xc0b ; .long 0x0003     /* GP RD pulse width */
-.word 2 ; .word 0xc0c ; .long 0x0001     /* GP RD offse */
-.word 2 ; .word 0xc0d ; .long 0x0003     /* GP WR pulse width */
-.word 2 ; .word 0xc0e ; .long 0x0001     /* GP WR offset */
-.word 2 ; .word 0xc2c ; .long 0x003f     /* GPIO directionreg 31-16 */
-.word 2 ; .word 0xc2a ; .long 0xe000     /* GPIO directionreg 15-0 */
-.word 2 ; .word 0xc22 ; .long 0xffc0     /* GPIO pin function 31-16 reg */
-.word 2 ; .word 0xc20 ; .long 0x1fff     /* GPIO pin function 15-0 reg */
-.word 0 ; .word 0x000 ; .long 0x00
-
-/* board early intialization */
-.globl early_board_init
-early_board_init:
-	movl    $sc520_cdp_registers,%esi
-init_loop:
-	movl    $0xfffef000,%edi     /* MMCR base to edi */
-	movw	(%esi), %bx          /* load size to bx */
-	cmpw	$0, %bx              /* if size is 0 we're done */
-	je	done
-	xorl	%edx,%edx
-	movw	2(%esi), %dx        /* load MMCR offset to dx */
-	addl	%edx, %edi          /* add offset to base in edi */
-	movl	4(%esi), %eax       /* load value in eax */
-	cmpw	$1, %bx
-	je	byte                 /* byte op? */
-	cmpw	$2, %bx
-	je	word                 /* word op? */
-	movl	%eax, (%edi)         /* must be long, then */
-	jmp	next
-byte:   movb    %al,(%edi)
-	jmp	next
-word:	movw	%ax,(%edi)
-next:	addl	$8, %esi             /* advance esi */
-	jmp	init_loop
-
-	/* light all leds */
-done:   movl    $0xfffefc32,%edx
-	movw    $0000,(%edx)
-
-	jmp	*%ebp		     /* return to caller */
-
-
-.globl show_boot_progress_asm
-show_boot_progress_asm:
-	movl    $0xfffefc32,%edx
-	xorw    $0xffff, %ax
-	movw    %ax,(%edx)
-	jmp	*%ebp
diff --git a/board/sc520_spunk/sc520_spunk_asm16.S b/board/sc520_spunk/sc520_spunk_asm16.S
deleted file mode 100644
index 8bb1766..0000000
--- a/board/sc520_spunk/sc520_spunk_asm16.S
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB <daniel@omicron.se>.
- *
- * 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
- */
-
-/*
- * 16bit initialization code.
- * This code have to map the area of the boot flash
- * that is used by U-boot to its final destination.
- */
-
-.text
-.section .start16, "ax"
-.code16
-.globl board_init16
-board_init16:
-	/* Alias MMCR to 0xdf000 */
-	movw	$0xfffc, %dx
-	movl	$0x800df0cb, %eax
-	outl	%eax, %dx
-
-	/* Set ds to point to MMCR alias */
-	movw	$0xdf00, %ax
-	movw	%ax, %ds
-
-	/* Map the entire flash at 0x38000000
-	 * (with BOOTCS and PAR14, use 0xabfff800 for ROMCS1) */
-	movl    $0xc0, %edi
-	movl	$0x8bfff800, %eax
-	movl	%eax, (%di)
-
-	/* Disable SDRAM write buffer */
-	movw    $0x40,%di
-	xorw    %ax,%ax
-	movb    %al, (%di)
-
-	/* Disabe MMCR alias */
-	movw	$0xfffc, %dx
-	movl	$0x000000cb, %eax
-	outl	%eax, %dx
-
-	/* the return address is stored in bp */
-	jmp	*%bp
-
-
-.section .bios, "ax"
-.code16
-.globl realmode_reset
-realmode_reset:
-	/* Alias MMCR to 0xdf000 */
-	movw	$0xfffc, %dx
-	movl	$0x800df0cb, %eax
-	outl	%eax, %dx
-
-	/* Set ds to point to MMCR alias */
-	movw	$0xdf00, %ax
-	movw	%ax, %ds
-
-	/* issue software reset thorugh MMCR */
-	movl    $0xd72, %edi
-	movb	$0x01, %al
-	movb	%al, (%di)
-
-1:	hlt
-	jmp	1
diff --git a/board/sc520_spunk/sc520_spunk_pci.c b/board/sc520_spunk/sc520_spunk_pci.c
deleted file mode 100644
index 1b5d0f1..0000000
--- a/board/sc520_spunk/sc520_spunk_pci.c
+++ /dev/null
@@ -1,323 +0,0 @@
-/*
- *
- * (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB <daniel@omicron.se>.
- *
- * 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 <pci.h>
-#include <ds1722.h>
-#include <asm/io.h>
-#include <asm/pci.h>
-#include <asm/ic/sc520.h>
-#include <asm/ic/pci.h>
-
-DECLARE_GLOBAL_DATA_PTR;
-
-static void pci_sc520_spunk_fixup_irq(struct pci_controller *hose, pci_dev_t dev)
-{
-	int version = sc520_mmcr->sysinfo;
-
-	/* a configurable lists of irqs to steal
-	 * when we need one (a board with more pci interrupt pins
-	 * would use a larger table */
-	static int irq_list[] = {
-		CONFIG_SYS_FIRST_PCI_IRQ,
-		CONFIG_SYS_SECOND_PCI_IRQ,
-		CONFIG_SYS_THIRD_PCI_IRQ,
-		CONFIG_SYS_FORTH_PCI_IRQ
-	};
-	static int next_irq_index=0;
-
-	uchar tmp_pin;
-	int pin;
-
-	pci_hose_read_config_byte(hose, dev, PCI_INTERRUPT_PIN, &tmp_pin);
-	pin = tmp_pin;
-
-	pin-=1; /* pci config space use 1-based numbering */
-	if (-1 == pin) {
-		return; /* device use no irq */
-	}
-
-
-	/* map device number +  pin to a pin on the sc520 */
-	switch (PCI_DEV(dev)) {
-	case 6:  /* ETH0 */
-		pin+=SC520_PCI_INTA;
-		break;
-
-	case 7:  /* ETH1 */
-		pin+=SC520_PCI_INTB;
-		break;
-
-	case 8:  /* Crypto */
-		pin+=SC520_PCI_INTC;
-		break;
-
-	case 9: /* PMC slot */
-		pin+=SC520_PCI_INTD;
-		break;
-
-	case 10: /* PC-Card */
-
-		if (version < 10) {
-			pin+=SC520_PCI_INTD;
-		} else {
-			pin+=SC520_PCI_INTC;
-		}
-		break;
-
-	default:
-		return;
-	}
-
-	pin&=3; /* wrap around */
-
-	if (sc520_pci_ints[pin] == -1) {
-		/* re-route one interrupt for us */
-		if (next_irq_index > 3) {
-			return;
-		}
-		if (pci_sc520_set_irq(pin, irq_list[next_irq_index])) {
-			return;
-		}
-		next_irq_index++;
-	}
-
-
-	if (-1 != sc520_pci_ints[pin]) {
-		pci_hose_write_config_byte(hose, dev, PCI_INTERRUPT_LINE,
-					   sc520_pci_ints[pin]);
-	}
-#if 0
-	printf("fixup_irq: device %d pin %c irq %d\n",
-	       PCI_DEV(dev), 'A' + pin, sc520_pci_ints[pin]);
-#endif
-}
-
-
-static void pci_sc520_spunk_configure_cardbus(struct pci_controller *hose,
-					      pci_dev_t dev, struct pci_config_table *te)
-{
-	u32 io_base;
-	u32 temp;
-
-	pciauto_config_device(hose, dev);
-
-	pci_hose_write_config_word(hose, dev, PCI_COMMAND, 0x07);  /* enable device */
-	pci_hose_write_config_byte(hose, dev, 0x0c, 0x10);         /* cacheline size */
-	pci_hose_write_config_byte(hose, dev, 0x0d, 0x40);         /* latency timer */
-	pci_hose_write_config_byte(hose, dev, 0x1b, 0x40);         /* cardbus latency timer */
-	pci_hose_write_config_word(hose, dev, PCI_BRIDGE_CONTROL, 0x0040);  /* reset cardbus */
-	pci_hose_write_config_word(hose, dev, PCI_BRIDGE_CONTROL, 0x0080);  /* route interrupts though ExCA */
-	pci_hose_write_config_word(hose, dev,  0x44, 0x3e0); /* map legacy I/O port to 0x3e0 */
-
-	pci_hose_read_config_dword(hose, dev,  0x80, &temp); /* System control */
-	pci_hose_write_config_dword(hose, dev,  0x80, temp | 0x60); /* System control: disable clockrun */
-	/* route MF0 to ~INT and MF3 to IRQ7
-	 * reserve all others */
-	pci_hose_write_config_dword(hose, dev, 0x8c, 0x00007002);
-	pci_hose_write_config_byte(hose, dev, 0x91, 0x00);    /* card control */
-	pci_hose_write_config_byte(hose, dev, 0x92, 0x62);    /* device control */
-
-	if (te->device != 0xac56) {
-		pci_hose_write_config_byte(hose, dev, 0x93, 0x21);    /* async interrupt enable */
-		pci_hose_write_config_word(hose, dev, 0xa8, 0x0000);  /* reset GPIO */
-		pci_hose_write_config_word(hose, dev, 0xac, 0x0000);  /* reset GPIO */
-		pci_hose_write_config_word(hose, dev, 0xaa, 0x0000);  /* reset GPIO */
-		pci_hose_write_config_word(hose, dev, 0xae, 0x0000);  /* reset GPIO */
-	} else {
-		pci_hose_write_config_byte(hose, dev, 0x93, 0x20);    /*  */
-	}
-	pci_hose_write_config_word(hose, dev, 0xa4, 0x8000);  /* reset power management */
-
-
-	pci_hose_read_config_dword(hose, dev, PCI_BASE_ADDRESS_0, &io_base);
-	io_base &= ~0xfL;
-
-	writeb(0x07, io_base+0x803); /* route CSC irq though ExCA and enable IRQ7 */
-	writel(0, io_base+0x10);     /* CLKRUN default */
-	writel(0, io_base+0x20);     /* CLKRUN default */
-
-}
-
-
-static struct pci_config_table pci_sc520_spunk_config_table[] = {
-	{ 0x104c, 0xac50, PCI_ANY_ID, 0, 0x0a, 0, pci_sc520_spunk_configure_cardbus, { 0, 0, 0} },
-	{ 0x104c, 0xac56, PCI_ANY_ID, 0, 0x0a, 0, pci_sc520_spunk_configure_cardbus, { 0, 0, 0} },
-	{ 0, 0, 0, 0, 0, 0, NULL, {0,0,0}}
-};
-
-static struct pci_controller sc520_spunk_hose = {
-	fixup_irq: pci_sc520_spunk_fixup_irq,
-	config_table: pci_sc520_spunk_config_table,
-	first_busno: 0x00,
-	last_busno: 0xff,
-};
-
-void pci_init_board(void)
-{
-	pci_sc520_init(&sc520_spunk_hose);
-}
-
-/*
- * This function should map a chunk of size bytes
- * of the system address space to the ISA bus
- *
- * The function will return the memory address
- * as seen by the host (which may very will be the
- * same as the bus address)
- */
-u32 isa_map_rom(u32 bus_addr, int size)
-{
-	u32 par;
-
-	printf("isa_map_rom asked to map %d bytes at %x\n",
-	       size, bus_addr);
-
-	par = size;
-	if (par < 0x80000) {
-		par = 0x80000;
-	}
-	par >>= 12;
-	par--;
-	par&=0x7f;
-	par <<= 18;
-	par |= (bus_addr>>12);
-	par |= 0x50000000;
-
-	printf ("setting PAR11 to %x\n", par);
-
-	/* Map rom 0x10000 with PAR1 */
-	sc520_mmcr->par[11] = par;
-
-	return bus_addr;
-}
-
-/*
- * this function removed any mapping created
- * with pci_get_rom_window()
- */
-void isa_unmap_rom(u32 addr)
-{
-	printf("isa_unmap_rom asked to unmap %x", addr);
-	if ((addr>>12) == (sc520_mmcr->par[11] & 0x3ffff)) {
-		sc520_mmcr->par[11] = 0;
-		printf(" done\n");
-		return;
-	}
-	printf(" not ours\n");
-}
-
-#define PCI_ROM_TEMP_SPACE 0x10000
-/*
- * This function should map a chunk of size bytes
- * of the system address space to the PCI bus,
- * suitable to map PCI ROMS (bus address < 16M)
- * the function will return the host memory address
- * which should be converted into a bus address
- * before used to configure the PCI rom address
- * decoder
- */
-u32 pci_get_rom_window(struct pci_controller *hose, int size)
-{
-	u32 par;
-
-	par = size;
-	if (par < 0x80000) {
-		par = 0x80000;
-	}
-	par >>= 16;
-	par--;
-	par&=0x7ff;
-	par <<= 14;
-	par |= (PCI_ROM_TEMP_SPACE>>16);
-	par |= 0x72000000;
-
-	printf ("setting PAR1 to %x\n", par);
-
-	/* Map rom 0x10000 with PAR1 */
-	sc520_mmcr->par[1] = par;
-
-	return PCI_ROM_TEMP_SPACE;
-}
-
-/*
- * this function removed any mapping created
- * with pci_get_rom_window()
- */
-void pci_remove_rom_window(struct pci_controller *hose, u32 addr)
-{
-	printf("pci_remove_rom_window: %x", addr);
-	if (addr == PCI_ROM_TEMP_SPACE) {
-		sc520_mmcr->par[1] = 0;
-		printf(" done\n");
-		return;
-	}
-	printf(" not ours\n");
-
-}
-
-/*
- * This function is called in order to provide acces to the
- * legacy video I/O ports on the PCI bus.
- * After this function accesses to I/O ports 0x3b0-0x3bb and
- * 0x3c0-0x3df shuld result in transactions on the PCI bus.
- *
- */
-int pci_enable_legacy_video_ports(struct pci_controller *hose)
-{
-	/* Map video memory to 0xa0000*/
-	sc520_mmcr->par[0] = 0x7200400a;
-
-	/* forward all I/O accesses to PCI */
-	sc520_mmcr->adddecctl = sc520_mmcr->adddecctl | IO_HOLE_DEST_PCI;
-
-
-	/* so we map away all io ports to pci (only way to access pci io
-	 * below 0x400. But then we have to map back the portions that we dont
-	 * use so that the generate cycles on the GPIO bus where the sio and
-	 * ISA slots are connected, this requre the use of several PAR registers
-	 */
-
-	/* bring 0x100 - 0x2f7 back to ISA using PAR5 */
-	sc520_mmcr->par[5] = 0x31f70100;
-
-	/* com2 use 2f8-2ff */
-
-	/* bring 0x300 - 0x3af back to ISA using PAR7 */
-	sc520_mmcr->par[7] = 0x30af0300;
-
-	/* vga use 3b0-3bb */
-
-	/* bring 0x3bc - 0x3bf back to ISA using PAR8 */
-	sc520_mmcr->par[8] = 0x300303bc;
-
-	/* vga use 3c0-3df */
-
-	/* bring 0x3e0 - 0x3f7 back to ISA using PAR9 */
-	sc520_mmcr->par[9] = 0x301703e0;
-
-	/* com1 use 3f8-3ff */
-
-	return 0;
-}
diff --git a/board/sc520_spunk/u-boot.lds b/board/sc520_spunk/u-boot.lds
deleted file mode 100644
index efb570b..0000000
--- a/board/sc520_spunk/u-boot.lds
+++ /dev/null
@@ -1,92 +0,0 @@
-
-/*
- * (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB, daniel@omicron.se.
- *
- * 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
- */
-
-OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
-OUTPUT_ARCH(i386)
-ENTRY(_start)
-
-SECTIONS
-{
-	. = 0x387c0000;                     /* Where bootcode in the flash is mapped */
-	.text  : { *(.text); }
-
-	. = ALIGN(4);
-	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
-
-	. = 0x400000;	                    /* Ram data segment to use */
-	_i386boot_romdata_dest = ABSOLUTE(.);
-	.data : AT ( LOADADDR(.rodata) + SIZEOF(.rodata) ) { *(.data) }
-	_i386boot_romdata_start = LOADADDR(.data);
-
-	. = ALIGN(4);
-	.got : AT ( LOADADDR(.data) + SIZEOF(.data) ) { *(.got) }
-	_i386boot_romdata_size = SIZEOF(.data) + SIZEOF(.got);
-
-
-	. = ALIGN(4);
-	_i386boot_bss_start = ABSOLUTE(.);
-	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
-	_i386boot_bss_size = SIZEOF(.bss);
-
-
-  . = .;
-  __u_boot_cmd_start = .;
-  .u_boot_cmd : { *(.u_boot_cmd) }
-  __u_boot_cmd_end = .;
-
-
-	/* 16bit realmode trampoline code */
-	.realmode 0x7c0 : AT ( LOADADDR(.got) + SIZEOF(.got) ) { *(.realmode) }
-
-	_i386boot_realmode = LOADADDR(.realmode);
-	_i386boot_realmode_size = SIZEOF(.realmode);
-
-	/* 16bit BIOS emulation code (just enough to boot Linux) */
-	.bios 0 : AT ( LOADADDR(.realmode) + SIZEOF(.realmode) ) { *(.bios) }
-
-	_i386boot_bios = LOADADDR(.bios);
-	_i386boot_bios_size = SIZEOF(.bios);
-
-
-	/* The load addresses below assumes that the flash
-	 * will be mapped so that 0x387f0000 == 0xffff0000
-	 * at reset time
-	 *
-	 * The fe00 and ff00 offsets of the start32 and start16
-	 * segments are arbitrary, the just have to be mapped
-	 * at reset and the code have to fit.
-	 * The fff0 offset of resetvec is important, however.
-	 */
-
-
-	. = 0xfffffe00;
-	.start32 : AT (0x387ffe00) { *(.start32); }
-
-	. = 0xff00;
-	.start16 : AT (0x387fff00) { *(.start16); }
-
-	. = 0xfff0;
-	.resetvec : AT (0x387ffff0) { *(.resetvec); }
-	_i386boot_end = (LOADADDR(.resetvec) + SIZEOF(.resetvec) );
-}
diff --git a/boards.cfg b/boards.cfg
index 05ddb8c..0bf9c93 100644
--- a/boards.cfg
+++ b/boards.cfg
@@ -307,9 +307,6 @@
 ip04	blackfin	blackfin
 tcm-bf518	blackfin	blackfin
 tcm-bf537	blackfin	blackfin
-sc520_cdp	i386	i386		-		-		sc520
-sc520_spunk	i386	i386		-		-		sc520
-sc520_spunk_rel	i386	i386		sc520_spunk_rel	-		sc520
 M5208EVBE	m68k	mcf52x2		m5208evbe	freescale
 M5249EVB	m68k	mcf52x2		m5249evb	freescale
 M5253DEMO	m68k	mcf52x2		m5253demo	freescale
diff --git a/common/cmd_bdinfo.c b/common/cmd_bdinfo.c
index d43867f..84c6ec8 100644
--- a/common/cmd_bdinfo.c
+++ b/common/cmd_bdinfo.c
@@ -35,7 +35,7 @@
 static void print_eth(int idx);
 #endif
 
-#ifndef CONFIG_ARM	/* PowerPC and other */
+#if (!defined(CONFIG_ARM) && !defined(CONFIG_X86))
 static void print_lnum(const char *, u64);
 #endif
 
@@ -367,6 +367,45 @@
 	return 0;
 }
 
+#elif defined(CONFIG_X86)
+
+static void print_str(const char *, const char *);
+
+int do_bdinfo ( cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+{
+	int i;
+	bd_t *bd = gd->bd;
+	char buf[32];
+
+	print_num ("env_t",		(ulong)bd->bi_env);
+	print_num ("boot_params",	(ulong)bd->bi_boot_params);
+	print_num ("bi_memstart",	bd->bi_memstart);
+	print_num ("bi_memsize",	bd->bi_memsize);
+	print_num ("bi_flashstart",	bd->bi_flashstart);
+	print_num ("bi_flashsize",	bd->bi_flashsize);
+	print_num ("bi_flashoffset",	bd->bi_flashoffset);
+	print_num ("bi_sramstart",	bd->bi_sramstart);
+	print_num ("bi_sramsize",	bd->bi_sramsize);
+	print_num ("bi_bootflags",	bd->bi_bootflags);
+	print_str ("cpufreq",		strmhz(buf, bd->bi_intfreq));
+	print_str ("busfreq",		strmhz(buf, bd->bi_busfreq));
+
+	for (i=0; i<CONFIG_NR_DRAM_BANKS; ++i) {
+		print_num("DRAM bank",	i);
+		print_num("-> start",	bd->bi_dram[i].start);
+		print_num("-> size",	bd->bi_dram[i].size);
+	}
+
+#if defined(CONFIG_CMD_NET)
+	print_eth(0);
+	printf ("ip_addr     = %pI4\n", &bd->bi_ip_addr);
+	print_str ("ethspeed",	    strmhz(buf, bd->bi_ethspeed));
+#endif
+	printf ("baudrate    = %d bps\n", bd->bi_baudrate);
+
+	return 0;
+}
+
 #else
  #error "a case for this architecture does not exist!"
 #endif
@@ -391,14 +430,17 @@
 }
 #endif
 
-#ifndef CONFIG_ARM
+#if (!defined(CONFIG_ARM) && !defined(CONFIG_X86))
 static void print_lnum(const char *name, u64 value)
 {
 	printf ("%-12s= 0x%.8llX\n", name, value);
 }
 #endif
 
-#if defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_BLACKFIN)
+#if defined(CONFIG_PPC) || \
+    defined(CONFIG_M68K) || \
+    defined(CONFIG_BLACKFIN) || \
+    defined(CONFIG_X86)
 static void print_str(const char *name, const char *str)
 {
 	printf ("%-12s= %6s MHz\n", name, str);
diff --git a/include/configs/sc520_cdp.h b/include/configs/sc520_cdp.h
deleted file mode 100644
index 2f1dae7..0000000
--- a/include/configs/sc520_cdp.h
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
- * (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB, daniel@omicron.se.
- *
- * 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
- */
-
-/*
- * board/config.h - configuration options, board specific
- */
-
-#ifndef __CONFIG_H
-#define __CONFIG_H
-
-#define CONFIG_SKIP_RELOCATE_UBOOT
-
-/*
- * High Level Configuration Options
- * (easy to change)
- */
-
-#define CONFIG_X86		1	/* This is a X86 CPU		*/
-#define CONFIG_SYS_SC520	1	/* Include support for AMD SC520 */
-#define CONFIG_ALI152X		1	/* Include support for Ali 152x SIO */
-
-#define CONFIG_SYS_SDRAM_PRECHARGE_DELAY 6     /* 6T */
-#define CONFIG_SYS_SDRAM_REFRESH_RATE    78    /* 7.8uS (choices are 7.8, 15.6, 31.2 or 62.5uS) */
-#define CONFIG_SYS_SDRAM_RAS_CAS_DELAY   3     /* 3T */
-
-/* define at most one of these */
-#undef CONFIG_SYS_SDRAM_CAS_LATENCY_2T
-#define CONFIG_SYS_SDRAM_CAS_LATENCY_3T
-
-#define CONFIG_SYS_SC520_HIGH_SPEED    0       /* 100 or 133MHz */
-#undef  CONFIG_SYS_SC520_RESET                 /* use SC520 MMCR's to reset cpu */
-#undef  CONFIG_SYS_SC520_TIMER                 /* use SC520 swtimers */
-#define CONFIG_SYS_GENERIC_TIMER       1       /* use the i8254 PIT timers */
-#undef  CONFIG_SYS_TSC_TIMER                   /* use the Pentium TSC timers */
-#define  CONFIG_SYS_USE_SIO_UART       0       /* prefer the uarts on the SIO to those
-					 * in the SC520 on the CDP */
-#define CONFIG_SYS_PCAT_INTERRUPTS
-#define CONFIG_SYS_NUM_IRQS		16
-
-#define CONFIG_SYS_STACK_SIZE          0x8000  /* Size of bootloader stack */
-
-#define CONFIG_SHOW_BOOT_PROGRESS 1
-#define CONFIG_LAST_STAGE_INIT    1
-
-/*
- * Size of malloc() pool
- */
-#define CONFIG_SYS_MALLOC_LEN	(CONFIG_ENV_SIZE + 128*1024)
-
-#define CONFIG_BAUDRATE		9600
-
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE
-#define CONFIG_BOOTP_BOOTPATH
-#define CONFIG_BOOTP_GATEWAY
-#define CONFIG_BOOTP_HOSTNAME
-
-
-/*
- * Command line configuration.
- */
-#include <config_cmd_default.h>
-
-#define CONFIG_CMD_PCI
-#define CONFIG_CMD_SATA
-#define CONFIG_CMD_JFFS2
-#define CONFIG_CMD_NET
-#define CONFIG_CMD_EEPROM
-
-#define CONFIG_BOOTDELAY	15
-#define CONFIG_BOOTARGS		"root=/dev/mtdblock0 console=ttyS0,9600"
-/* #define CONFIG_BOOTCOMMAND	"bootm 38000000" */
-
-#if defined(CONFIG_CMD_KGDB)
-#define CONFIG_KGDB_BAUDRATE	115200		/* speed to run kgdb serial port */
-#define CONFIG_KGDB_SER_INDEX	2		/* which serial port to use */
-#endif
-
-/*
- * Miscellaneous configurable options
- */
-#define	CONFIG_SYS_LONGHELP				/* undef to save memory		*/
-#define	CONFIG_SYS_PROMPT		"boot > "	/* Monitor Command Prompt	*/
-#define	CONFIG_SYS_CBSIZE		256		/* Console I/O Buffer Size	*/
-#define	CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
-#define	CONFIG_SYS_MAXARGS		16		/* max number of command args	*/
-#define CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE	/* Boot Argument Buffer Size	*/
-
-#define CONFIG_SYS_MEMTEST_START	0x00100000	/* memtest works on	*/
-#define CONFIG_SYS_MEMTEST_END		0x01000000	/* 1 ... 16 MB in DRAM	*/
-
-#define	CONFIG_SYS_LOAD_ADDR		0x100000	/* default load address	*/
-
-#define	CONFIG_SYS_HZ			1024		/* incrementer freq: 1kHz */
-
-						/* valid baudrates */
-#define CONFIG_SYS_BAUDRATE_TABLE	{ 9600, 19200, 38400, 57600, 115200 }
-
-/*-----------------------------------------------------------------------
- * Physical Memory Map
- */
-#define CONFIG_NR_DRAM_BANKS	4	   /* we have 4 banks of DRAM */
-
-/*-----------------------------------------------------------------------
- * FLASH and environment organization
- */
-#define CONFIG_SYS_MAX_FLASH_BANKS	3	/* max number of memory banks		*/
-#define CONFIG_SYS_MAX_FLASH_SECT	64	/* max number of sectors on one chip	*/
-
-/* timeout values are in ticks */
-#define CONFIG_SYS_FLASH_ERASE_TOUT	(2*CONFIG_SYS_HZ) /* Timeout for Flash Erase */
-#define CONFIG_SYS_FLASH_WRITE_TOUT	(2*CONFIG_SYS_HZ) /* Timeout for Flash Write */
-
-#define CONFIG_SPI_EEPROM      /* Support for SPI EEPROMs (AT25128) */
-#define CONFIG_MW_EEPROM       /* Support for MicroWire EEPROMs (AT93LC46) */
-
-/* allow to overwrite serial and ethaddr */
-#define CONFIG_ENV_OVERWRITE
-
-/* Environment in EEPROM */
-#define CONFIG_ENV_IS_IN_EEPROM   1
-#define CONFIG_SPI
-#define CONFIG_ENV_SIZE	       0x4000	/* Total Size of Environment EEPROM 16k is SPI is used or 128 bytes if MW is used*/
-#define CONFIG_ENV_OFFSET         0
-#define CONFIG_SYS_SC520_CDP_USE_SPI  /* Store configuration in the SPI part */
-#undef CONFIG_SYS_SC520_CDP_USE_MW    /* Store configuration in the MicroWire part */
-#define CONFIG_SPI_X 1
-
-/*
- * JFFS2 partitions
- */
-/* No command line, one static partition, whole device */
-#undef CONFIG_CMD_MTDPARTS
-#define CONFIG_JFFS2_DEV		"nor0"
-#define CONFIG_JFFS2_PART_SIZE		0xFFFFFFFF
-#define CONFIG_JFFS2_PART_OFFSET	0x00000000
-
-/* mtdparts command line support */
-/*
-#define CONFIG_CMD_MTDPARTS
-#define MTDIDS_DEFAULT		"nor0=SC520CDP Flash Bank #0"
-#define MTDPARTS_DEFAULT	"mtdparts=SC520CDP Flash Bank #0:-(jffs2)"
-*/
-
-/*-----------------------------------------------------------------------
- * Device drivers
- */
-#define CONFIG_NET_MULTI        /* Multi ethernet cards support */
-#define CONFIG_PCNET
-#define CONFIG_PCNET_79C973
-#define CONFIG_PCNET_79C975
-#define PCNET_HAS_PROM         1
-
-/************************************************************
-*SATA/Native Stuff
-************************************************************/
-#define CONFIG_SYS_SATA_MAXBUS         2       /*Max Sata buses supported */
-#define CONFIG_SYS_SATA_DEVS_PER_BUS   2      /*Max no. of devices per bus/port */
-#define CONFIG_SYS_SATA_MAX_DEVICE     (CONFIG_SYS_SATA_MAXBUS* CONFIG_SYS_SATA_DEVS_PER_BUS)
-#define CONFIG_ATA_PIIX		1       /*Supports ata_piix driver */
-
-
-/************************************************************
- * DISK Partition support
- ************************************************************/
-#define CONFIG_DOS_PARTITION
-#define CONFIG_MAC_PARTITION
-#define CONFIG_ISO_PARTITION /* Experimental */
-
-/************************************************************
- * Video/Keyboard support
- ************************************************************/
-#define CONFIG_VIDEO			/* To enable video controller support */
-#define PCI_VIDEO_VENDOR_ID 0		/*Use the appropriate vendor ID*/
-#define PCI_VIDEO_DEVICE_ID 0		/*Use the appropriate Device ID*/
-#define CONFIG_I8042_KBD
-#define CONFIG_SYS_ISA_IO 0
-
-/************************************************************
- * RTC
- ***********************************************************/
-#define CONFIG_RTC_MC146818
-#undef CONFIG_WATCHDOG			/* watchdog disabled		*/
-
-/*
- * PCI stuff
- */
-#define CONFIG_PCI                                /* include pci support */
-#define CONFIG_PCI_PNP                            /* pci plug-and-play */
-#define CONFIG_PCI_SCAN_SHOW
-
-#define	CONFIG_SYS_FIRST_PCI_IRQ   10
-#define	CONFIG_SYS_SECOND_PCI_IRQ  9
-#define CONFIG_SYS_THIRD_PCI_IRQ   11
-#define	CONFIG_SYS_FORTH_PCI_IRQ   15
-
-
-#endif	/* __CONFIG_H */
diff --git a/include/configs/sc520_spunk.h b/include/configs/sc520_spunk.h
deleted file mode 100644
index cf5633c..0000000
--- a/include/configs/sc520_spunk.h
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
- * (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB, daniel@omicron.se.
- *
- * 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
- */
-
-/*
- * board/config.h - configuration options, board specific
- */
-
-#ifndef __CONFIG_H
-#define __CONFIG_H
-
-#define CONFIG_SKIP_RELOCATE_UBOOT
-
-/*
- * High Level Configuration Options
- * (easy to change)
- */
-
-#define CONFIG_X86		1	/* This is a X86 CPU		*/
-#define CONFIG_SYS_SC520	1	/* Include support for AMD SC520 */
-#define CONFIG_SYS_SC520_SSI
-
-#define CONFIG_SYS_SDRAM_PRECHARGE_DELAY 6     /* 6T */
-#define CONFIG_SYS_SDRAM_REFRESH_RATE    78    /* 7.8uS (choices are 7.8, 15.6, 31.2 or 62.5uS) */
-#define CONFIG_SYS_SDRAM_RAS_CAS_DELAY   3     /* 3T */
-
-/* define at most one of these */
-#undef CONFIG_SYS_SDRAM_CAS_LATENCY_2T
-#define CONFIG_SYS_SDRAM_CAS_LATENCY_3T
-
-#define CONFIG_SYS_SC520_HIGH_SPEED    0       /* 100 or 133MHz */
-#undef  CONFIG_SYS_SC520_RESET                 /* use SC520 MMCR's to reset cpu */
-#undef  CONFIG_SYS_SC520_TIMER                 /* use SC520 swtimers */
-#define CONFIG_SYS_GENERIC_TIMER       1       /* use the i8254 PIT timers */
-#undef  CONFIG_SYS_TSC_TIMER                   /* use the Pentium TSC timers */
-#define CONFIG_SYS_PCAT_INTERRUPTS
-#define CONFIG_SYS_NUM_IRQS		16
-
-#define CONFIG_SYS_STACK_SIZE          0x8000  /* Size of bootloader stack */
-
-#define CONFIG_SHOW_BOOT_PROGRESS 1
-#define CONFIG_LAST_STAGE_INIT    1
-
-/*
- * Size of malloc() pool
- */
-#define CONFIG_SYS_MALLOC_LEN	(CONFIG_ENV_SIZE + 128*1024)
-
-
-#define CONFIG_BAUDRATE		9600
-
-
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE
-#define CONFIG_BOOTP_BOOTPATH
-#define CONFIG_BOOTP_GATEWAY
-#define CONFIG_BOOTP_HOSTNAME
-
-
-/*
- * Command line configuration.
- */
-#include <config_cmd_default.h>
-
-#define CONFIG_CMD_PCI
-#define CONFIG_CMD_JFFS2
-#define CONFIG_CMD_IDE
-#define CONFIG_CMD_NET
-#define CONFIG_CMD_PCMCIA
-#define CONFIG_CMD_EEPROM
-
-
-#define CONFIG_BOOTDELAY	15
-#define CONFIG_BOOTARGS		"root=/dev/mtdblock1 console=ttyS0,9600 " \
-					"mtdparts=phys:7936k(root),256k(uboot) "
-#define CONFIG_BOOTCOMMAND	"setenv bootargs root=/dev/nfs ip=autoconf " \
-					"console=ttyS0,9600 " \
-					"mtdparts=phys:7808k(root),128k(env),256k(uboot);" \
-					"bootp;bootm"
-
-#if defined(CONFIG_CMD_KGDB)
-#define CONFIG_KGDB_BAUDRATE	115200		/* speed to run kgdb serial port */
-#define CONFIG_KGDB_SER_INDEX	2		/* which serial port to use */
-#endif
-
-
-/*
- * Miscellaneous configurable options
- */
-#define	CONFIG_SYS_LONGHELP				/* undef to save memory		*/
-#define	CONFIG_SYS_PROMPT		"boot > "	/* Monitor Command Prompt	*/
-#define	CONFIG_SYS_CBSIZE		256		/* Console I/O Buffer Size	*/
-#define	CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
-#define	CONFIG_SYS_MAXARGS		16		/* max number of command args	*/
-#define CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE	/* Boot Argument Buffer Size	*/
-
-#define CONFIG_SYS_MEMTEST_START	0x00100000	/* memtest works on	*/
-#define CONFIG_SYS_MEMTEST_END		0x01000000	/* 1 ... 16 MB in DRAM	*/
-
-#define	CONFIG_SYS_LOAD_ADDR		0x100000	/* default load address	*/
-
-#define	CONFIG_SYS_HZ			1024		/* incrementer freq: 1kHz */
-
-						/* valid baudrates */
-#define CONFIG_SYS_BAUDRATE_TABLE	{ 9600, 19200, 38400, 57600, 115200 }
-
-
-/*-----------------------------------------------------------------------
- * Physical Memory Map
- */
-#define CONFIG_NR_DRAM_BANKS	4	   /* we have 4 banks of DRAM */
-
-/*-----------------------------------------------------------------------
- * FLASH and environment organization
- */
-
-
-#define CONFIG_SYS_MAX_FLASH_BANKS	1	/* max number of memory banks		*/
-#define CONFIG_SYS_MAX_FLASH_SECT	512	/* max number of sectors on one chip	*/
-
-/* timeout values are in ticks */
-#define CONFIG_SYS_FLASH_ERASE_TOUT	(2*CONFIG_SYS_HZ) /* Timeout for Flash Erase */
-#define CONFIG_SYS_FLASH_WRITE_TOUT	(2*CONFIG_SYS_HZ) /* Timeout for Flash Write */
-
-
-#define CONFIG_SPI_EEPROM       /* SPI EEPROMs such as AT25010 or AT25640 */
-#define CONFIG_MW_EEPROM        /* MicroWire EEPROMS such as AT93LC46 */
-#define CONFIG_DTT_DS1722       /* Dallas DS1722 SPI Temperature probe */
-
-
-/* allow to overwrite serial and ethaddr */
-#define CONFIG_ENV_OVERWRITE
-
-
-#if 0
-/* Environment in flash */
-#define CONFIG_ENV_IS_IN_FLASH     1
-# define CONFIG_ENV_ADDR		(0x387a0000)	/* Addr of Environment Sector	*/
-# define CONFIG_ENV_SIZE		0x20000	/* Total Size of Environment Sector (or 0x10000) */
-# define CONFIG_ENV_OFFSET         0
-
-#else
-/* Environment in EEPROM */
-
-# define CONFIG_ENV_IS_IN_EEPROM   1
-# define CONFIG_SPI
-# define CONFIG_SPI_X 1
-# define CONFIG_ENV_SIZE		0x2000	/* Total Size of Environment EEPROM	*/
-# define CONFIG_ENV_OFFSET         0x1c00
-
-#endif
-
-/*
- * JFFS2 partitions
- *
- */
-/* No command line, one static partition, whole device */
-#undef CONFIG_CMD_MTDPARTS
-#define CONFIG_JFFS2_DEV		"nor0"
-#define CONFIG_JFFS2_PART_SIZE		0xFFFFFFFF
-#define CONFIG_JFFS2_PART_OFFSET	0x00000000
-
-/* mtdparts command line support */
-/* Note: fake mtd_id used, no linux mtd map file */
-/*
-#define CONFIG_CMD_MTDPARTS
-#define MTDIDS_DEFAULT		"nor0=sc520_spunk-0"
-#define MTDPARTS_DEFAULT	"mtdparts=sc520_spunk-0:-(jffs2)"
-*/
-
-/*-----------------------------------------------------------------------
- * Device drivers
- */
-#define CONFIG_NET_MULTI        /* Multi ethernet cards support */
-#define CONFIG_EEPRO100
-#define CONFIG_SYS_RX_ETH_BUFFER	8               /* use 8 rx buffer on eepro100  */
-
-/************************************************************
- * IDE/ATA stuff
- ************************************************************/
-#define CONFIG_SYS_IDE_MAXBUS		2   /* max. 2 IDE busses	*/
-#define CONFIG_SYS_IDE_MAXDEVICE	(CONFIG_SYS_IDE_MAXBUS*2) /* max. 2 drives per IDE bus */
-#define CONFIG_SYS_ATA_BASE_ADDR       0
-#define CONFIG_SYS_ATA_IDE0_OFFSET	0x01f0	/* ide0 offset */
-#define CONFIG_SYS_ATA_IDE1_OFFSET	0xe000	/* ide1 offset */
-#define CONFIG_SYS_ATA_DATA_OFFSET	0	/* data reg offset	*/
-#define CONFIG_SYS_ATA_REG_OFFSET	0	/* reg offset */
-#define CONFIG_SYS_ATA_ALT_OFFSET	0x200	/* alternate register offset */
-
-#define CONFIG_SYS_FIRST_PCMCIA_BUS    1
-
-#undef	CONFIG_IDE_LED			/* no led for ide supported	*/
-#undef  CONFIG_IDE_RESET		/* reset for ide unsupported...	*/
-#undef  CONFIG_IDE_RESET_ROUTINE	/* no special reset function */
-
-#define CONFIG_IDE_TI_CARDBUS
-#define CONFIG_SYS_PCMCIA_CIS_WIN          0x27f00000
-#define CONFIG_SYS_PCMCIA_CIS_WIN_SIZE     0x00100000
-#define CONFIG_SYS_PCMCIA_IO_WIN           0xe000
-#define CONFIG_SYS_PCMCIA_IO_WIN_SIZE      16
-#define CONFIG_PCMCIA_SLOT_A /* TODO: Check this */
-
-/************************************************************
- * DISK Partition support
- ************************************************************/
-#define CONFIG_DOS_PARTITION
-#define CONFIG_MAC_PARTITION
-#define CONFIG_ISO_PARTITION /* Experimental */
-
-
-/************************************************************
- * RTC
- ***********************************************************/
-#define CONFIG_RTC_MC146818
-#undef CONFIG_WATCHDOG			/* watchdog disabled		*/
-
-/*
- * PCI stuff
- */
-#define CONFIG_PCI                                /* include pci support */
-#define CONFIG_PCI_PNP                            /* pci plug-and-play */
-#define CONFIG_PCI_SCAN_SHOW
-
-#define	CONFIG_SYS_FIRST_PCI_IRQ   9
-#define	CONFIG_SYS_SECOND_PCI_IRQ  10
-#define	CONFIG_SYS_THIRD_PCI_IRQ   11
-#define	CONFIG_SYS_FORTH_PCI_IRQ   12
-
-#endif	/* __CONFIG_H */
diff --git a/include/configs/sc520_spunk_rel.h b/include/configs/sc520_spunk_rel.h
deleted file mode 100644
index 2e7a7e1..0000000
--- a/include/configs/sc520_spunk_rel.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB, daniel@omicron.se.
- *
- * 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
- */
-
-#ifndef _outer_config
-#define _outer_config
-
-#include "sc520_spunk.h"
-
-#undef CONFIG_BOOTCOMMAND
-#define CONFIG_BOOTCOMMAND	"fsload boot/vmlinuz ; bootm"
-
-#endif