aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWolfgang Denk <wd@denx.de>2011-09-05 02:37:25 +0000
committerWolfgang Denk <wd@denx.de>2011-09-07 21:45:34 +0200
commit6aac646f582b048456618a8b03633ea43fea3609 (patch)
treecab9e7a529a52f12ffb31a92d8ccaa8a3660f7f8
parent8b075814fd48a4a4a1c02bc63f931befa1b9b467 (diff)
ARM: remove broken "SMN42" board.
Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
-rwxr-xr-xMAKEALL1
-rw-r--r--board/siemens/SMN42/Makefile51
-rw-r--r--board/siemens/SMN42/config.mk30
-rw-r--r--board/siemens/SMN42/flash.c475
-rw-r--r--board/siemens/SMN42/lowlevel_init.S123
-rw-r--r--board/siemens/SMN42/smn42.c57
-rw-r--r--boards.cfg1
-rw-r--r--doc/README.scrapyard1
-rw-r--r--include/configs/SMN42.h201
9 files changed, 1 insertions, 939 deletions
diff --git a/MAKEALL b/MAKEALL
index e72a019ce..e35af424d 100755
--- a/MAKEALL
+++ b/MAKEALL
@@ -306,7 +306,6 @@ LIST_ARM7=" \
impa7 \
lpc2292sodimm \
modnet50 \
- SMN42 \
"
#########################################################################
diff --git a/board/siemens/SMN42/Makefile b/board/siemens/SMN42/Makefile
deleted file mode 100644
index c054a3eb0..000000000
--- a/board/siemens/SMN42/Makefile
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# (C) Copyright 2007
-# Wolfgang Denk, DENX Software Engineering, wd@denx.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 $(TOPDIR)/config.mk
-
-LIB = $(obj)lib$(BOARD).o
-
-COBJS := flash.o smn42.o
-SOBJTS := lowlevel_init.o
-
-SRCS := $(SOBJTS:.o=.S) $(COBJS:.o=.c)
-OBJS := $(addprefix $(obj),$(COBJS))
-SOBJS := $(addprefix $(obj),$(SOBJTS))
-
-$(LIB): $(obj).depend $(OBJS) $(SOBJS)
- $(call cmd_link_o_target, $(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/siemens/SMN42/config.mk b/board/siemens/SMN42/config.mk
deleted file mode 100644
index 48917928e..000000000
--- a/board/siemens/SMN42/config.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-# (C) Copyright 2000
-# Sysgo Real-Time Solutions, GmbH <www.elinos.com>
-# Marius Groeger <mgroeger@sysgo.de>
-#
-# (C) Copyright 2000
-# Wolfgang Denk, DENX Software Engineering, wd@denx.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
-#
-
-#address where u-boot will be relocated
-#CONFIG_SYS_TEXT_BASE = 0x0
-CONFIG_SYS_TEXT_BASE = 0x81500000
diff --git a/board/siemens/SMN42/flash.c b/board/siemens/SMN42/flash.c
deleted file mode 100644
index fc91574f8..000000000
--- a/board/siemens/SMN42/flash.c
+++ /dev/null
@@ -1,475 +0,0 @@
-/*
- * (C) Copyright 2006 Embedded Artists AB <www.embeddedartists.com>
- *
- * (C) Copyright 2007 Gary Jennejohn garyj@denx.de
- * Modified to use the routines in arch/arm/cpu/arm720t/lpc2292/flash.c.
- * Heavily modified to support the SMN42 board from Siemens
- *
- * 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/byteorder.h>
-#include <asm/arch/hardware.h>
-
-static unsigned long flash_addr_table[CONFIG_SYS_MAX_FLASH_BANKS] = CONFIG_SYS_FLASH_BANKS_LIST;
-flash_info_t flash_info[CONFIG_SYS_MAX_FLASH_BANKS];
-
-extern int lpc2292_copy_buffer_to_flash(flash_info_t *, ulong);
-extern int lpc2292_flash_erase(flash_info_t *, int, int);
-extern int lpc2292_write_buff (flash_info_t *, uchar *, ulong, ulong);
-static unsigned long ext_flash_init(void);
-static int ext_flash_erase(flash_info_t *, int, int);
-static int ext_write_buff(flash_info_t *, uchar *, ulong, ulong);
-
-/*-----------------------------------------------------------------------
- */
-
-ulong flash_init (void)
-{
- int j, k;
- ulong size = 0;
- ulong flashbase = 0;
-
- flash_info[0].flash_id = PHILIPS_LPC2292;
- flash_info[0].size = 0x003E000; /* 256 - 8 KB */
- flash_info[0].sector_count = 17;
- memset (flash_info[0].protect, 0, 17);
- flashbase = 0x00000000;
- for (j = 0, k = 0; j < 8; j++, k++) {
- flash_info[0].start[k] = flashbase;
- flashbase += 0x00002000;
- }
- for (j = 0; j < 2; j++, k++) {
- flash_info[0].start[k] = flashbase;
- flashbase += 0x00010000;
- }
- for (j = 0; j < 7; j++, k++) {
- flash_info[0].start[k] = flashbase;
- flashbase += 0x00002000;
- }
- size += flash_info[0].size;
-
- /* Protect monitor and environment sectors */
- flash_protect (FLAG_PROTECT_SET,
- 0x0,
- 0x0 + monitor_flash_len - 1,
- &flash_info[0]);
-
- flash_protect (FLAG_PROTECT_SET,
- CONFIG_ENV_ADDR,
- CONFIG_ENV_ADDR + CONFIG_ENV_SIZE - 1,
- &flash_info[0]);
-
- size += ext_flash_init();
-
- return size;
-}
-
-/*-----------------------------------------------------------------------
- */
-void flash_print_info (flash_info_t * info)
-{
- int i;
- int erased = 0;
- unsigned long j;
- unsigned long count;
- unsigned char *p;
-
- switch (info->flash_id & FLASH_VENDMASK) {
- case (PHILIPS_LPC2292 & FLASH_VENDMASK):
- printf("Philips: ");
- break;
- case FLASH_MAN_AMD:
- printf("AMD: ");
- break;
- default:
- printf ("Unknown Vendor ");
- break;
- }
-
- switch (info->flash_id & FLASH_TYPEMASK) {
- case (PHILIPS_LPC2292 & FLASH_TYPEMASK):
- printf("LPC2292 internal flash\n");
- break;
- case FLASH_S29GL128N:
- printf ("S29GL128N (128 Mbit, uniform sector size)\n");
- break;
- default:
- printf("Unknown Chip Type\n");
- return;
- }
-
- printf (" Size: %ld KB in %d Sectors\n",
- info->size >> 10, info->sector_count);
-
- printf (" Sector Start Addresses:");
- for (i = 0; i < info->sector_count; i++) {
- if ((i % 5) == 0) {
- printf ("\n ");
- }
- if (i < (info->sector_count - 1)) {
- count = info->start[i+1] - info->start[i];
- }
- else {
- count = info->start[0] + info->size - info->start[i];
- }
- p = (unsigned char*)(info->start[i]);
- erased = 1;
- for (j = 0; j < count; j++) {
- if (*p != 0xFF) {
- erased = 0;
- break;
- }
- p++;
- }
- printf (" %08lX%s%s", info->start[i], info->protect[i] ? " RO" : " ",
- erased ? " E" : " ");
- }
- printf ("\n");
-}
-
-int flash_erase (flash_info_t * info, int s_first, int s_last)
-{
- switch (info->flash_id & FLASH_TYPEMASK) {
- case (PHILIPS_LPC2292 & FLASH_TYPEMASK):
- return lpc2292_flash_erase(info, s_first, s_last);
- case FLASH_S29GL128N:
- return ext_flash_erase(info, s_first, s_last);
- default:
- return ERR_PROTECTED;
- }
- return ERR_PROTECTED;
-}
-
-int write_buff (flash_info_t * info, uchar * src, ulong addr, ulong cnt)
-{
- switch (info->flash_id & FLASH_TYPEMASK) {
- case (PHILIPS_LPC2292 & FLASH_TYPEMASK):
- return lpc2292_write_buff(info, src, addr, cnt);
- case FLASH_S29GL128N:
- return ext_write_buff(info, src, addr, cnt);
- default:
- return ERR_PROG_ERROR;
- }
- return ERR_PROG_ERROR;
-}
-
-/*--------------------------------------------------------------------------
- * From here on is code for the external S29GL128N taken from cam5200_flash.c
- */
-
-#define CONFIG_SYS_FLASH_WORD_SIZE unsigned short
-
-static int wait_for_DQ7_32(flash_info_t * info, int sect)
-{
- ulong start, now, last;
- volatile CONFIG_SYS_FLASH_WORD_SIZE *addr =
- (CONFIG_SYS_FLASH_WORD_SIZE *) (info->start[sect]);
-
- start = get_timer(0);
- last = start;
- while ((addr[0] & (CONFIG_SYS_FLASH_WORD_SIZE) 0x00800080) !=
- (CONFIG_SYS_FLASH_WORD_SIZE) 0x00800080) {
- if ((now = get_timer(start)) > CONFIG_SYS_FLASH_ERASE_TOUT) {
- printf("Timeout\n");
- return -1;
- }
- /* show that we're waiting */
- if ((now - last) > 1000) { /* every second */
- putc('.');
- last = now;
- }
- }
- return 0;
-}
-
-int ext_flash_erase(flash_info_t * info, int s_first, int s_last)
-{
- volatile CONFIG_SYS_FLASH_WORD_SIZE *addr = (CONFIG_SYS_FLASH_WORD_SIZE *) (info->start[0]);
- volatile CONFIG_SYS_FLASH_WORD_SIZE *addr2;
- int flag, prot, sect, l_sect, ret;
-
- ret = 0;
- 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_UNKNOWN) {
- 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!", prot);
-
- printf("\n");
-
- l_sect = -1;
-
- /* Disable interrupts which might cause a timeout here */
- flag = disable_interrupts();
-
- /* Start erase on unprotected sectors */
- for (sect = s_first; sect <= s_last; sect++) {
- if (info->protect[sect] == 0) { /* not protected */
- addr2 = (CONFIG_SYS_FLASH_WORD_SIZE *) (info->start[sect]);
-
- addr[CONFIG_SYS_FLASH_ADDR0] = (CONFIG_SYS_FLASH_WORD_SIZE) 0x00AA00AA;
- addr[CONFIG_SYS_FLASH_ADDR1] = (CONFIG_SYS_FLASH_WORD_SIZE) 0x00550055;
- addr[CONFIG_SYS_FLASH_ADDR0] = (CONFIG_SYS_FLASH_WORD_SIZE) 0x00800080;
- addr[CONFIG_SYS_FLASH_ADDR0] = (CONFIG_SYS_FLASH_WORD_SIZE) 0x00AA00AA;
- addr[CONFIG_SYS_FLASH_ADDR1] = (CONFIG_SYS_FLASH_WORD_SIZE) 0x00550055;
- addr2[0] = (CONFIG_SYS_FLASH_WORD_SIZE) 0x00300030; /* sector erase */
-
- l_sect = sect;
- /*
- * Wait for each sector to complete, it's more
- * reliable. According to AMD Spec, you must
- * issue all erase commands within a specified
- * timeout. This has been seen to fail, especially
- * if printf()s are included (for debug)!!
- */
- ret = wait_for_DQ7_32(info, sect);
- if (ret) {
- ret = ERR_PROTECTED;
- break;
- }
- }
- }
-
- /* re-enable interrupts if necessary */
- if (flag)
- enable_interrupts();
-
- /* wait at least 80us - let's wait 1 ms */
- udelay(1000);
-
- /* reset to read mode */
- addr = (CONFIG_SYS_FLASH_WORD_SIZE *) info->start[0];
- addr[0] = (CONFIG_SYS_FLASH_WORD_SIZE) 0x00F000F0; /* reset bank */
-
- if (ret)
- printf(" error\n");
- else
- printf(" done\n");
- return ret;
-}
-
-static ulong flash_get_size(vu_long * addr, flash_info_t * info)
-{
- short i;
- CONFIG_SYS_FLASH_WORD_SIZE value;
- ulong base = (ulong) addr;
- volatile CONFIG_SYS_FLASH_WORD_SIZE *addr2 = (CONFIG_SYS_FLASH_WORD_SIZE *) addr;
-
- /* Write auto select command: read Manufacturer ID */
- addr2[CONFIG_SYS_FLASH_ADDR0] = (CONFIG_SYS_FLASH_WORD_SIZE) 0x00AA00AA;
- addr2[CONFIG_SYS_FLASH_ADDR1] = (CONFIG_SYS_FLASH_WORD_SIZE) 0x00550055;
- addr2[CONFIG_SYS_FLASH_ADDR0] = (CONFIG_SYS_FLASH_WORD_SIZE) 0x00900090;
- udelay(1000);
-
- value = addr2[0];
-
- switch (value) {
- case (CONFIG_SYS_FLASH_WORD_SIZE) AMD_MANUFACT:
- info->flash_id = FLASH_MAN_AMD;
- break;
- default:
- info->flash_id = FLASH_UNKNOWN;
- info->sector_count = 0;
- info->size = 0;
- return (0); /* no or unknown flash */
- }
-
- value = addr2[1]; /* device ID */
-
- switch (value) {
- case (CONFIG_SYS_FLASH_WORD_SIZE)AMD_ID_MIRROR:
- value = addr2[14];
- switch(value) {
- case (CONFIG_SYS_FLASH_WORD_SIZE)AMD_ID_GL128N_2:
- value = addr2[15];
- if (value != (CONFIG_SYS_FLASH_WORD_SIZE)AMD_ID_GL128N_3) {
- info->flash_id = FLASH_UNKNOWN;
- } else {
- info->flash_id += FLASH_S29GL128N;
- info->sector_count = 128;
- info->size = 0x01000000;
- }
- break;
- default:
- info->flash_id = FLASH_UNKNOWN;
- return(0);
- }
- break;
-
- default:
- info->flash_id = FLASH_UNKNOWN;
- return (0); /* => no or unknown flash */
- }
-
- /* set up sector start address table */
- for (i = 0; i < info->sector_count; i++)
- info->start[i] = base + (i * 0x00020000);
-
- /* check for protected sectors */
- for (i = 0; i < info->sector_count; i++) {
- /* read sector protection at sector address, (A7 .. A0) = 0x02 */
- /* D0 = 1 if protected */
- addr2 = (volatile CONFIG_SYS_FLASH_WORD_SIZE *)(info->start[i]);
-
- info->protect[i] = addr2[2] & 1;
- }
-
- /* issue bank reset to return to read mode */
- addr2[0] = (CONFIG_SYS_FLASH_WORD_SIZE) 0x00F000F0;
-
- return (info->size);
-}
-
-static unsigned long ext_flash_init(void)
-{
- unsigned long total_b = 0;
- unsigned long size_b[CONFIG_SYS_MAX_FLASH_BANKS];
- int i;
-
- /* Init: no FLASHes known */
- for (i = 1; i < CONFIG_SYS_MAX_FLASH_BANKS; ++i) {
- flash_info[i].flash_id = FLASH_UNKNOWN;
- flash_info[i].sector_count = -1;
- flash_info[i].size = 0;
-
- /* call flash_get_size() to initialize sector address */
- size_b[i] = flash_get_size((vu_long *) flash_addr_table[i],
- &flash_info[i]);
-
- flash_info[i].size = size_b[i];
-
- if (flash_info[i].flash_id == FLASH_UNKNOWN) {
- printf("## Unknown FLASH on Bank %d - Size = 0x%08lx = %ld MB\n",
- i+1, size_b[i], size_b[i] << 20);
- flash_info[i].sector_count = -1;
- flash_info[i].size = 0;
- }
-
- total_b += flash_info[i].size;
- }
-
- return total_b;
-}
-
-static int write_word(flash_info_t * info, ulong dest, ushort data)
-{
- volatile CONFIG_SYS_FLASH_WORD_SIZE *addr2 = (CONFIG_SYS_FLASH_WORD_SIZE *) (info->start[0]);
- volatile CONFIG_SYS_FLASH_WORD_SIZE *dest2 = (CONFIG_SYS_FLASH_WORD_SIZE *) dest;
- volatile CONFIG_SYS_FLASH_WORD_SIZE *data2 = (CONFIG_SYS_FLASH_WORD_SIZE *) &data;
- ulong start;
- int flag;
-
- /* Check if Flash is (sufficiently) erased */
- if ((*dest2 & *data2) != *data2) {
- return (2);
- }
-
- /* Disable interrupts which might cause a timeout here */
- flag = disable_interrupts();
-
- addr2[CONFIG_SYS_FLASH_ADDR0] = (CONFIG_SYS_FLASH_WORD_SIZE) 0x00AA00AA;
- addr2[CONFIG_SYS_FLASH_ADDR1] = (CONFIG_SYS_FLASH_WORD_SIZE) 0x00550055;
- addr2[CONFIG_SYS_FLASH_ADDR0] = (CONFIG_SYS_FLASH_WORD_SIZE) 0x00A000A0;
- *dest2 = *data2;
-
- /* re-enable interrupts if necessary */
- if (flag)
- enable_interrupts();
-
- /* data polling for D7 */
- start = get_timer(0);
- while ((*dest2 & (CONFIG_SYS_FLASH_WORD_SIZE) 0x00800080) !=
- (*data2 & (CONFIG_SYS_FLASH_WORD_SIZE) 0x00800080)) {
-
- if (get_timer(start) > CONFIG_SYS_FLASH_WRITE_TOUT) {
- printf("WRITE_TOUT\n");
- return (1);
- }
- }
- return (0);
-}
-
-/*-----------------------------------------------------------------------
- * This is taken from the original flash.c for the LPC2292 SODIMM board
- * and modified to suit.
- */
-
-int ext_write_buff(flash_info_t * info, uchar * src, ulong addr, ulong cnt)
-{
- ushort tmp;
- ulong i;
- uchar* src_org;
- uchar* dst_org;
- ulong cnt_org = cnt;
- int ret = ERR_OK;
-
- src_org = src;
- dst_org = (uchar*)addr;
-
- if (addr & 1) { /* if odd address */
- tmp = *((uchar*)(addr - 1)); /* little endian */
- tmp |= (*src << 8);
- if (write_word(info, addr - 1, tmp))
- return ERR_PROG_ERROR;
- addr += 1;
- cnt -= 1;
- src++;
- }
- while (cnt > 1) {
- tmp = ((*(src+1)) << 8) + (*src); /* little endian */
- if (write_word(info, addr, tmp))
- return ERR_PROG_ERROR;
- addr += 2;
- src += 2;
- cnt -= 2;
- }
- if (cnt > 0) {
- tmp = (*((uchar*)(addr + 1))) << 8;
- tmp |= *src;
- if (write_word(info, addr, tmp))
- return ERR_PROG_ERROR;
- }
-
- for (i = 0; i < cnt_org; i++) {
- if (*dst_org != *src_org) {
- printf("Write failed. Byte %lX differs\n", i);
- ret = ERR_PROG_ERROR;
- break;
- }
- dst_org++;
- src_org++;
- }
-
- return ret;
-}
diff --git a/board/siemens/SMN42/lowlevel_init.S b/board/siemens/SMN42/lowlevel_init.S
deleted file mode 100644
index 44e209b5d..000000000
--- a/board/siemens/SMN42/lowlevel_init.S
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * (C) Copyright 2006 Embedded Artists AB <www.embeddedartists.com>
- *
- * Slight modifications made to support the SMN42 board from Siemens.
- * 2007 Gary Jennejohn garyj@denx.de
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-#include <config.h>
-#include <version.h>
-#include <asm/arch/hardware.h>
-
-/* some parameters for the board */
-/* setting up the CPU-internal memory */
-#define SRAM_START 0x40000000
-#define SRAM_SIZE 0x00004000
-#define BCFG0_VALUE 0x1000ffef
-#define BCFG1_VALUE 0x10005D2F
-#define BCFG2_VALUE 0x10005D2F
-/*
- * For P0.18 to set ZZ to the SRAMs to 1. Also set P0.2 (SCL) and P0.3 (SDA)
- * for the bit-banger I2C driver correctly.
- */
-#define IO0_VALUE 0x4000C
-
-_TEXT_BASE:
- .word CONFIG_SYS_TEXT_BASE
-MEMMAP_ADR:
- .word MEMMAP
-BCFG0_ADR:
- .word BCFG0
-_BCFG0_VALUE:
- .word BCFG0_VALUE
-BCFG1_ADR:
- .word BCFG1
-_BCFG1_VALUE:
- .word BCFG1_VALUE
-BCFG2_ADR:
- .word BCFG2
-_BCFG2_VALUE:
- .word BCFG2_VALUE
-IO0DIR_ADR:
- .word IO0DIR
-_IO0DIR_VALUE:
- .word IO0_VALUE
-IO0SET_ADR:
- .word IO0SET
-_IO0SET_VALUE:
- .word IO0_VALUE
-PINSEL2_ADR:
- .word PINSEL2
-PINSEL2_MASK:
- .word 0x00000000
-PINSEL2_VALUE:
- .word 0x0F804914
-
-.extern _start
-
-.globl lowlevel_init
-lowlevel_init:
- /* set up memory control register for bank 0 */
- ldr r0, _BCFG0_VALUE
- ldr r1, BCFG0_ADR
- str r0, [r1]
-
- /* set up memory control register for bank 1 */
- ldr r0, _BCFG1_VALUE
- ldr r1, BCFG1_ADR
- str r0, [r1]
-
- /* set up memory control register for bank 2 */
- ldr r0, _BCFG2_VALUE
- ldr r1, BCFG2_ADR
- str r0, [r1]
-
- /* set IO0DIR to make P0.2, P0.3 and P0.18 outputs */
- ldr r0, _IO0DIR_VALUE
- ldr r1, IO0DIR_ADR
- str r0, [r1]
-
- /* set P0.18 to 1 */
- ldr r0, _IO0SET_VALUE
- ldr r1, IO0SET_ADR
- str r0, [r1]
-
- /* set up PINSEL2 for bus-pins */
- ldr r0, PINSEL2_ADR
- ldr r1, [r0]
- ldr r2, PINSEL2_MASK
- ldr r3, PINSEL2_VALUE
- and r1, r1, r2
- orr r1, r1, r3
- str r1, [r0]
-
- /* move vectors to beginning of SRAM */
- mov r2, #SRAM_START
- mov r0, #0 /*_start*/
- ldmneia r0!, {r3-r10}
- stmneia r2!, {r3-r10}
- ldmneia r0, {r3-r9}
- stmneia r2, {r3-r9}
-
- /* Set-up MEMMAP register, so vectors are taken from SRAM */
- ldr r0, MEMMAP_ADR
- mov r1, #0x02 /* vectors re-mapped to static RAM */
- str r1, [r0]
-
- /* everything is fine now */
- mov pc, lr
diff --git a/board/siemens/SMN42/smn42.c b/board/siemens/SMN42/smn42.c
deleted file mode 100644
index 52d1d7e5f..000000000
--- a/board/siemens/SMN42/smn42.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * (C) Copyright 2002
- * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
- * Marius Groeger <mgroeger@sysgo.de>
- *
- * (C) Copyright 2005 Rowel Atienza <rowel@diwalabs.com>
- * Armadillo board HT1070
- *
- * (C) Copyright 2007 Gary Jennejohn <garyj@denx.de>
- * Siemens board SMN42
- *
- * 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 <clps7111.h>
-
-DECLARE_GLOBAL_DATA_PTR;
-
-/*
- * Miscellaneous platform dependent initialisations
- */
-
-int board_init (void)
-{
- /* arch number MACH_TYPE_ARMADILLO - not official*/
- gd->bd->bi_arch_number = 83;
-
- /* location of boot parameters */
- gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x00000100;
-
- return 0;
-}
-
-int dram_init (void)
-{
- gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
- gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE;
-
- return (0);
-}
diff --git a/boards.cfg b/boards.cfg
index 60723d5eb..54ead3ee7 100644
--- a/boards.cfg
+++ b/boards.cfg
@@ -47,7 +47,6 @@ impa7 arm arm720t
modnet50 arm arm720t
integratorap_cm720t arm arm720t integrator armltd - integratorap
lpc2292sodimm arm arm720t - - lpc2292
-SMN42 arm arm720t - siemens lpc2292
evb4510 arm arm720t - - s3c4510b
integratorap_cm920t arm arm920t integrator armltd - integratorap
integratorcp_cm920t arm arm920t integrator armltd - integratorcp
diff --git a/doc/README.scrapyard b/doc/README.scrapyard
index e7e115183..72c3c3016 100644
--- a/doc/README.scrapyard
+++ b/doc/README.scrapyard
@@ -11,6 +11,7 @@ easily if here is something they might want to dig for...
Board Arch CPU removed Commit last known maintainer/contact
=============================================================================
+SMN42 arm arm720t - 2011-09-05
at91rm9200dk arm arm920t 1c85752 2011-07-17
m501sk arm arm920t b1a2bd4 2011-07-17
kb9202 arm arm920t 5bd3814 2011-07-17
diff --git a/include/configs/SMN42.h b/include/configs/SMN42.h
deleted file mode 100644
index 4a8acabf7..000000000
--- a/include/configs/SMN42.h
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * (C) Copyright 2007
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * Configuation settings for the SMN42 board from Siemens.
- *
- * 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 __CONFIG_H
-#define __CONFIG_H
-
-/*
- * If we are developing, we might want to start u-boot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#undef CONFIG_SKIP_LOWLEVEL_INIT
-
-/*
- * High Level Configuration Options
- * (easy to change)
- */
-#define CONFIG_ARM7 1 /* This is a ARM7 CPU */
-#define CONFIG_ARM_THUMB 1 /* this is an ARM720TDMI */
-#define CONFIG_LPC2292
-#undef CONFIG_ARM7_REVD /* disable ARM720 REV.D Workarounds */
-
-#undef CONFIG_USE_IRQ /* don't need them anymore */
-
-/*
- * Size of malloc() pool
- */
-#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 128*1024)
-
-/*
- * Hardware drivers
- */
-
-/*
- * select serial console configuration
- */
-#define CONFIG_LPC2292_SERIAL
-#define CONFIG_SERIAL1 1 /* we use Serial line 1 */
-
-/* allow to overwrite serial and ethaddr */
-#define CONFIG_ENV_OVERWRITE
-
-#define CONFIG_BAUDRATE 115200
-
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_SUBNETMASK
-#define CONFIG_BOOTP_GATEWAY
-#define CONFIG_BOOTP_HOSTNAME
-#define CONFIG_BOOTP_BOOTPATH
-#define CONFIG_BOOTP_BOOTFILESIZE
-
-
-/* enable I2C and select the hardware/software driver */
-#undef CONFIG_HARD_I2C /* I2C with hardware support */
-#define CONFIG_SOFT_I2C 1 /* I2C bit-banged */
-/* this would be 0xAE if E0, E1 and E2 were pulled high */
-#define CONFIG_SYS_I2C_SLAVE 0xA0
-#define CONFIG_SYS_I2C_EEPROM_ADDR (0xA0 >> 1)
-#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2 /* 16 bit address */
-#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 6 /* 64 bytes per write */
-#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 20
-/* not used but required by devices.c */
-#define CONFIG_SYS_I2C_SPEED 10000
-
-#ifdef CONFIG_SOFT_I2C
-/*
- * Software (bit-bang) I2C driver configuration
- */
-#define SCL 0x00000004 /* P0.2 */
-#define SDA 0x00000008 /* P0.3 */
-
-#define I2C_READ ((GET32(IO0PIN) & SDA) ? 1 : 0)
-#define I2C_SDA(x) { if (x) PUT32(IO0SET, SDA); else PUT32(IO0CLR, SDA); }
-#define I2C_SCL(x) { if (x) PUT32(IO0SET, SCL); else PUT32(IO0CLR, SCL); }
-#define I2C_DELAY { udelay(100); }
-#define I2C_ACTIVE { unsigned int i2ctmp; \
- i2ctmp = GET32(IO0DIR); \
- i2ctmp |= SDA; \
- PUT32(IO0DIR, i2ctmp); }
-#define I2C_TRISTATE { unsigned int i2ctmp; \
- i2ctmp = GET32(IO0DIR); \
- i2ctmp &= ~SDA; \
- PUT32(IO0DIR, i2ctmp); }
-#endif /* CONFIG_SOFT_I2C */
-
-
-/*
- * Command line configuration.
- */
-#include <config_cmd_default.h>
-#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_FAT
-#define CONFIG_CMD_MMC
-#define CONFIG_CMD_NET
-#define CONFIG_CMD_EEPROM
-#define CONFIG_CMD_PING
-
-
-#define CONFIG_DOS_PARTITION
-
-#define CONFIG_BOOTDELAY 5
-
-/*
- * Miscellaneous configurable options
- */
-#define CONFIG_SYS_LONGHELP /* undef to save memory */
-#define CONFIG_SYS_PROMPT "SMN42 # " /* 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 0x81800000 /* memtest works on */
-#define CONFIG_SYS_MEMTEST_END 0x83000000 /* 24 MB in SRAM */
-
-#define CONFIG_SYS_LOAD_ADDR 0x81000000 /* default load address */
- /* for uClinux img is here*/
-
-#define CONFIG_SYS_SYS_CLK_FREQ 58982400 /* Hz */
-#define CONFIG_SYS_HZ 2048 /* decrementer freq in Hz */
-
- /* valid baudrates */
-#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 }
-
-/*-----------------------------------------------------------------------
- * Stack sizes
- *
- * The stack sizes are set up in start.S using the settings below
- */
-#define CONFIG_STACKSIZE (128*1024) /* regular stack */
-#ifdef CONFIG_USE_IRQ
-#define CONFIG_STACKSIZE_IRQ (4*1024) /* IRQ stack */
-#define CONFIG_STACKSIZE_FIQ (4*1024) /* FIQ stack */
-#endif
-
-/*-----------------------------------------------------------------------
- * Physical Memory Map
- */
-#define CONFIG_NR_DRAM_BANKS 1 /* we have 1 bank of SRAM */
-#define PHYS_SDRAM_1 0x81000000 /* SRAM Bank #1 */
-#define PHYS_SDRAM_1_SIZE 0x02000000 /* 32 MB SRAM */
-
-/* This is the external flash */
-#define PHYS_FLASH_1 0x80000000 /* Flash Bank #1 */
-#define PHYS_FLASH_SIZE 0x01000000 /* 16 MB */
-
-/*-----------------------------------------------------------------------
- * FLASH and environment organization
- */
-
-/*
- * The first entry in CONFIG_SYS_FLASH_BANKS_LIST is a dummy, but it must be present.
- */
-#define CONFIG_SYS_FLASH_BANKS_LIST { 0, PHYS_FLASH_1 }
-#define CONFIG_SYS_FLASH_ADDR0 0x555
-#define CONFIG_SYS_FLASH_ADDR1 0x2AA
-#define CONFIG_SYS_FLASH_ERASE_TOUT 16384 /* Timeout for Flash Erase (in ms) */
-#define CONFIG_SYS_FLASH_WRITE_TOUT 5 /* Timeout for Flash Write (in ms) */
-
-#define CONFIG_SYS_MAX_FLASH_SECT 128 /* max number of sectors on one chip */
-
-#define CONFIG_SYS_MAX_FLASH_BANKS 2 /* max number of memory banks */
-
-#define CONFIG_ENV_IS_IN_FLASH 1
-/* The Environment Sector is in the CPU-internal flash */
-#define CONFIG_SYS_FLASH_BASE 0
-#define CONFIG_ENV_OFFSET 0x3C000
-#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + CONFIG_ENV_OFFSET)
-#define CONFIG_ENV_SIZE 0x2000 /* Total Size of Environment Sector */
-
-#define CONFIG_CMDLINE_TAG
-#define CONFIG_SETUP_MEMORY_TAGS
-#define CONFIG_INITRD_TAG
-#define CONFIG_MMC 1
-/* we use this ethernet chip */
-#define CONFIG_ENC28J60_LPC2292
-
-#endif /* __CONFIG_H */