OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [rtos/] [rtems/] [c/] [src/] [libchip/] [rtc/] [rtc.h] - Blame information for rev 307

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 30 unneback
/*
2
 *  This file contains the Real-Time Clock definitions.
3
 *
4
 *  COPYRIGHT (c) 1989-1999.
5
 *  On-Line Applications Research Corporation (OAR).
6
 *
7
 *  The license and distribution terms for this file may be
8
 *  found in the file LICENSE in this distribution or at
9
 *  http://www.OARcorp.com/rtems/license.html.
10
 *
11
 *
12
 *  $Id: rtc.h,v 1.2 2001-09-27 12:01:42 chris Exp $
13
 */
14
 
15
#ifndef __LIBCHIP_RTC_h
16
#define __LIBCHIP_RTC_h
17
 
18
/*
19
 *  Types for get and set register routines
20
 */
21
 
22
typedef unsigned32 (*getRegister_f)(unsigned32 port, unsigned8 register);
23
typedef void       (*setRegister_f)(
24
                            unsigned32 port, unsigned8 reg, unsigned32 value);
25
 
26
typedef struct _rtc_fns {
27
  void    (*deviceInitialize)(int minor);
28
  int     (*deviceGetTime)(int minor, rtems_time_of_day *time);
29
  int     (*deviceSetTime)(int minor, rtems_time_of_day *time);
30
} rtc_fns;
31
 
32
typedef enum {
33
  RTC_M48T08,                  /* SGS-Thomsom M48T08 or M48T18 */
34
  RTC_ICM7170,                 /* Harris ICM-7170 */
35
  RTC_CUSTOM                   /* BSP specific driver */
36
} rtc_devs;
37
 
38
/*
39
 * Each field is interpreted thus:
40
 *
41
 * sDeviceName  This is the name of the device.
42
 *
43
 * deviceType   This indicates the chip type.
44
 *
45
 * pDeviceFns   This is a pointer to the set of driver routines to use.
46
 *
47
 * pDeviceParams This contains either device specific data or a pointer to a
48
 *              device specific information table.
49
 *
50
 * ulCtrlPort1  This is the primary control port number for the device.
51
 *
52
 * ulCtrlPort2  This is the secondary control port number.
53
 *
54
 * ulDataPort   This is the port number for the data port of the device
55
 *
56
 * getRegister  This is the routine used to read register values.
57
 *
58
 * setRegister  This is the routine used to write register values.
59
 */
60
 
61
typedef struct _rtc_tbl {
62
  char          *sDeviceName;
63
  rtc_devs       deviceType;
64
  rtc_fns       *pDeviceFns;
65
  boolean      (*deviceProbe)(int minor);
66
  void          *pDeviceParams;
67
  unsigned32     ulCtrlPort1;
68
  unsigned32     ulDataPort;
69
  getRegister_f  getRegister;
70
  setRegister_f  setRegister;
71
} rtc_tbl;
72
 
73
extern rtc_tbl        RTC_Table[];
74
extern unsigned long  RTC_Count;
75
 
76
 
77
boolean rtc_probe( int minor );
78
 
79
#endif
80
/* end of include file */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.