|
|
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.