Files
rtems/c/src/libchip/rtc/rtc.h
Joel Sherrill 94365d9159 2003-09-04 Joel Sherrill <joel@OARcorp.com>
* ide/ata.c, ide/ata.h, ide/ata_internal.h, ide/ide_controller.c,
	ide/ide_ctrl.h, ide/ide_ctrl_cfg.h, ide/ide_ctrl_io.h,
	network/cs8900.c, network/cs8900.c.bsp, network/cs8900.h,
	network/dec21140.c, network/elnk.c, network/open_eth.c,
	network/sonic.c, network/sonic.h, rtc/icm7170.c, rtc/icm7170.h,
	rtc/icm7170_reg.c, rtc/icm7170_reg2.c, rtc/icm7170_reg4.c,
	rtc/icm7170_reg8.c, rtc/m48t08.c, rtc/m48t08.h, rtc/m48t08_reg.c,
	rtc/m48t08_reg2.c, rtc/m48t08_reg4.c, rtc/m48t08_reg8.c, rtc/rtc.h,
	rtc/rtcprobe.c, serial/mc68681.c, serial/mc68681.h,
	serial/mc68681_p.h, serial/mc68681_reg.c, serial/mc68681_reg2.c,
	serial/mc68681_reg4.c, serial/mc68681_reg8.c, serial/serial.h,
	serial/z85c30.c, serial/z85c30.h, serial/z85c30_p.h,
	serial/z85c30_reg.c: URL for license changed.
2003-09-04 18:53:19 +00:00

81 lines
2.1 KiB
C

/*
* This file contains the Real-Time Clock definitions.
*
* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*
*
* $Id$
*/
#ifndef __LIBCHIP_RTC_h
#define __LIBCHIP_RTC_h
/*
* Types for get and set register routines
*/
typedef unsigned32 (*getRegister_f)(unsigned32 port, unsigned8 register);
typedef void (*setRegister_f)(
unsigned32 port, unsigned8 reg, unsigned32 value);
typedef struct _rtc_fns {
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_ICM7170, /* 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 ulDataPort;
getRegister_f getRegister;
setRegister_f setRegister;
} rtc_tbl;
extern rtc_tbl RTC_Table[];
extern unsigned long RTC_Count;
boolean rtc_probe( int minor );
#endif
/* end of include file */