forked from Imagelibrary/rtems
Added rtc directory.
This commit is contained in:
@@ -11,4 +11,4 @@ PROJECT_ROOT = @PROJECT_ROOT@
|
|||||||
include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
|
include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
|
||||||
include $(RTEMS_ROOT)/make/directory.cfg
|
include $(RTEMS_ROOT)/make/directory.cfg
|
||||||
|
|
||||||
SUB_DIRS=serial
|
SUB_DIRS=rtc serial
|
||||||
|
|||||||
55
c/src/lib/libchip/rtc/Makefile.in
Normal file
55
c/src/lib/libchip/rtc/Makefile.in
Normal file
@@ -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
|
||||||
|
|
||||||
|
|
||||||
83
c/src/lib/libchip/rtc/rtc.h
Normal file
83
c/src/lib/libchip/rtc/rtc.h
Normal file
@@ -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 */
|
||||||
55
c/src/libchip/rtc/Makefile.in
Normal file
55
c/src/libchip/rtc/Makefile.in
Normal file
@@ -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
|
||||||
|
|
||||||
|
|
||||||
83
c/src/libchip/rtc/rtc.h
Normal file
83
c/src/libchip/rtc/rtc.h
Normal file
@@ -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 */
|
||||||
Reference in New Issue
Block a user