Commit | Line | Data |
---|---|---|
08be3b19 | 1 | /*- |
d4a75cc0 | 2 | * Copyright (c) 1991 The Regents of the University of California. |
08be3b19 WN |
3 | * All rights reserved. |
4 | * | |
5 | * This code is derived from software contributed to Berkeley by | |
6 | * William Jolitz. | |
7 | * | |
d4a75cc0 | 8 | * %sccs.include.redist.c% |
08be3b19 | 9 | * |
d4a75cc0 | 10 | * @(#)wdreg.h 7.1 (Berkeley) %G% |
08be3b19 WN |
11 | */ |
12 | ||
08be3b19 WN |
13 | /* |
14 | * Disk Controller register definitions. | |
15 | */ | |
16 | #define wd_data 0x0 /* data register (R/W - 16 bits) */ | |
17 | #define wd_error 0x1 /* error register (R) */ | |
18 | #define wd_precomp wd_error /* write precompensation (W) */ | |
19 | #define wd_seccnt 0x2 /* sector count (R/W) */ | |
20 | #define wd_sector 0x3 /* first sector number (R/W) */ | |
21 | #define wd_cyl_lo 0x4 /* cylinder address, low byte (R/W) */ | |
22 | #define wd_cyl_hi 0x5 /* cylinder address, high byte (R/W)*/ | |
23 | #define wd_sdh 0x6 /* sector size/drive/head (R/W)*/ | |
24 | #define wd_command 0x7 /* command register (W) */ | |
25 | #define wd_status wd_command /* immediate status (R) */ | |
26 | ||
27 | #define wd_altsts 0x206 /*alternate fixed disk status(via 1015) (R)*/ | |
28 | #define wd_ctlr 0x206 /*fixed disk controller control(via 1015) (W)*/ | |
29 | #define wd_digin 0x207 /* disk controller input(via 1015) (R)*/ | |
30 | ||
31 | /* | |
32 | * Status Bits. | |
33 | */ | |
34 | #define WDCS_BUSY 0x80 /* Controller busy bit. */ | |
35 | #define WDCS_READY 0x40 /* Selected drive is ready */ | |
36 | #define WDCS_WRTFLT 0x20 /* Write fault */ | |
37 | #define WDCS_SEEKCMPLT 0x10 /* Seek complete */ | |
38 | #define WDCS_DRQ 0x08 /* Data request bit. */ | |
39 | #define WDCS_ECCCOR 0x04 /* ECC correction made in data */ | |
40 | #define WDCS_INDEX 0x02 /* Index pulse from selected drive */ | |
41 | #define WDCS_ERR 0x01 /* Error detect bit. */ | |
42 | ||
43 | #define WDCS_BITS "\020\010busy\006rdy\006wrtflt\005seekdone\004drq\003ecc_cor\002index\001err" | |
44 | ||
45 | #define WDERR_BITS "\020\010badblk\007uncorr\006id_crc\005no_id\003abort\002tr000\001no_dam" | |
46 | ||
47 | /* | |
48 | * Commands for Disk Controller. | |
49 | */ | |
50 | #define WDCC_READ 0x20 /* disk read code */ | |
51 | #define WDCC_WRITE 0x30 /* disk write code */ | |
52 | #define WDCC_RESTORE 0x10 /* disk restore code -- resets cntlr */ | |
53 | #define WDCC_FORMAT 0x50 /* disk format code */ | |
54 | ||
55 | #define WD_STEP 0 /* winchester- default 35us step */ | |
56 | ||
57 | #define WDSD_IBM 0xa0 /* forced to 512 byte sector, ecc */ | |
58 |