home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2J (Developer) / os42jdev.iso / NextDeveloper / Examples / DriverKit / SMC16 / SMC16_reloc.tproj / wd83C584.h < prev    next >
Text File  |  1997-04-25  |  2KB  |  156 lines

  1. /*
  2.  * Copyright (c) 1993-1996 NeXT Software, 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
  155.  
  156.