|
|
1.1 root 1: /*
2: * Copyright (c) 1993 NeXT Computer, Inc.
3: *
4: * WD83C584 Bus Interface Chip.
5: *
6: * HISTORY
7: *
8: * 26 Jan 1993
9: * Created.
10: */
11:
12: /*
13: * Memory select register.
14: */
15:
16: #define BIC_MSR_OFF 0x00
17:
18: typedef struct {
19: unsigned char madr :6,
20: menb :1,
21: rst :1;
22: } bic_msr_t;
23:
24: /*
25: * Interface configuration register.
26: */
27:
28: #define BIC_ICR_OFF 0x01
29:
30: typedef struct {
31: unsigned char bus16 :1,
32: ora :1,
33: #define BIC_ACCESS_BIO 0
34: #define BIC_ACCESS_EAR 1
35: ir2 :1,
36: #define ICR_IR2_9 0x00
37: #define ICR_IR2_3 0x00
38: #define ICR_IR2_5 0x00
39: #define ICR_IR2_7 0x00
40: #define ICR_IR2_10 0x01
41: #define ICR_IR2_11 0x01
42: #define ICR_IR2_15 0x01
43: #define ICR_IR2_4 0x01
44: msz :1,
45: rla :1,
46: rx7 :1,
47: rio :1,
48: sto :1;
49: } bic_icr_t;
50:
51: /*
52: * IO Address register.
53: */
54:
55: #define BIC_IAR_OFF 0x02
56:
57: typedef struct {
58: unsigned char adrlo :5,
59: adrhi :3;
60: } bic_iar_t;
61:
62: /*
63: * BIOS ROM Address register.
64: */
65:
66: #define BIC_BIO_OFF 0x03
67:
68: typedef struct {
69: unsigned char swint :1,
70: bioadr :5,
71: biosz :2;
72: #define BIC_NO_BIOS 0x00
73: #define BIC_BIOS_16K 0x01
74: #define BIC_BIOS_32K 0x02
75: #define BIC_BIOS_64K 0x03
76: } bic_bio_t;
77:
78: /*
79: * EEROM Address register.
80: */
81:
82: #define BIC_EAR_OFF 0x03
83:
84: typedef struct {
85: unsigned char rpg :2,
86: rpe :1,
87: ram :1,
88: eeadr :4;
89: } bic_ear_t;
90:
91: /*
92: * Interrupt request register.
93: */
94:
95: #define BIC_IRR_OFF 0x04
96:
97: typedef struct {
98: unsigned char zws8 :1,
99: out :3,
100: flsh :1,
101: irx :2,
102: #define BIC_IRX_9 0x00
103: #define BIC_IRX_3 0x01
104: #define BIC_IRX_5 0x02
105: #define BIC_IRX_7 0x03
106: #define BIC_IRX_10 0x00
107: #define BIC_IRX_11 0x01
108: #define BIC_IRX_15 0x02
109: #define BIC_IRX_4 0x03
110: ien :1;
111: } bic_irr_t;
112:
113: /*
114: * LA Address register.
115: */
116:
117: #define BIC_LAAR_OFF 0x05
118:
119: typedef struct {
120: unsigned char ladr :5,
121: zws16 :1,
122: l16en :1,
123: m16en :1;
124: } bic_laar_t;
125:
126: /*
127: * Initialize Jumper register.
128: */
129:
130: #define BIC_JMP_OFF 0x06
131:
132: typedef struct {
133: unsigned char init0 :1,
134: init1 :1,
135: init2 :1,
136: :2,
137: in1 :1,
138: in2 :1,
139: :1;
140: } bic_jmp_t;
141:
142: /*
143: * General Purpose register 2.
144: */
145:
146: #define BIC_GP2_OFF 0x07
147:
148: /*
149: * LAN Address register.
150: */
151:
152: #define BIC_LAR_OFF 0x08
153: #define BIC_ID_OFF 0x0e
154: #define BIC_LAR_CKSUM_OFF 0x0f
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.