summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAun-Ali Zaidi <admin@kodeit.net>2015-12-12 22:24:16 -0600
committerGedare Bloom <gedare@rtems.org>2015-12-13 08:39:14 -0500
commitf2a228b2cb5ce376c56ae8d767084b92f2822af0 (patch)
treebfb4594bd761af7a4c35bc6163bf9d30bea46954
parentStore task_id of the current thread for the ISR before waiting for the transi... (diff)
downloadrtems-f2a228b2cb5ce376c56ae8d767084b92f2822af0.tar.bz2
arm/gp32: Remove
updates #2451.
-rw-r--r--c/src/lib/libbsp/arm/acinclude.m42
-rw-r--r--c/src/lib/libbsp/arm/gp32/Makefile.am68
-rw-r--r--c/src/lib/libbsp/arm/gp32/README3
-rw-r--r--c/src/lib/libbsp/arm/gp32/bsp_specs13
-rw-r--r--c/src/lib/libbsp/arm/gp32/configure.ac23
-rw-r--r--c/src/lib/libbsp/arm/gp32/console/uart.c245
-rw-r--r--c/src/lib/libbsp/arm/gp32/include/bsp.h96
-rw-r--r--c/src/lib/libbsp/arm/gp32/make/custom/gp32.cfg21
-rw-r--r--c/src/lib/libbsp/arm/gp32/preinstall.am79
-rw-r--r--c/src/lib/libbsp/arm/gp32/smc/smc.c417
-rw-r--r--c/src/lib/libbsp/arm/gp32/smc/smc.h44
-rw-r--r--c/src/lib/libbsp/arm/gp32/start/start.S198
-rw-r--r--c/src/lib/libbsp/arm/gp32/startup/bspidle.c23
-rw-r--r--c/src/lib/libbsp/arm/gp32/startup/bspreset.c39
-rw-r--r--c/src/lib/libbsp/arm/gp32/startup/bspstart.c89
-rw-r--r--c/src/lib/libbsp/arm/gp32/startup/linkcmds26
-rw-r--r--c/src/lib/libbsp/arm/gp32/startup/memmap.c25
17 files changed, 0 insertions, 1411 deletions
diff --git a/c/src/lib/libbsp/arm/acinclude.m4 b/c/src/lib/libbsp/arm/acinclude.m4
index 3a70e0acab..f9c4c2f4be 100644
--- a/c/src/lib/libbsp/arm/acinclude.m4
+++ b/c/src/lib/libbsp/arm/acinclude.m4
@@ -14,8 +14,6 @@ AC_DEFUN([RTEMS_CHECK_BSPDIR],
AC_CONFIG_SUBDIRS([edb7312]);;
gdbarmsim )
AC_CONFIG_SUBDIRS([gdbarmsim]);;
- gp32 )
- AC_CONFIG_SUBDIRS([gp32]);;
gumstix )
AC_CONFIG_SUBDIRS([gumstix]);;
lm3s69xx )
diff --git a/c/src/lib/libbsp/arm/gp32/Makefile.am b/c/src/lib/libbsp/arm/gp32/Makefile.am
deleted file mode 100644
index 1eeb8395eb..0000000000
--- a/c/src/lib/libbsp/arm/gp32/Makefile.am
+++ /dev/null
@@ -1,68 +0,0 @@
-ACLOCAL_AMFLAGS = -I ../../../../aclocal
-
-include $(top_srcdir)/../../../../automake/compile.am
-
-include_bspdir = $(includedir)/bsp
-
-dist_project_lib_DATA = bsp_specs
-
-include_HEADERS = include/bsp.h
-include_HEADERS += smc/smc.h
-include_HEADERS += ../../shared/include/tm27.h
-
-include_bsp_HEADERS =
-
-nodist_include_HEADERS = include/bspopts.h
-nodist_include_bsp_HEADERS = ../../shared/include/bootcard.h
-DISTCLEANFILES = include/bspopts.h
-
-nodist_include_HEADERS += ../../shared/include/coverhd.h
-
-noinst_LIBRARIES = libbspstart.a
-libbspstart_a_SOURCES = start/start.S
-project_lib_DATA = start.$(OBJEXT)
-
-dist_project_lib_DATA += startup/linkcmds
-
-noinst_LIBRARIES += libbsp.a
-libbsp_a_SOURCES =
-
-# startup
-libbsp_a_SOURCES += ../../shared/bsplibc.c ../../shared/bsppost.c \
- ../../shared/bsppredriverhook.c ../../shared/bspgetworkarea.c \
- startup/bspstart.c startup/bspidle.c \
- ../../shared/bspclean.c startup/bspreset.c \
- startup/memmap.c ../../shared/bootcard.c ../../shared/sbrk.c \
- ../../shared/gnatinstallhandler.c
-libbsp_a_SOURCES += ../../shared/cpucounterread.c
-libbsp_a_SOURCES += ../../shared/cpucounterdiff.c
-# console
-libbsp_a_SOURCES += console/uart.c ../../shared/console.c \
- ../../shared/console_select.c ../../shared/console_control.c \
- ../../shared/console_read.c ../../shared/console_write.c
-# IRQ
-include_bsp_HEADERS += ../../shared/include/irq-generic.h \
- ../../shared/include/irq-info.h
-libbsp_a_SOURCES += ../../shared/src/irq-default-handler.c
-libbsp_a_SOURCES += ../../shared/src/irq-generic.c
-libbsp_a_SOURCES += ../../shared/src/irq-info.c
-libbsp_a_SOURCES += ../../shared/src/irq-legacy.c
-libbsp_a_SOURCES += ../../shared/src/irq-server.c
-libbsp_a_SOURCES += ../../shared/src/irq-shell.c
-# abort
-libbsp_a_SOURCES += ../shared/abort/abort.c
-# smc
-libbsp_a_SOURCES += smc/smc.c smc/smc.h
-
-# Cache
-libbsp_a_SOURCES += ../../../libcpu/shared/src/cache_manager.c
-libbsp_a_SOURCES += ../../shared/include/cache_.h
-libbsp_a_CPPFLAGS = -I$(srcdir)/../../shared/include
-
-libbsp_a_LIBADD = ../../../libcpu/@RTEMS_CPU@/shared/arm920.rel \
- ../../../libcpu/@RTEMS_CPU@/s3c24xx/clock.rel \
- ../../../libcpu/@RTEMS_CPU@/s3c24xx/timer.rel \
- ../../../libcpu/@RTEMS_CPU@/s3c24xx/irq.rel
-
-include $(srcdir)/preinstall.am
-include $(top_srcdir)/../../../../automake/local.am
diff --git a/c/src/lib/libbsp/arm/gp32/README b/c/src/lib/libbsp/arm/gp32/README
deleted file mode 100644
index 0189a3e9b2..0000000000
--- a/c/src/lib/libbsp/arm/gp32/README
+++ /dev/null
@@ -1,3 +0,0 @@
-This is the BSP for GamePark's GP32, a single board
-computer using the Samsung S3C2400 SoC CPU.
-
diff --git a/c/src/lib/libbsp/arm/gp32/bsp_specs b/c/src/lib/libbsp/arm/gp32/bsp_specs
deleted file mode 100644
index 32c105fd0f..0000000000
--- a/c/src/lib/libbsp/arm/gp32/bsp_specs
+++ /dev/null
@@ -1,13 +0,0 @@
-%rename endfile old_endfile
-%rename startfile old_startfile
-%rename link old_link
-
-*startfile:
-%{!qrtems: %(old_startfile)} \
-%{!nostdlib: %{qrtems: start.o%s crti.o%s crtbegin.o%s -e _start}}
-
-*link:
-%{!qrtems: %(old_link)} %{qrtems: -dc -dp -N}
-
-*endfile:
-%{!qrtems: %(old_endfiles)} %{qrtems: crtend.o%s crtn.o%s }
diff --git a/c/src/lib/libbsp/arm/gp32/configure.ac b/c/src/lib/libbsp/arm/gp32/configure.ac
deleted file mode 100644
index 0697f5806b..0000000000
--- a/c/src/lib/libbsp/arm/gp32/configure.ac
+++ /dev/null
@@ -1,23 +0,0 @@
-## Process this file with autoconf to produce a configure script.
-
-AC_PREREQ([2.69])
-AC_INIT([rtems-c-src-lib-libbsp-arm-gp32],[_RTEMS_VERSION],[https://devel.rtems.org/newticket])
-AC_CONFIG_SRCDIR([bsp_specs])
-RTEMS_TOP(../../../../../..)
-
-RTEMS_CANONICAL_TARGET_CPU
-AM_INIT_AUTOMAKE([no-define nostdinc foreign 1.12.2])
-RTEMS_BSP_CONFIGURE
-
-RTEMS_PROG_CC_FOR_TARGET
-RTEMS_CANONICALIZE_TOOLS
-RTEMS_PROG_CCAS
-
-RTEMS_CHECK_NETWORKING
-AM_CONDITIONAL(HAS_NETWORKING,test "$HAS_NETWORKING" = "yes")
-
-RTEMS_BSP_CLEANUP_OPTIONS(0, 1)
-
-# Explicitly list all Makefiles here
-AC_CONFIG_FILES([Makefile])
-AC_OUTPUT
diff --git a/c/src/lib/libbsp/arm/gp32/console/uart.c b/c/src/lib/libbsp/arm/gp32/console/uart.c
deleted file mode 100644
index 9878c33794..0000000000
--- a/c/src/lib/libbsp/arm/gp32/console/uart.c
+++ /dev/null
@@ -1,245 +0,0 @@
-/*
- * console driver for S3C2400 UARTs
- *
- * This driver uses the shared console driver in
- * ...../libbsp/shared/console.c
- *
- * If you want the driver to be interrupt driven, you
- * need to write the ISR, and in the ISR insert the
- * chars into termios's queue.
- *
- * Copyright (c) 2004 Cogent Computer Systems
- * Written by Jay Monkman <jtm@lopingdog.com>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
-*/
-#include <bsp.h> /* Must be before libio.h */
-#include <rtems/libio.h>
-#include <termios.h>
-#include <rtems/bspIo.h>
-
-/* Put the CPU (or UART) specific header file #include here */
-#include <s3c24xx.h>
-#include <libchip/serial.h>
-#include <libchip/sersupp.h>
-
-/* How many serial ports? */
-#define NUM_DEVS 1
-
-int uart_poll_read(int minor);
-
-int dbg_dly;
-
-/* static function prototypes */
-static int uart_first_open(int major, int minor, void *arg);
-static int uart_last_close(int major, int minor, void *arg);
-static int uart_read(int minor);
-static ssize_t uart_write(int minor, const char *buf, size_t len);
-static void uart_init(int minor);
-static void uart_write_polled(int minor, char c);
-static int uart_set_attributes(int minor, const struct termios *t);
-
-/* These are used by code in console.c */
-unsigned long Console_Configuration_Count = NUM_DEVS;
-
-/* Pointers to functions for handling the UART. */
-const console_fns uart_fns =
-{
- libchip_serial_default_probe,
- uart_first_open,
- uart_last_close,
- uart_read,
- uart_write,
- uart_init,
- uart_write_polled, /* not used in this driver */
- uart_set_attributes,
- FALSE /* TRUE if interrupt driven, FALSE if not. */
-};
-
-/*
- * There's one item in array for each UART.
- *
- * Some of these fields are marked "NOT USED". They are not used
- * by console.c, but may be used by drivers in libchip
- *
- */
-console_tbl Console_Configuration_Ports[] = {
- {
- "/dev/com0", /* sDeviceName */
- SERIAL_CUSTOM, /* deviceType */
- &uart_fns, /* pDeviceFns */
- NULL, /* deviceProbe */
- NULL, /* pDeviceFlow */
- 0, /* ulMargin - NOT USED */
- 0, /* ulHysteresis - NOT USED */
- NULL, /* pDeviceParams */
- 0, /* ulCtrlPort1 - NOT USED */
- 0, /* ulCtrlPort2 - NOT USED */
- 0, /* ulDataPort - NOT USED */
- NULL, /* getRegister - NOT USED */
- NULL, /* setRegister - NOT USED */
- NULL, /* getData - NOT USED */
- NULL, /* setData - NOT USED */
- 0, /* ulClock - NOT USED */
- 0 /* ulIntVector - NOT USED */
- }
-};
-
-/*********************************************************************/
-/* Functions called via termios callbacks (i.e. the ones in uart_fns */
-/*********************************************************************/
-
-/*
- * This is called the first time each device is opened. If the driver
- * is interrupt driven, you should enable interrupts here. Otherwise,
- * it's probably safe to do nothing.
- *
- * Since micromonitor already set up the UART, we do nothing.
- */
-static int uart_first_open(int major, int minor, void *arg)
-{
- return 0;
-}
-
-
-/*
- * This is called the last time each device is closed. If the driver
- * is interrupt driven, you should disable interrupts here. Otherwise,
- * it's probably safe to do nothing.
- */
-static int uart_last_close(int major, int minor, void *arg)
-{
- return 0;
-}
-
-
-/*
- * Read one character from UART.
- *
- * Return -1 if there's no data, otherwise return
- * the character in lowest 8 bits of returned int.
- */
-static int uart_read(int minor)
-{
- char c;
-
- if (minor == 0) {
- if (rUTRSTAT0 & 0x1) {
- c = rURXH0 & 0xff;
- return c;
- } else {
- return -1;
- }
- } else {
- printk("Unknown console minor number: %d\n", minor);
- return -1;
- }
-
-}
-
-
-/*
- * Write buffer to UART
- *
- * return 1 on success, -1 on error
- */
-static ssize_t uart_write(int minor, const char *buf, size_t len)
-{
- int i;
-
- if (minor == 0) {
- for (i = 0; i < len; i++) {
- /* Wait for fifo to have room */
- while(!(rUTRSTAT0 & 0x2)) {
- continue;
- }
-
- rUTXH0 = (char) buf[i];
- }
- } else {
- printk("Unknown console minor number: %d\n", minor);
- return -1;
- }
-
- return 1;
-}
-
-
-/* Set up the UART. */
-static void uart_init(int minor)
-{
- int i;
- unsigned int reg = 0;
-
- /* enable UART0 */
- rCLKCON|=0x100;
-
- /* value is calculated so : (int)(PCLK/16./baudrate) -1 */
- reg = get_PCLK() / (16 * 115200) - 1;
-
- /* FIFO enable, Tx/Rx FIFO clear */
- rUFCON0 = 0x07;
- rUMCON0 = 0x0;
- /* Normal,No parity,1 stop,8 bit */
- rULCON0 = 0x3;
- /*
- * tx=level,rx=edge,disable timeout int.,enable rx error int.,
- * normal,interrupt or polling
- */
- rUCON0 = 0x245;
- rUBRDIV0 = reg;
-
- for (i = 0; i < 100; i++);
-
-}
-
-/* I'm not sure this is needed for the shared console driver. */
-static void uart_write_polled(int minor, char c)
-{
- uart_write(minor, &c, 1);
-}
-
-/* This is for setting baud rate, bits, etc. */
-static int uart_set_attributes(int minor, const struct termios *t)
-{
- return 0;
-}
-
-/***********************************************************************/
-/*
- * The following functions are not used by TERMIOS, but other RTEMS
- * functions use them instead.
- */
-/***********************************************************************/
-/*
- * Read from UART. This is used in the exit code, and can't
- * rely on interrupts.
-*/
-int uart_poll_read(int minor)
-{
- return uart_read(minor);
-}
-
-
-/*
- * Write a character to the console. This is used by printk() and
- * maybe other low level functions. It should not use interrupts or any
- * RTEMS system calls. It needs to be very simple
- */
-static void _BSP_put_char( char c ) {
- uart_write_polled(0, c);
- if (c == '\n') {
- uart_write_polled(0, '\r');
- }
-}
-
-BSP_output_char_function_type BSP_output_char = _BSP_put_char;
-
-static int _BSP_get_char(void)
-{
- return uart_poll_read(0);
-}
-
-BSP_polling_getchar_function_type BSP_poll_char = _BSP_get_char;
diff --git a/c/src/lib/libbsp/arm/gp32/include/bsp.h b/c/src/lib/libbsp/arm/gp32/include/bsp.h
deleted file mode 100644
index 7c8903f6e7..0000000000
--- a/c/src/lib/libbsp/arm/gp32/include/bsp.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/**
- * @file
- * @ingroup arm_gp32
- * @brief Global BSP definitons.
- */
-
-/*
- * Copyright (c) Canon Research France SA.]
- * Emmanuel Raguet, mailto:raguet@crf.canon.fr
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#ifndef LIBBSP_ARM_GP32_BSP_H
-#define LIBBSP_ARM_GP32_BSP_H
-
-#include <bspopts.h>
-#include <bsp/default-initial-extension.h>
-
-#include <rtems.h>
-#include <rtems/iosupp.h>
-#include <rtems/console.h>
-#include <rtems/clockdrv.h>
-#include <s3c24xx.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define BSP_FEATURE_IRQ_EXTENSION
-
-#define gp32_initButtons() {rPBCON=0x0;}
-#define gp32_getButtons() \
- ( (((~rPEDAT >> 6) & 0x3 )<<8) | (((~rPBDAT >> 8) & 0xFF)<<0) )
-
-/**
- * @defgroup arm_gp32 GP32 Support
- * @ingroup bsp_arm
- * @brief GP32 Support Pacakge
- * @{
- */
-
-/**
- * @brief functions to get the differents s3c2400 clks
- * @{
- */
-
-uint32_t get_FCLK(void);
-uint32_t get_HCLK(void);
-uint32_t get_PCLK(void);
-uint32_t get_UCLK(void);
-
-/** @} */
-
-void gp32_setPalette( unsigned char pos, uint16_t color);
-
-/* What is the input clock freq in hertz? */
-/** @brief 12 MHz oscillator */
-#define BSP_OSC_FREQ 12000000
-/** @brief FCLK=133Mhz */
-#define M_MDIV 81
-#define M_PDIV 2
-#define M_SDIV 1
-/** @brief HCLK=FCLK/2, PCLK=FCLK/2 */
-#define M_CLKDIVN 2
-/** @brief enable refresh */
-#define REFEN 0x1
-/** @brief CBR(CAS before RAS)/auto refresh */
-#define TREFMD 0x0
-/** @brief 2 clk */
-#define Trp 0x0
-/** @brief 7 clk */
-#define Trc 0x3
-/** @brief 3 clk */
-#define Tchr 0x2
-
-/**
- * @brief This BSP provides its own IDLE thread to override the RTEMS one.
- *
- * So we prototype it and define the constant confdefs.h expects
- * to configure a BSP specific one.
- */
-void *bsp_idle_thread(uintptr_t ignored);
-
-/** @} */
-
-#define BSP_IDLE_TASK_BODY bsp_idle_thread
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _BSP_H */
-
diff --git a/c/src/lib/libbsp/arm/gp32/make/custom/gp32.cfg b/c/src/lib/libbsp/arm/gp32/make/custom/gp32.cfg
deleted file mode 100644
index be48c0d583..0000000000
--- a/c/src/lib/libbsp/arm/gp32/make/custom/gp32.cfg
+++ /dev/null
@@ -1,21 +0,0 @@
-#
-# Config file for ARM GP32
-#
-
-include $(RTEMS_ROOT)/make/custom/default.cfg
-
-RTEMS_CPU=arm
-RTEMS_CPU_MODEL=s3c2400
-
-# This contains the compiler options necessary to select the CPU model
-# and (hopefully) optimize for it.
-#
-CPU_CFLAGS = -mcpu=arm920t -DCPU_S3C2400
-
-# optimize flag: typically -O2
-CFLAGS_OPTIMIZE_V = -O2 -g
-
-define bsp-post-link
- $(OBJCOPY) -O binary $(basename $@)$(EXEEXT) $(basename $@)$(DOWNEXT)
- $(default-bsp-post-link)
-endef
diff --git a/c/src/lib/libbsp/arm/gp32/preinstall.am b/c/src/lib/libbsp/arm/gp32/preinstall.am
deleted file mode 100644
index 1d72ddf92e..0000000000
--- a/c/src/lib/libbsp/arm/gp32/preinstall.am
+++ /dev/null
@@ -1,79 +0,0 @@
-## Automatically generated by ampolish3 - Do not edit
-
-if AMPOLISH3
-$(srcdir)/preinstall.am: Makefile.am
- $(AMPOLISH3) $(srcdir)/Makefile.am > $(srcdir)/preinstall.am
-endif
-
-PREINSTALL_DIRS =
-DISTCLEANFILES += $(PREINSTALL_DIRS)
-
-all-am: $(PREINSTALL_FILES)
-
-PREINSTALL_FILES =
-CLEANFILES = $(PREINSTALL_FILES)
-
-all-local: $(TMPINSTALL_FILES)
-
-TMPINSTALL_FILES =
-CLEANFILES += $(TMPINSTALL_FILES)
-
-$(PROJECT_LIB)/$(dirstamp):
- @$(MKDIR_P) $(PROJECT_LIB)
- @: > $(PROJECT_LIB)/$(dirstamp)
-PREINSTALL_DIRS += $(PROJECT_LIB)/$(dirstamp)
-
-$(PROJECT_INCLUDE)/$(dirstamp):
- @$(MKDIR_P) $(PROJECT_INCLUDE)
- @: > $(PROJECT_INCLUDE)/$(dirstamp)
-PREINSTALL_DIRS += $(PROJECT_INCLUDE)/$(dirstamp)
-
-$(PROJECT_INCLUDE)/bsp/$(dirstamp):
- @$(MKDIR_P) $(PROJECT_INCLUDE)/bsp
- @: > $(PROJECT_INCLUDE)/bsp/$(dirstamp)
-PREINSTALL_DIRS += $(PROJECT_INCLUDE)/bsp/$(dirstamp)
-
-$(PROJECT_LIB)/bsp_specs: bsp_specs $(PROJECT_LIB)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_LIB)/bsp_specs
-PREINSTALL_FILES += $(PROJECT_LIB)/bsp_specs
-
-$(PROJECT_INCLUDE)/bsp.h: include/bsp.h $(PROJECT_INCLUDE)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp.h
-
-$(PROJECT_INCLUDE)/smc.h: smc/smc.h $(PROJECT_INCLUDE)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/smc.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/smc.h
-
-$(PROJECT_INCLUDE)/tm27.h: ../../shared/include/tm27.h $(PROJECT_INCLUDE)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/tm27.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/tm27.h
-
-$(PROJECT_INCLUDE)/bspopts.h: include/bspopts.h $(PROJECT_INCLUDE)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bspopts.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bspopts.h
-
-$(PROJECT_INCLUDE)/bsp/bootcard.h: ../../shared/include/bootcard.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/bootcard.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/bootcard.h
-
-$(PROJECT_INCLUDE)/coverhd.h: ../../shared/include/coverhd.h $(PROJECT_INCLUDE)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/coverhd.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/coverhd.h
-
-$(PROJECT_LIB)/start.$(OBJEXT): start.$(OBJEXT) $(PROJECT_LIB)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_LIB)/start.$(OBJEXT)
-TMPINSTALL_FILES += $(PROJECT_LIB)/start.$(OBJEXT)
-
-$(PROJECT_LIB)/linkcmds: startup/linkcmds $(PROJECT_LIB)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds
-PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds
-
-$(PROJECT_INCLUDE)/bsp/irq-generic.h: ../../shared/include/irq-generic.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq-generic.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq-generic.h
-
-$(PROJECT_INCLUDE)/bsp/irq-info.h: ../../shared/include/irq-info.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq-info.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq-info.h
-
diff --git a/c/src/lib/libbsp/arm/gp32/smc/smc.c b/c/src/lib/libbsp/arm/gp32/smc/smc.c
deleted file mode 100644
index 3b8d5e245a..0000000000
--- a/c/src/lib/libbsp/arm/gp32/smc/smc.c
+++ /dev/null
@@ -1,417 +0,0 @@
-/*
- * s3c2400 smc disk block device implementation
- *
- * Squidge's SMC Low-level access routines.
- * Inspired and derived from routines provided by Samsung Electronics
- * M/M R&D Center & FireFly.
- */
-
-#include <rtems.h>
-#include <rtems/libio.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <inttypes.h>
-
-#include "rtems/blkdev.h"
-#include "rtems/diskdevs.h"
-#include "smc.h"
-#include <rtems/bspIo.h>
-#include <s3c24xx.h>
-
-#define SMC_DEVICE_NAME "/dev/smc"
-#define SMC_SAMSUNG_ID 0xEC
-#define SMC_TOSHIBA_ID 0x98
-
-#define SMC_16MB 0x73
-#define SMC_32MB 0x75
-#define SMC_64MB 0x76
-#define SMC_128MB 0x79
-
-#define LBA_UNUSED 0x80000000
-#define LBA_RESERVED 0x80000001
-
-#define BLOCK_UNUSED 0x80000000
-#define BLOCK_RESERVED 0x80000001
-
-/* SmartMedia Command */
-#define SEQ_DATA_INPUT_CMD 0x80
-#define READ1_CMD 0x00
-#define READ1_1_CMD 0x01
-#define READ2_CMD 0x50
-#define READ_ID_CMD 0x90
-#define RESET_CMD 0xFF
-#define PAGE_PROGRAM_CMD 0x10
-#define BLOCK_ERASE_CMD 0x60
-#define BLOCK_ERASE_CFM_CMD 0xD0
-#define READ_STATUS_CMD 0x70
-#define RESET_PTR_CMD 0x00
-
-
-/* Internal SMC disk descriptor */
-struct SMC_INFO {
- uint8_t id[3];
- uint32_t bytes_per_page;
- uint32_t pages_per_block;
- uint32_t blocks;
- uint32_t mb;
-};
-
-/* Ths S3c2410 uses a different register map */
-#ifdef CPU_S3C2410
-#define rPBDAT rGPBDAT
-#define rPBCON rGPBCON
-#define rPDDAT rGPDDAT
-#define rPEDAT rGPEDAT
-#endif
-
-
-static struct SMC_INFO smc_info;
-
-uint32_t smc_l2p[0x2000];
-uint32_t smc_p2l[0x2000];
-
-#define sm_busy() while (!(rPDDAT & 0x200))
-#define sm_chip_en() rPDDAT &= (~0x80)
-#define sm_chip_dis() rPDDAT |= 0x80
-#define sm_cle_en() rPEDAT |= 0x20
-#define sm_cle_dis() rPEDAT &= (~0x20)
-#define sm_ale_en() rPEDAT |= 0x10
-#define sm_ale_dis() rPEDAT &= (~0x10)
-#define sm_wp_en() rPDDAT &= (~0x40)
-#define sm_wp_dis() rPDDAT |= 0x40
-#define sm_read_en() rPBCON &= 0xFFFF0000
-#define sm_read_dis() rPBCON = (rPBCON & 0xFFFF0000) | 0x5555
-#define sm_write_en() sm_read_dis()
-#define sm_write_dis() sm_read_en()
-
-static void sm_write( uint8_t data)
-{
- rPBDAT = (rPBDAT & 0xFF00) | data;
- rPEDAT &= (~0x08);
- rPEDAT |= 0x08;
-}
-
-static uint8_t sm_read(void)
-{
- uint8_t data;
-
- rPDDAT &= (~0x100);
- data = rPBDAT & 0xFF;
- rPDDAT |= 0x100;
- return data;
-}
-
-static void smc_read_id( uint8_t* buf, uint32_t length)
-{
- uint32_t i;
-
- sm_chip_en();
-
- sm_cle_en();
- sm_write_en();
- sm_write(READ_ID_CMD);
- sm_write_dis();
- sm_cle_dis();
-
- sm_ale_en();
- sm_write_en();
- sm_write( 0);
- sm_write_dis();
- sm_ale_dis();
-
- sm_read_en();
- for (i=0;i<length;i++) *(buf+i) = sm_read();
- sm_read_dis();
-
- sm_chip_dis();
-}
-
-/* read an entire logical page of 512 bytes.*/
-static uint8_t smc_read_page (uint32_t lpage, uint8_t* buf)
-{
- uint32_t block, page, i;
-
- /* convert logical block to physical block
- and then convert into page suitable for read1 command...
- */
- block = lpage >> 5;
- if (smc_l2p[block] < LBA_UNUSED) {
- page = smc_l2p[block] << 5;
- page += (lpage & 0x1F);
- }
- else
- return 0;
-
- sm_chip_en();
-
- sm_cle_en();
- sm_write_en();
- sm_write(READ1_CMD);
- sm_write_dis();
- sm_cle_dis();
-
- sm_ale_en();
- sm_write_en();
- sm_write( 0x00);
- sm_write( (uint8_t)(page >> 0));
- sm_write( (uint8_t)(page >> 8));
- if (smc_info.mb >= 64)
- sm_write( (uint8_t)(page >> 16));
- sm_write_dis();
- sm_ale_dis();
-
- sm_busy();
-
- sm_read_en();
- for (i = 0; i < 512; i++) {
- *buf = sm_read();
- buf++;
- }
- sm_read_dis();
- sm_chip_dis();
-
- sm_busy();
- return 1;
-}
-
-static void smc_read_spare( uint32_t page, uint8_t* buf, uint8_t length)
-{
- uint32_t i;
-
- sm_chip_en();
-
- sm_cle_en();
- sm_read_dis();
- sm_write(READ2_CMD);
- sm_read_en();
- sm_cle_dis();
-
- sm_ale_en();
- sm_read_dis();
- sm_write( 0x00);
- sm_write( (uint8_t)(page >> 0));
- sm_write( (uint8_t)(page >> 8));
- if (smc_info.mb >= 64)
- sm_write( (uint8_t)(page >> 16));
- sm_read_en();
- sm_ale_dis();
-
- sm_busy();
-
- sm_read_en();
- for (i=0;i<length;i++)
- *(buf+i) = sm_read();
- sm_read_dis();
-
- sm_chip_dis();
-
-}
-
-static void smc_make_l2p(void)
-{
- uint32_t pblock, i, j, lblock, zone, count, cnt1, cnt2, cnt3;
- uint8_t data[512];
-
- cnt1 = 0;
- cnt2 = 0;
- cnt3 = 0;
-
- for (i=0;i<0x2000;i++) {
- smc_l2p[i] = LBA_RESERVED;
- smc_p2l[i] = BLOCK_RESERVED;
- }
-
- for (pblock=0;pblock<smc_info.blocks;pblock++) {
- /* read physical block - first page */
- smc_read_spare( pblock*smc_info.pages_per_block, (uint8_t*)&data, 16);
-
- zone = pblock >> 10; /* divide by 1024 to get zone */
- if ((data[5] == 0xFF) && ((data[6]&0xF8) == 0x10)) {
- lblock = ((((data[6]<<8)|(data[7]<<0)) >> 1) & 0x03FF) + (zone * 1000);
- smc_l2p[lblock] = pblock;
- smc_p2l[pblock] = lblock;
- cnt1++;
- } else {
- count = 0;
- for (j=0;j<16;j++) {
- if (data[j] == 0xFF) count++;
- }
- if (count == 16) {
- smc_p2l[pblock] = BLOCK_UNUSED;
- cnt2++;
- } else {
- smc_p2l[pblock] = BLOCK_RESERVED;
- cnt3++;
- }
- }
- }
-}
-
-
-static void smc_detect( uint8_t id1, uint8_t id2, uint8_t id3)
-{
- smc_info.id[0] = id1;
- smc_info.id[1] = id2;
- smc_info.id[2] = id3;
- smc_info.mb = 0;
- smc_info.bytes_per_page = 0;
- smc_info.pages_per_block = 0;
- smc_info.blocks = 0;
-
- switch (id1) {
- case SMC_SAMSUNG_ID:
- case SMC_TOSHIBA_ID: {
- switch (id2) {
- case SMC_16MB : smc_info.mb = 16; break;
- case SMC_32MB : smc_info.mb = 32; break;
- case SMC_64MB : smc_info.mb = 64; break;
- case SMC_128MB : smc_info.mb = 128; break;
- }
- break;
- }
- }
-
- switch (smc_info.mb) {
- case 16 : smc_info.bytes_per_page = 512; smc_info.pages_per_block = 32; smc_info.blocks = 0x0400; break;
- case 32 : smc_info.bytes_per_page = 512; smc_info.pages_per_block = 32; smc_info.blocks = 0x0800; break;
- case 64 : smc_info.bytes_per_page = 512; smc_info.pages_per_block = 32; smc_info.blocks = 0x1000; break;
- case 128 : smc_info.bytes_per_page = 512; smc_info.pages_per_block = 32; smc_info.blocks = 0x2000; break;
- }
-}
-
-static void smc_init( void)
-{
- unsigned char buf[32];
- int i;
-
- /* reset smc */
- sm_chip_en();
- sm_cle_en();
- sm_write_en();
- sm_write(0xFF);
- sm_write_dis();
- sm_cle_dis();
- for(i=0;i<10;i++);
- sm_busy();
- sm_chip_dis();
-
- smc_read_id (buf, 4);
- smc_detect (buf[0], buf[1], buf[2]);
- printk ("SMC: [%02X-%02X-%02X-%02X]\n", buf[0], buf[1], buf[2], buf[3]);
- printk ("SMC size: %dMB detected\n",smc_info.mb);
- smc_make_l2p();
-}
-
-/* smc_write --
- * write stub
- */
-static int smc_write(rtems_blkdev_request *req)
-{
- rtems_blkdev_request_done(req, RTEMS_SUCCESSFUL);
- return 0;
-}
-
-
-/* smc_read --
- * PARAMETERS:
- * req - pointer to the READ block device request info
- *
- * RETURNS:
- * ioctl return value
- */
-static int
-smc_read(rtems_blkdev_request *req)
-{
- uint32_t i;
- rtems_blkdev_sg_buffer *sg;
- uint32_t remains;
-
- remains = smc_info.bytes_per_page * req->bufnum;
- sg = req->bufs;
- for (i = 0; (remains > 0) && (i < req->bufnum); i++, sg++)
- {
- int count = sg->length;
- if (count > remains)
- count = remains;
- smc_read_page(sg->block,sg->buffer);
- remains -= count;
- }
- rtems_blkdev_request_done(req, RTEMS_SUCCESSFUL);
- return 0;
-}
-
-/* smc_ioctl --
- * IOCTL handler for SMC device.
- *
- * PARAMETERS:
- * dev - device number (major, minor number)
- * req - IOCTL request code
- * argp - IOCTL argument
- *
- * RETURNS:
- * IOCTL return value
- */
-static int
-smc_ioctl(rtems_disk_device *dd, uint32_t req, void *argp)
-{
- switch (req)
- {
- case RTEMS_BLKIO_REQUEST:
- {
- rtems_blkdev_request *r = argp;
- switch (r->req)
- {
- case RTEMS_BLKDEV_REQ_READ:
- return smc_read(r);
- case RTEMS_BLKDEV_REQ_WRITE:
- return smc_write(r);
- default:
- errno = EINVAL;
- return -1;
- }
- break;
- }
-
- default:
- errno = EINVAL;
- return -1;
- }
-}
-
-/* smc_initialize --
- * RAM disk device driver initialization. Run through RAM disk
- * configuration information and configure appropriate RAM disks.
- *
- * PARAMETERS:
- * major - RAM disk major device number
- * minor - minor device number, not applicable
- * arg - initialization argument, not applicable
- *
- * RETURNS:
- * none
- */
-rtems_device_driver
-smc_initialize(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void *arg)
-{
- rtems_status_code rc;
- dev_t dev;
- uint32_t block_num;
-
- rc = rtems_disk_io_initialize();
- if (rc != RTEMS_SUCCESSFUL)
- return rc;
-
- smc_init();
- block_num = smc_info.blocks << 5;
-
- dev = rtems_filesystem_make_dev_t(major, 0);
- rc = rtems_disk_create_phys(dev, 512, block_num,
- smc_ioctl, NULL, SMC_DEVICE_NAME);
-
- return RTEMS_SUCCESSFUL;
-}
diff --git a/c/src/lib/libbsp/arm/gp32/smc/smc.h b/c/src/lib/libbsp/arm/gp32/smc/smc.h
deleted file mode 100644
index 19600e8a1e..0000000000
--- a/c/src/lib/libbsp/arm/gp32/smc/smc.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * @file
- * @ingroup gp32_smc
- * @brief SMC disk driver initialization entry point
- */
-
-#ifndef __SMC_H__
-#define __SMC_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <rtems.h>
-
-#include "rtems/blkdev.h"
-
-/**
- * @defgroup gp32_smc SMC Disk Driver
- * @ingroup arm_gp32
- * @brief SMC Disk Driver Support
- * @{
- */
-
-/**
- * @brief smc_initialize
- * SMC disk driver initialization entry point.
- */
-rtems_device_driver
-smc_initialize(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void *arg);
-
-#define SMC_DRIVER_TABLE_ENTRY \
- { smc_initialize, GENERIC_BLOCK_DEVICE_DRIVER_ENTRIES }
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/c/src/lib/libbsp/arm/gp32/start/start.S b/c/src/lib/libbsp/arm/gp32/start/start.S
deleted file mode 100644
index 41b46c822f..0000000000
--- a/c/src/lib/libbsp/arm/gp32/start/start.S
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * GP32 startup code
- */
-
-/*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <bsp/linker-symbols.h>
-
-/* Some standard definitions...*/
-.equ PSR_MODE_USR, 0x10
-.equ PSR_MODE_FIQ, 0x11
-.equ PSR_MODE_IRQ, 0x12
-.equ PSR_MODE_SVC, 0x13
-.equ PSR_MODE_ABT, 0x17
-.equ PSR_MODE_UNDEF, 0x1B
-.equ PSR_MODE_SYS, 0x1F
-
-.equ PSR_I, 0x80
-.equ PSR_F, 0x40
-.equ PSR_T, 0x20
-
-.text
-.globl _start
-_start:
- b _start2
-
-@---------------------------------------------------------------------------------
-@ AXF addresses
-@---------------------------------------------------------------------------------
- .word bsp_section_text_begin
- .word bsp_section_rodata_end
- .word bsp_section_data_begin
- .word bsp_section_bss_end
- .word bsp_section_bss_begin
- .word bsp_section_bss_end
-
-@---------------------------------------------------------------------------------
-@ GamePark magic sequence
-@---------------------------------------------------------------------------------
- .word 0x44450011
- .word 0x44450011
- .word 0x01234567
- .word 0x12345678
- .word 0x23456789
- .word 0x34567890
- .word 0x45678901
- .word 0x56789012
- .word 0x23456789
- .word 0x34567890
- .word 0x45678901
- .word 0x56789012
- .word 0x23456789
- .word 0x34567890
- .word 0x45678901
- .word 0x56789012
-
-@---------------------------------------------------------------------------------
-_start2:
-@---------------------------------------------------------------------------------
-
- /*
- * Since I don't plan to return to the bootloader,
- * I don't have to save the registers.
- *
- * I'll just set the CPSR for SVC mode, interrupts
- * off, and ARM instructions.
- */
- mov r0, #(PSR_MODE_SVC | PSR_I | PSR_F)
- msr cpsr, r0
-
- /* --- Initialize stack pointer registers */
- /* Enter IRQ mode and set up the IRQ stack pointer */
- mov r0, #(PSR_MODE_IRQ | PSR_I | PSR_F) /* No interrupts */
- msr cpsr, r0
- ldr r1, =bsp_stack_irq_size
- ldr sp, =bsp_stack_irq_begin
- add sp, sp, r1
-
- /* Enter FIQ mode and set up the FIQ stack pointer */
- mov r0, #(PSR_MODE_FIQ | PSR_I | PSR_F) /* No interrupts */
- msr cpsr, r0
- ldr r1, =bsp_stack_fiq_size
- ldr sp, =bsp_stack_fiq_begin
- add sp, sp, r1
-
- /* Enter ABT mode and set up the ABT stack pointer */
- mov r0, #(PSR_MODE_ABT | PSR_I | PSR_F) /* No interrupts */
- msr cpsr, r0
- ldr r1, =bsp_stack_abt_size
- ldr sp, =bsp_stack_abt_begin
- add sp, sp, r1
-
- /* Set up the SVC stack pointer last and stay in SVC mode */
- mov r0, #(PSR_MODE_SVC | PSR_I | PSR_F) /* No interrupts */
- msr cpsr, r0
- ldr r1, =bsp_stack_svc_size
- ldr sp, =bsp_stack_svc_begin
- add sp, sp, r1
- sub sp, sp, #0x64
-
-
- /* disable mmu, I and D caches*/
- nop
- nop
- mrc p15, 0, r0, c1, c0, 0
- bic r0, r0, #0x01
- bic r0, r0, #0x04
- bic r0, r0, #0x01000
- mcr p15, 0, r0, c1, c0, 0
- nop
- nop
-
- /* clean data cache */
- mov r1,#0x00
-Loop1:
- mov r2,#0x00
-Loop2:
- mov r3, r2, lsl#26
- orr r3, r3, r1, lsl#5
- mcr p15, 0, r3, c7, c14, 2
- add r2, r2, #0x01
- cmp r2, #64
- bne Loop2
- add r1, r1, #0x01
- cmp r1, #8
- bne Loop1
-
-
- /*
- * Initialize the MMU. After we return, the MMU is enabled,
- * and memory may be remapped. I hope we don't remap this
- * memory away.
- */
- ldr r0, =mem_map
- bl mmu_init
-
- /*
- * Initialize the exception vectors. This includes the
- * exceptions vectors (0x00000000-0x0000001c), and the
- * pointers to the exception handlers (0x00000020-0x0000003c).
- */
- mov r0, #0
- adr r1, vector_block
- ldmia r1!, {r2-r9}
- stmia r0!, {r2-r9}
- ldmia r1!, {r2-r9}
- stmia r0!, {r2-r9}
-
- /* Now we are prepared to start the BSP's C code */
- mov r0, #0
- bl boot_card
-
- /*
- * Theoretically, we could return to what started us up,
- * but we'd have to have saved the registers and stacks.
- * Instead, we'll just reset.
- */
- bl bsp_reset
-
- /* We shouldn't get here. If we do, hang */
-_hang: b _hang
-
-
-/*
- * This is the exception vector table and the pointers to
- * the functions that handle the exceptions. It's a total
- * of 16 words (64 bytes)
- */
-vector_block:
- ldr pc, Reset_Handler
- ldr pc, Undefined_Handler
- ldr pc, SWI_Handler
- ldr pc, Prefetch_Handler
- ldr pc, Abort_Handler
- nop
- ldr pc, IRQ_Handler
- ldr pc, FIQ_Handler
-
-Reset_Handler: b bsp_reset
-Undefined_Handler: b Undefined_Handler
-SWI_Handler: b SWI_Handler
-Prefetch_Handler: b Prefetch_Handler
-Abort_Handler: b Abort_Handler
- nop
-IRQ_Handler: b IRQ_Handler
-FIQ_Handler: b FIQ_Handler
-
-.globl Reset_Handler
-.globl Undefined_Handler
-.globl SWI_Handler
-.globl Prefetch_Handler
-.globl Abort_Handler
-.globl IRQ_Handler
-.globl FIQ_Handler
diff --git a/c/src/lib/libbsp/arm/gp32/startup/bspidle.c b/c/src/lib/libbsp/arm/gp32/startup/bspidle.c
deleted file mode 100644
index 0f96f1f09b..0000000000
--- a/c/src/lib/libbsp/arm/gp32/startup/bspidle.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * BSP specific Idle thread
- */
-
-/*
- * Copyright (c) 2000 Canon Research Centre France SA.
- * Emmanuel Raguet, mailto:raguet@crf.canon.fr
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <bsp.h>
-
-void *bsp_idle_thread(uintptr_t ignored)
-{
- while(1) {
- __asm__ volatile ("MCR p15,0,r0,c7,c0,4 \n");
- }
- return NULL;
-}
-
diff --git a/c/src/lib/libbsp/arm/gp32/startup/bspreset.c b/c/src/lib/libbsp/arm/gp32/startup/bspreset.c
deleted file mode 100644
index a9c3792e5d..0000000000
--- a/c/src/lib/libbsp/arm/gp32/startup/bspreset.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <bsp.h>
-#include <bsp/bootcard.h>
-
-void bsp_reset(void)
-{
- rtems_interrupt_level level;
-
- (void) level;
- rtems_interrupt_disable(level);
- /* disable mmu, invalide i-cache and call swi #4 */
- __asm__ volatile(""
- "mrc p15,0,r0,c1,c0,0 \n"
- "bic r0,r0,#1 \n"
- "mcr p15,0,r0,c1,c0,0 \n"
- "nop \n"
- "nop \n"
- "nop \n"
- "nop \n"
- "nop \n"
- "mov r0,#0 \n"
- "MCR p15,0,r0,c7,c5,0 \n"
- "nop \n"
- "nop \n"
- "nop \n"
- "nop \n"
- "nop \n"
- "swi #4 "
- :
- :
- : "r0"
- );
- /* we should be back in bios now */
-}
diff --git a/c/src/lib/libbsp/arm/gp32/startup/bspstart.c b/c/src/lib/libbsp/arm/gp32/startup/bspstart.c
deleted file mode 100644
index 5002e578c0..0000000000
--- a/c/src/lib/libbsp/arm/gp32/startup/bspstart.c
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * This file contains the ARM BSP startup package. It includes application,
- * board, and monitor specific initialization and configuration. The generic CPU
- * dependent initialization has been performed before this routine is invoked.
- */
-
-/*
- * Copyright (c) 2000 Canon Research Centre France SA.
- * Emmanuel Raguet, mailto:raguet@crf.canon.fr
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <bsp.h>
-#include <bsp/irq-generic.h>
-#include <rtems/bspIo.h>
-#include <s3c24xx.h>
-
-/*
- * BSP Specific Initialization in C
- */
-static void bsp_start_default( void )
-{
- uint32_t cr;
- uint32_t pend,last;
- uint32_t REFCNT;
- int i;
-
- /* stop RTC */
- #ifdef CPU_S3C2400
- rTICINT = 0x0;
- #else
- rTICNT = 0x0;
- #endif
- /* stop watchdog,ADC and timers */
- rWTCON = 0x0;
- rTCON = 0x0;
- rADCCON = 0x0;
-
- /* disable interrupts */
- rINTMOD = 0x0;
- rINTMSK = BIT_ALLMSK; /* unmasked by drivers */
-
- last = 0;
- for(i=0; i<4; i++) {
- pend = rSRCPND;
- if(pend == 0 || pend == last)
- break;
- rSRCPND = pend;
- rINTPND = pend;
- last = pend;
- }
-
- /* setup clocks */
- rCLKDIVN = M_CLKDIVN;
- rMPLLCON = ((M_MDIV<<12)+(M_PDIV<<4)+M_SDIV);
- /* setup rREFRESH
- * period = 15.6 us, HCLK=66Mhz, (2048+1-15.6*66)
- */
- REFCNT = 2048+1-(15.6*get_HCLK()/1000000);
- rREFRESH = ((REFEN<<23)+(TREFMD<<22)+(Trp<<20)+(Trc<<18)+(Tchr<<16)+REFCNT);
-
- /* set prescaler for timers 2,3,4 to 16(15+1) */
- cr = rTCFG0 & 0xFFFF00FF;
- rTCFG0 = (cr | (15<<8));
-
- /* set prescaler for timers 0,1 to 1(0+1) */
- cr = rTCFG0 & 0xFFFFFF00;
- rTCFG0 = (cr | (0<<0));
-
- /*
- * Init rtems exceptions management
- */
- /* FIXME: Use shared start.S */
- rtems_exception_init_mngt();
-
- /*
- * Init rtems interrupt management
- */
- bsp_interrupt_initialize();
-}
-
-/*
- * By making this a weak alias for bsp_start_default, a brave soul
- * can override the actual bsp_start routine used.
- */
-void bsp_start (void) __attribute__ ((weak, alias("bsp_start_default")));
diff --git a/c/src/lib/libbsp/arm/gp32/startup/linkcmds b/c/src/lib/libbsp/arm/gp32/startup/linkcmds
deleted file mode 100644
index 6fcbe1a7e4..0000000000
--- a/c/src/lib/libbsp/arm/gp32/startup/linkcmds
+++ /dev/null
@@ -1,26 +0,0 @@
-MEMORY {
- SDRAM_MMU : ORIGIN = 0x0c000000, LENGTH = 16k
- SDRAM : ORIGIN = 0x0c004000, LENGTH = 7M - 16k
-}
-
-REGION_ALIAS ("REGION_START", SDRAM);
-REGION_ALIAS ("REGION_VECTOR", SDRAM);
-REGION_ALIAS ("REGION_TEXT", SDRAM);
-REGION_ALIAS ("REGION_TEXT_LOAD", SDRAM);
-REGION_ALIAS ("REGION_RODATA", SDRAM);
-REGION_ALIAS ("REGION_RODATA_LOAD", SDRAM);
-REGION_ALIAS ("REGION_DATA", SDRAM);
-REGION_ALIAS ("REGION_DATA_LOAD", SDRAM);
-REGION_ALIAS ("REGION_FAST_TEXT", SDRAM);
-REGION_ALIAS ("REGION_FAST_TEXT_LOAD", SDRAM);
-REGION_ALIAS ("REGION_FAST_DATA", SDRAM);
-REGION_ALIAS ("REGION_FAST_DATA_LOAD", SDRAM);
-REGION_ALIAS ("REGION_BSS", SDRAM);
-REGION_ALIAS ("REGION_WORK", SDRAM);
-REGION_ALIAS ("REGION_STACK", SDRAM);
-REGION_ALIAS ("REGION_NOCACHE", SDRAM);
-REGION_ALIAS ("REGION_NOCACHE_LOAD", SDRAM);
-
-_ttbl_base = ORIGIN (SDRAM_MMU);
-
-INCLUDE linkcmds.armv4
diff --git a/c/src/lib/libbsp/arm/gp32/startup/memmap.c b/c/src/lib/libbsp/arm/gp32/startup/memmap.c
deleted file mode 100644
index fec8a50369..0000000000
--- a/c/src/lib/libbsp/arm/gp32/startup/memmap.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * GP32 Memory Map
- *
- * Copyright (c) 2004 by Cogent Computer Systems
- * Written by Jay Monkman <jtm@lopingdog.com>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-#include <rtems.h>
-#include <libcpu/mmu.h>
-
-/* Remember, the ARM920 has 64 TLBs. If you have more 1MB sections than
- * that, you'll have TLB lookups, which could hurt performance.
- */
-mmu_sect_map_t mem_map[] = {
-/* <phys addr> <virt addr> <size> <flags> */
- {0x0c000000, 0x00000000, 1, MMU_CACHE_NONE}, /* SDRAM for vectors */
- {0x0c000000, 0x0c000000, 7, MMU_CACHE_WTHROUGH}, /* SDRAM W cache */
- {0x0c700000, 0x0c700000, 1, MMU_CACHE_NONE}, /* SDRAM W/O cache */
- {0x14000000, 0x14000000, 16, MMU_CACHE_NONE}, /* Internals Regs - */
- {0x15000000, 0x15000000, 16, MMU_CACHE_NONE}, /* Internal Regs - */
- {0x00000000, 0x00000000, 0, 0} /* The end */
-};