source: branches/minix3-book/include/ibm/cmos.h@ 9

Last change on this file since 9 was 4, checked in by Mattia Monga, 14 years ago

Importazione sorgenti libro

File size: 2.8 KB
RevLine 
[4]1/*
2ibm/cmos.h
3
4Created: Dec 1998 by Philip Homburg <philip@cs.vu.nl>
5
6Definitions for the CMOS/realtime clock. Based on the datasheet for the
7Dallas DS12887, compatible with the Motorola MC146818
8*/
9
10#define RTC_INDEX 0x70 /* Bit 7 = NMI enable (1) / disable (0)
11 * bits 0..6 index
12 */
13#define RTC_IO 0x71 /* Data register,
14 * Note: the operation following a write to
15 * RTC_INDEX should an access (read or write)
16 * to RTC_IO
17 */
18
19#define RTC_SEC 0x0 /* Seconds register */
20#define RTC_SEC_ALRM 0x1 /* Seconds register for alarm */
21#define RTC_MIN 0x2 /* Minutes register */
22#define RTC_MIN_ALRM 0x3 /* Minutes register for alarm */
23#define RTC_HOUR 0x4 /* Hours register */
24#define RTC_HOUR_ALRM 0x5 /* Hours register for alarm */
25#define RTC_WDAY 0x6 /* Day of the week, 1..7, Sunday = 1 */
26#define RTC_MDAY 0x7 /* Day of the month, 1..31 */
27#define RTC_MONTH 0x8 /* Month, 1..12 */
28#define RTC_YEAR 0x9 /* Year, 0..99 */
29#define RTC_REG_A 0xA
30#define RTC_A_UIP 0x80 /* Update in progress. When clear,
31 * no update will occur for 244
32 * micro seconds.
33 */
34#define RTC_A_DV 0x70 /* Divider bits, valid values are: */
35#define RTC_A_DV_OK 0x20 /* Normal */
36#define RTC_A_DV_STOP 0x70 /* Stop, a re-start starts
37 * halfway through a cycle,
38 * i.e. the update occurs after
39 * 500ms.
40 */
41#define RTC_A_RS 0x0F /* Int. freq */
42 /* 0 None
43 * 1 256 Hz
44 * 2 128 Hz
45 * 3 8192 Hz
46 * 4 4096 Hz
47 * 5 2048 Hz
48 * 6 1024 Hz
49 * 7 512 Hz
50 * 8 256 Hz
51 * 9 128 Hz
52 * 10 64 Hz
53 * 11 32 Hz
54 * 12 16 Hz
55 * 13 8 Hz
56 * 14 4 Hz
57 * 15 2 Hz
58 */
59#define RTC_A_RS_DEF 6 /* Default freq. */
60#define RTC_REG_B 0xB
61#define RTC_B_SET 0x80 /* Inhibit updates */
62#define RTC_B_PIE 0x40 /* Enable periodic interrupts */
63#define RTC_B_AIE 0x20 /* Enable alarm interrupts */
64#define RTC_B_UIE 0x10 /* Enable update ended interrupts */
65#define RTC_B_SQWE 0x08 /* Enable square wave output */
66#define RTC_B_DM_BCD 0x04 /* Data is in BCD (otherwise binary) */
67#define RTC_B_24 0x02 /* Count hours in 24-hour mode */
68#define RTC_B_DSE 0x01 /* Automatic (wrong) daylight savings
69 * updates
70 */
71#define RTC_REG_C 0xC
72
73/* Contents of the general purpose CMOS RAM (source IBM reference manual) */
74#define CMOS_STATUS 0xE
75#define CS_LOST_POWER 0x80 /* Chip lost power */
76#define CS_BAD_CHKSUM 0x40 /* Checksum is incorrect */
77#define CS_BAD_CONFIG 0x20 /* Bad configuration info */
78#define CS_BAD_MEMSIZE 0x10 /* Wrong memory size of CMOS */
79#define CS_BAD_HD 0x08 /* Harddisk failed */
80#define CS_BAD_TIME 0x04 /* CMOS time is invalid */
81 /* bits 0 and 1 are reserved */
82
83/*
84 * $PchId: cmos.h,v 1.1 1998/12/16 09:14:21 philip Exp $
85 */
Note: See TracBrowser for help on using the repository browser.