From 07e91808932ecc3cb8e25dc3d618debd5e2db6fb Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 28 Jul 1998 21:18:11 +0000 Subject: Added rtc directory. --- c/src/libchip/rtc/Makefile.in | 55 ++++++++++++++++++++++++++++ c/src/libchip/rtc/rtc.h | 83 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 138 insertions(+) create mode 100644 c/src/libchip/rtc/Makefile.in create mode 100644 c/src/libchip/rtc/rtc.h (limited to 'c/src/libchip') diff --git a/c/src/libchip/rtc/Makefile.in b/c/src/libchip/rtc/Makefile.in new file mode 100644 index 0000000000..c7dc34db1a --- /dev/null +++ b/c/src/libchip/rtc/Makefile.in @@ -0,0 +1,55 @@ +# +# $Id$ +# + +@SET_MAKE@ +srcdir = @srcdir@ +VPATH = @srcdir@ +RTEMS_ROOT = @top_srcdir@ +PROJECT_ROOT = @PROJECT_ROOT@ + +LIBNAME=librtcio.a +LIB=${ARCH}/${LIBNAME} + +C_PIECES=\ + +C_FILES=$(C_PIECES:%=%.c) +C_O_FILES=$(C_PIECES:%=${ARCH}/%.o) + +INSTALLED_H_FILES=$(srcdir)/rtc.h +SRCS=$(C_FILES) $(H_FILES) $(SYS_H_FILES) $(RTEMS_H_FILES) $(PRIVATE_H_FILES) +OBJS=$(C_O_FILES) + +include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg +include $(RTEMS_ROOT)/make/lib.cfg + +# +# Add local stuff here using += +# + +DEFINES += +CPPFLAGS += +CFLAGS += $(LIBC_DEFINES) + +# +# Add your list of files to delete here. The config files +# already know how to delete some stuff, so you may want +# to just run 'make clean' first to see what gets missed. +# 'make clobber' already includes 'make clean' +# + +CLEAN_ADDITIONS += $(LIB) +CLOBBER_ADDITIONS += + +all: ${ARCH} preinstall $(LIB) + $(INSTALL_VARIANT) -m 644 ${LIB} ${PROJECT_RELEASE}/lib + +$(LIB): $(SRCS) ${OBJS} + $(make-library) + +# Install the library, appending _g or _p as appropriate. +# for include files, just use $(INSTALL) +preinstall: + $(INSTALL) -m 444 $(INSTALLED_H_FILES) $(PROJECT_INCLUDE)/libchip + + diff --git a/c/src/libchip/rtc/rtc.h b/c/src/libchip/rtc/rtc.h new file mode 100644 index 0000000000..b517424b3c --- /dev/null +++ b/c/src/libchip/rtc/rtc.h @@ -0,0 +1,83 @@ +/* + * This file contains the Real-Time Clock definitions. + * + * COPYRIGHT (c) 1989-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 __LIBCHIP_RTC_h +#define __LIBCHIP_RTC_h + +/* + * Types for get and set register routines + */ + +typedef unsigned8 (*getRegister_f)(unsigned32 port, unsigned8 register); +typedef void (*setRegister_f)( + unsigned32 port, unsigned8 reg, unsigned8 value); +typedef unsigned8 (*getData_f)(unsigned32 port); +typedef void (*setData_f)(unsigned32 port, unsigned8 value); + +typedef struct _rtc_fns { + boolean (*deviceProbe)(int minor); + void (*deviceInitialize)(int minor); + int (*deviceGetTime)(int minor, rtems_time_of_day *time); + int (*deviceSetTime)(int minor, rtems_time_of_day *time); +} rtc_fns; + +typedef enum { + RTC_M48T08, /* SGS-Thomsom M48T08 or M48T18 */ + RTC_ICM_7170, /* Harris ICM-7170 */ + RTC_CUSTOM /* BSP specific driver */ +} rtc_devs; + +/* + * Each field is interpreted thus: + * + * sDeviceName This is the name of the device. + * + * deviceType This indicates the chip type. + * + * pDeviceFns This is a pointer to the set of driver routines to use. + * + * pDeviceParams This contains either device specific data or a pointer to a + * device specific information table. + * + * ulCtrlPort1 This is the primary control port number for the device. + * + * ulCtrlPort2 This is the secondary control port number. + * + * ulDataPort This is the port number for the data port of the device + * + * getRegister This is the routine used to read register values. + * + * setRegister This is the routine used to write register values. + */ + +typedef struct _rtc_tbl { + char *sDeviceName; + rtc_devs deviceType; + rtc_fns *pDeviceFns; + boolean (*deviceProbe)(int minor); + void *pDeviceParams; + unsigned32 ulCtrlPort1; + unsigned32 ulCtrlPort2; + unsigned32 ulDataPort; + getRegister_f getRegister; + setRegister_f setRegister; + unsigned int ulIntVector; +} rtc_tbl; + +extern rtc_tbl RTC_Port_Tbl[]; +extern unsigned long RTC_Port_Count; + +#endif +/* end of include file */ -- cgit v1.2.3