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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [include/] [asm-ppc/] [m48t35.h] - Blame information for rev 1774

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

Line No. Rev Author Line
1 1276 phoenix
/*
2
 *  Registers for the SGS-Thomson M48T35 Timekeeper RAM chip
3
 *  and
4
 *  Registers for the SGS-Thomson M48T37 Timekeeper RAM chip
5
 *  The 37 is the 35 plus alarm and century thus the offsets
6
 *  are shifted by the extra registers.
7
 */
8
 
9
#ifndef __PPC_M48T35_H
10
#define __PPC_M48T35_H
11
 
12
/* RTC offsets */
13
#define M48T35_RTC_FLAGS        (-8)    /* the negative regs are really T37 only */
14
#define M48T35_RTC_CENTURY      (-7)
15
#define M48T35_RTC_AL_SEC       (-6)
16
#define M48T35_RTC_AL_MIN       (-5)
17
#define M48T35_RTC_AL_HRS       (-4)
18
#define M48T35_RTC_AL_DOM       (-3)
19
#define M48T35_RTC_INTERRUPT    (-2)
20
#define M48T35_RTC_WATCHDOG     (-1)
21
#define M48T35_RTC_CONTROL      0        /* T35 starts here */
22
#define M48T35_RTC_SECONDS      1
23
#define M48T35_RTC_MINUTES      2
24
#define M48T35_RTC_HOURS        3
25
#define M48T35_RTC_DAY          4
26
#define M48T35_RTC_DOM          5
27
#define M48T35_RTC_MONTH        6
28
#define M48T35_RTC_YEAR         7
29
 
30
/* this way help us know which bits go with which regs */
31
#define M48T35_RTC_FLAGS_BL           0x10
32
#define M48T35_RTC_FLAGS_AF           0x40
33
#define M48T35_RTC_FLAGS_WDF          0x80
34
 
35
#define M48T35_RTC_INTERRUPT_AFE       0x80
36
#define M48T35_RTC_INTERRUPT_ABE       0x20
37
#define M48T35_RTC_INTERRUPT_ALL       (M48T35_RTC_INTERRUPT_AFE|M48T35_RTC_INTERRUPT_ABE)
38
 
39
#define M48T35_RTC_WATCHDOG_RB         0x03
40
#define M48T35_RTC_WATCHDOG_BMB        0x7c
41
#define M48T35_RTC_WATCHDOG_WDS        0x80
42
#define M48T35_RTC_WATCHDOG_ALL        (M48T35_RTC_WATCHDOG_RB|M48T35_RTC_WATCHDOG_BMB|M48T35_RTC_W
43
 
44
#define M48T35_RTC_CONTROL_WRITE       0x80
45
#define M48T35_RTC_CONTROL_READ        0x40
46
#define M48T35_RTC_CONTROL_CAL_SIGN    0x20
47
#define M48T35_RTC_CONTROL_CAL_VALUE   0x1f
48
#define M48T35_RTC_CONTROL_LOCKED      (M48T35_RTC_WRITE|M48T35_RTC_READ)
49
#define M48T35_RTC_CONTROL_CALIBRATION (M48T35_RTC_CONTROL_CAL_SIGN|M48T35_RTC_CONTROL_CAL_VALUE)
50
 
51
#define M48T35_RTC_SECONDS_SEC_1       0x0f
52
#define M48T35_RTC_SECONDS_SEC_10      0x70
53
#define M48T35_RTC_SECONDS_ST          0x80
54
#define M48T35_RTC_SECONDS_SEC_ALL     (M48T35_RTC_SECONDS_SEC_1|M48T35_RTC_SECONDS_SEC_10)
55
 
56
#define M48T35_RTC_MINUTES_MIN_1       0x0f
57
#define M48T35_RTC_MINUTES_MIN_10      0x70
58
#define M48T35_RTC_MINUTES_MIN_ALL     (M48T35_RTC_MINUTES_MIN_1|M48T35_RTC_MINUTES_MIN_10)
59
 
60
#define M48T35_RTC_HOURS_HRS_1         0x0f
61
#define M48T35_RTC_HOURS_HRS_10        0x30
62
#define M48T35_RTC_HOURS_HRS_ALL       (M48T35_RTC_HOURS_HRS_1|M48T35_RTC_HOURS_HRS_10)
63
 
64
#define M48T35_RTC_DAY_DAY_1           0x03
65
#define M48T35_RTC_DAY_FT              0x40
66
 
67
#define M48T35_RTC_ALARM_OFF           0x00
68
#define M48T35_RTC_WATCHDOG_OFF        0x00
69
 
70
 
71
/* legacy */
72
#define M48T35_RTC_SET      0x80
73
#define M48T35_RTC_STOPPED  0x80
74
#define M48T35_RTC_READ     0x40
75
 
76
 
77
/* read/write conversions */
78
#ifndef BCD_TO_BIN
79
#define BCD_TO_BIN(x)   ((x)=((x)&15) + ((x)>>4)*10)
80
#endif
81
 
82
#ifndef BIN_TO_BCD
83
#define BIN_TO_BCD(x)   ((x)=(((x)/10)<<4) + (x)%10)
84
#endif
85
 
86
#endif

powered by: WebSVN 2.1.0

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