forked from Imagelibrary/rtems
* libchip/ide/ata.c, libchip/ide/ata_internal.h, libchip/ide/ide_controller.c, libchip/ide/ide_ctrl_cfg.h, libchip/ide/ide_ctrl_io.h, libchip/network/cs8900.c, libchip/network/dec21140.c, libchip/network/elnk.c, libchip/network/if_fxp.c, libchip/network/open_eth.c, libchip/network/open_eth.h, libchip/network/sonic.c, libchip/network/sonic.h, libchip/rtc/icm7170.c, libchip/rtc/icm7170.h, libchip/rtc/icm7170_reg.c, libchip/rtc/icm7170_reg2.c, libchip/rtc/icm7170_reg4.c, libchip/rtc/icm7170_reg8.c, libchip/rtc/m48t08.c, libchip/rtc/m48t08.h, libchip/rtc/m48t08_reg.c, libchip/rtc/m48t08_reg2.c, libchip/rtc/m48t08_reg4.c, libchip/rtc/m48t08_reg8.c, libchip/rtc/rtc.h, libchip/serial/mc68681.c, libchip/serial/mc68681.h, libchip/serial/mc68681_reg.c, libchip/serial/mc68681_reg2.c, libchip/serial/mc68681_reg4.c, libchip/serial/mc68681_reg8.c, libchip/serial/ns16550.c, libchip/serial/ns16550_p.h, libchip/serial/serial.h, libchip/serial/z85c30.c, libchip/serial/z85c30.h, libchip/serial/z85c30_p.h, libchip/serial/z85c30_reg.c, libchip/shmdr/addlq.c, libchip/shmdr/cnvpkt.c, libchip/shmdr/dump.c, libchip/shmdr/fatal.c, libchip/shmdr/getlq.c, libchip/shmdr/init.c, libchip/shmdr/initlq.c, libchip/shmdr/intr.c, libchip/shmdr/poll.c, libchip/shmdr/send.c, libchip/shmdr/shm_driver.h: Convert to using c99 fixed-size types.
81 lines
2.1 KiB
C
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 uint32_t (*getRegister_f)(uint32_t port, uint8_t register);
|
|
typedef void (*setRegister_f)(
|
|
uint32_t port, uint8_t reg, uint32_t 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;
|
|
uint32_t ulCtrlPort1;
|
|
uint32_t 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 */
|