From 4a238002e71ec018723229f8669363a5ffb7302e Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 18 Nov 1999 21:22:58 +0000 Subject: Patch from "John M. Mills" with subsequent cleanup from Ralf Corsepius that adds initial Hitachi SH-2 support to RTEMS. Ralf's comments are: Changes: ------ 1. SH-Port: * Many files renamed. * CONSOLE_DEVNAME and MHZ defines removed from libcpu. * console.c moved to libbsp/sh/shared, build in libbsp/sh//console applying VPATH. * CONSOLE_DEVNAME made BSP-specific, replacement is defined in bsp.h * MHZ define replaced with HZ (extendent resolution) in custom/*.cfg * -DHZ=HZ used in bspstart.c, only * Makefile variable HZ used in bsp-dependent directories only. 2. SH1-Port * clock-driver rewritten to provide better resolution for odd CPU frequencies. This driver is only partially tested on hardware, ie. sightly experimental, but I don't expect severe problems with it. * Polling SCI-driver added. This driver is experimental and completly untested yet. Therefore it is not yet used for the console (/dev/console is still pointing to /dev/null, cf. gensh1/bsp.h). * minor changes to the timer driver * SH1 specific delay()/CPU_delay() now is implemented as a function 3. SH2-Port * Merged * IMO, the code is still in its infancy. Therefore I have interspersed comments (FIXME) it for items which I think John should look after. * sci and console drivers partially rewritten and extended (John, I hope you don't mind). * Copyright notices are not yet adapted --- c/src/lib/libcpu/sh/sh7032/include/Makefile.in | 4 +- c/src/lib/libcpu/sh/sh7032/include/ioqueue.h | 77 -------------------------- c/src/lib/libcpu/sh/sh7032/include/sci.h | 6 -- c/src/lib/libcpu/sh/sh7032/include/sh7_pfc.h | 2 +- c/src/lib/libcpu/sh/sh7032/include/sh7_sci.h | 2 +- 5 files changed, 4 insertions(+), 87 deletions(-) delete mode 100644 c/src/lib/libcpu/sh/sh7032/include/ioqueue.h (limited to 'c/src/lib/libcpu/sh/sh7032/include') diff --git a/c/src/lib/libcpu/sh/sh7032/include/Makefile.in b/c/src/lib/libcpu/sh/sh7032/include/Makefile.in index 5f180b27f3..fb379f14eb 100644 --- a/c/src/lib/libcpu/sh/sh7032/include/Makefile.in +++ b/c/src/lib/libcpu/sh/sh7032/include/Makefile.in @@ -13,8 +13,8 @@ PROJECT_ROOT = @PROJECT_ROOT@ VPATH = @srcdir@ -H_FILES = $(srcdir)/ioqueue.h $(srcdir)/null.h $(srcdir)/sci.h \ - $(srcdir)/sh7_pfc.h $(srcdir)/sh7_sci.h +H_FILES = $(srcdir)/null.h $(srcdir)/sci.h $(srcdir)/sh7_pfc.h \ + $(srcdir)/sh7_sci.h SRCS = $(H_FILES) diff --git a/c/src/lib/libcpu/sh/sh7032/include/ioqueue.h b/c/src/lib/libcpu/sh/sh7032/include/ioqueue.h deleted file mode 100644 index 55020acfad..0000000000 --- a/c/src/lib/libcpu/sh/sh7032/include/ioqueue.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Defines for low level queue management - * - * Author: Ralf Corsepius (corsepiu@faw.uni-ulm.de) - * - * COPYRIGHT (c) 1997-1998, Ralf Corsepius, Germany - * - * 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. - * - * - * COPYRIGHT (c) 1998. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - * - */ - -#ifndef _io_queue_h -#define _io_queue_h - -#include /* size_t */ - -/* - * NOTE: size needs to be a power of 2 - */ -#define IO_QUEUE(type,size,name) \ -typedef struct { \ - volatile type queue[size] ; \ - volatile unsigned short tail ; \ - volatile unsigned short head ; \ -} name ; - -#define IO_QUEUE_FULL(queue, size) \ - ((queue)->tail == (((queue)->head+1) & ((size)-1))) - -#define IO_QUEUE_EMPTY(queue) \ - (((queue)->tail) == ((queue)->head)) - -#define IO_QUEUE_INIT(queue) \ - (queue)->tail = (queue)->head = 0 - -#define IO_QUEUE_ADD(queue,size) \ - (queue)->head = (((queue)->head + 1) & ((size)-1)) - -#define IO_QUEUE_SUB(queue,size) \ - (queue)->tail = (((queue)->tail + 1) & ((size)-1)) - -#define IO_QUEUE_PUT(_queue,item) \ -{ \ - size_t i; \ - unsigned char* dest = (unsigned char*) ((_queue)->queue[(_queue)->head]); \ - unsigned char* src = (unsigned char*) (item); \ - for( i = 0; i < sizeof(item); i++) \ - { \ - dest[i] = src[i]; \ - } \ -} - -#define IO_QUEUE_GET(_queue,item) \ -{\ - size_t i; \ - unsigned char *src = (unsigned char*) (_queue)->queue[(_queue)->tail]; \ - unsigned char *dest = (unsigned char*) (item); \ - for( i=0; i< sizeof(item); i++)\ - {\ - dest[i] = src[i]; \ - }\ -} - -#endif diff --git a/c/src/lib/libcpu/sh/sh7032/include/sci.h b/c/src/lib/libcpu/sh/sh7032/include/sci.h index d897003315..b2468400b8 100644 --- a/c/src/lib/libcpu/sh/sh7032/include/sci.h +++ b/c/src/lib/libcpu/sh/sh7032/include/sci.h @@ -78,12 +78,6 @@ extern rtems_device_driver sh_sci_control( void * ); -/* Internal error codes */ -#define SH_TTY_NO_ERROR 0x2000 -#define SH_TTY_FRAME_ERR 0x2001 -#define SH_TTY_PARITY_ERR 0x2002 -#define SH_TTY_OVERRUN_ERR 0x2003 - #ifdef __cplusplus } #endif diff --git a/c/src/lib/libcpu/sh/sh7032/include/sh7_pfc.h b/c/src/lib/libcpu/sh/sh7032/include/sh7_pfc.h index ba6580c5fd..6e12740340 100644 --- a/c/src/lib/libcpu/sh/sh7032/include/sh7_pfc.h +++ b/c/src/lib/libcpu/sh/sh7032/include/sh7_pfc.h @@ -27,7 +27,7 @@ #ifndef _sh7_pfc_h #define _sh7_pfc_h -#include +#include /* * Port B IO Register (PBIOR) diff --git a/c/src/lib/libcpu/sh/sh7032/include/sh7_sci.h b/c/src/lib/libcpu/sh/sh7032/include/sh7_sci.h index cb2cc03893..3bd01ecc8f 100644 --- a/c/src/lib/libcpu/sh/sh7032/include/sh7_sci.h +++ b/c/src/lib/libcpu/sh/sh7032/include/sh7_sci.h @@ -27,7 +27,7 @@ #ifndef _sh7_sci_h #define _sh7_sci_h -#include +#include /* * Serial mode register bits -- cgit v1.2.3