RTEMS  5.1
ds1375-rtc.h
1 #ifndef DS1375_I2C_RTC_H
2 #define DS1375_I2C_RTC_H
3 
4 /* Driver for the Maxim 1375 i2c RTC (TOD only; very simple...) */
5 
6 /*
7  * Authorship
8  * ----------
9  * This software was created by
10  *
11  * Till Straumann <strauman@slac.stanford.edu>, 2005-2007,
12  * Stanford Linear Accelerator Center, Stanford University.
13  *
14  * Acknowledgement of sponsorship
15  * ------------------------------
16  * The software was produced by
17  * the Stanford Linear Accelerator Center, Stanford University,
18  * under Contract DE-AC03-76SFO0515 with the Department of Energy.
19  *
20  * Government disclaimer of liability
21  * ----------------------------------
22  * Neither the United States nor the United States Department of Energy,
23  * nor any of their employees, makes any warranty, express or implied, or
24  * assumes any legal liability or responsibility for the accuracy,
25  * completeness, or usefulness of any data, apparatus, product, or process
26  * disclosed, or represents that its use would not infringe privately owned
27  * rights.
28  *
29  * Stanford disclaimer of liability
30  * --------------------------------
31  * Stanford University makes no representations or warranties, express or
32  * implied, nor assumes any liability for the use of this software.
33  *
34  * Stanford disclaimer of copyright
35  * --------------------------------
36  * Stanford University, owner of the copyright, hereby disclaims its
37  * copyright and all other rights in this software. Hence, anyone may
38  * freely use it for any purpose without restriction.
39  *
40  * Maintenance of notices
41  * ----------------------
42  * In the interest of clarity regarding the origin and status of this
43  * SLAC software, this and all the preceding Stanford University notices
44  * are to remain affixed to any copy or derivative of this software made
45  * or distributed by the recipient and are to be affixed to any copy of
46  * software made or distributed by the recipient that contains a copy or
47  * derivative of this software.
48  *
49  * ------------------ SLAC Software Notices, Set 4 OTT.002a, 2004 FEB 03
50  */
51 
52 #include <rtems.h>
53 #include <libchip/rtc.h>
54 #include <stdint.h>
55 
56 #ifdef __cplusplus
57 extern "C" {
58 #endif
59 
60 extern rtc_fns rtc_ds1375_fns;
61 
62 bool
63 rtc_ds1375_device_probe( int minor );
64 
65 uint32_t
66 rtc_ds1375_get_register( uintptr_t port, uint8_t reg );
67 
68 void
69 rtc_ds1375_set_register( uintptr_t port, uint8_t reg, uint32_t value );
70 
71 /*
72  * BSP must supply string constant argument 'i2cname' which matches
73  * the registered device name of the raw i2c device (created with mknod).
74  * E.g., "/dev/i2c.ds1375-raw"
75  *
76  * NOTE: The i2c bus driver must already be up and 'i2cname' already
77  * be available when this ENTRY is registered or initialized.
78  *
79  * If you want to allow applications to add the RTC driver to
80  * the configuration table then the i2c subsystem must be
81  * initialized by the BSP from the predriver_hook.
82  */
83 #define DS1375_RTC_TBL_ENTRY(i2cname) \
84 { \
85  sDeviceName: "/dev/rtc", \
86  deviceType: RTC_CUSTOM, \
87  pDeviceFns: &rtc_ds1375_fns, \
88  deviceProbe: rtc_ds1375_device_probe, \
89  ulCtrlPort1: (uintptr_t)(i2cname), \
90  ulDataPort: 0, \
91  getRegister: rtc_ds1375_get_register, \
92  setRegister: rtc_ds1375_set_register, \
93 }
94 
95 #ifdef __cplusplus
96 }
97 #endif
98 
99 #endif
Definition: rtc.h:27