pciClass.h
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:8k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* pciClass.h - PCI Standard Classifications definition header */
  2. /* Copyright 1984-1999 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01a,18aug99,mas  created from merge of PCI class info from dmsLib.h/01b and
  7.  pciConfigLib.h/02b.
  8. */
  9. #ifndef __INCpciClassh
  10. #define __INCpciClassh
  11. #ifdef __cplusplus
  12. extern "C" {
  13. #endif
  14. /*
  15.  * PCI classifications are composed from the concatenation of four byte-size
  16.  * components: primary (base) class, sub-class, register interface, and
  17.  * revision ID.  The following comprise the standard PCI classification
  18.  * definitions.
  19.  */
  20. /*
  21.  * PCI Primary (Base) Class definitions for find by class function
  22.  * Classes 0x12 - 0xFE are reserved for future enhancements
  23.  */
  24. #define PCI_CLASS_PRE_PCI20 0x00
  25. #define PCI_CLASS_MASS_STORAGE 0x01
  26. #define PCI_CLASS_NETWORK_CTLR 0x02
  27. #define PCI_CLASS_DISPLAY_CTLR 0x03
  28. #define PCI_CLASS_MMEDIA_DEVICE 0x04
  29. #define PCI_CLASS_MEM_CTLR 0x05
  30. #define PCI_CLASS_BRIDGE_CTLR 0x06
  31. #define PCI_CLASS_COMM_CTLR 0x07
  32. #define PCI_CLASS_BASE_PERIPH 0x08
  33. #define PCI_CLASS_INPUT_DEVICE 0x09
  34. #define PCI_CLASS_DOCK_DEVICE 0x0A
  35. #define PCI_CLASS_PROCESSOR 0x0B
  36. #define PCI_CLASS_SERIAL_BUS 0x0C
  37. #define PCI_CLASS_WIRELESS 0x0D
  38. #define PCI_CLASS_INTLGNT_IO 0x0E
  39. #define PCI_CLASS_SAT_COMM 0x0F
  40. #define PCI_CLASS_EN_DECRYPTION 0x10
  41. #define PCI_CLASS_DAQ_DSP 0x11
  42. #define PCI_CLASS_UNDEFINED 0xFF
  43. /* PCI Subclass definitions */
  44. #define PCI_SUBCLASS_00         0x00
  45. #define PCI_SUBCLASS_01         0x01
  46. #define PCI_SUBCLASS_02         0x02
  47. #define PCI_SUBCLASS_03         0x03
  48. #define PCI_SUBCLASS_04         0x04
  49. #define PCI_SUBCLASS_05         0x05
  50. #define PCI_SUBCLASS_06         0x06
  51. #define PCI_SUBCLASS_07         0x07
  52. #define PCI_SUBCLASS_08         0x08
  53. #define PCI_SUBCLASS_10         0x10
  54. #define PCI_SUBCLASS_20         0x20
  55. #define PCI_SUBCLASS_40         0x40
  56. #define PCI_SUBCLASS_80         0x80
  57. /* Mass Storage subclasses - Base Class 01 */
  58. #define PCI_SUBCLASS_MASS_SCSI (PCI_SUBCLASS_00)
  59. #define PCI_SUBCLASS_MASS_IDE (PCI_SUBCLASS_01)
  60. #define PCI_SUBCLASS_MASS_FLOPPY (PCI_SUBCLASS_02)
  61. #define PCI_SUBCLASS_MASS_IPI (PCI_SUBCLASS_03)
  62. #define PCI_SUBCLASS_MASS_RAID (PCI_SUBCLASS_04)
  63. #define PCI_SUBCLASS_MASS_OTHER (PCI_SUBCLASS_80)
  64. /* Network subclasses - Base Class 02 */
  65. #define PCI_SUBCLASS_NET_ETHERNET (PCI_SUBCLASS_00)
  66. #define PCI_SUBCLASS_NET_TOKEN_RING (PCI_SUBCLASS_01)
  67. #define PCI_SUBCLASS_NET_FDDI (PCI_SUBCLASS_02)
  68. #define PCI_SUBCLASS_NET_ATM (PCI_SUBCLASS_03)
  69. #define PCI_SUBCLASS_NET_OTHER (PCI_SUBCLASS_80)
  70. /* Display subclasses - Base Class 03 */
  71. #define PCI_SUBCLASS_DISPLAY_VGA (PCI_SUBCLASS_00)
  72. #  define PCI_REG_IF_VGA_STD   0x00
  73. #  define PCI_REG_IF_VGA_8514   0x01
  74. #define PCI_SUBCLASS_DISPLAY_XGA (PCI_SUBCLASS_01)
  75. #define PCI_SUBCLASS_DISPLAY_3D (PCI_SUBCLASS_02)
  76. #define PCI_SUBCLASS_DISPLAY_OTHER (PCI_SUBCLASS_80)
  77. /* Multimedia subclasses  - Base Class 04 */
  78. #define PCI_SUBCLASS_MMEDIA_VIDEO (PCI_SUBCLASS_00)
  79. #define PCI_SUBCLASS_MMEDIA_AUDIO (PCI_SUBCLASS_01)
  80. #define PCI_SUBCLASS_MMEDIA_OTHER (PCI_SUBCLASS_80)
  81. /* Memory subclasses - Base Class 05 */
  82. #define PCI_SUBCLASS_MEM_RAM 0x00
  83. #define PCI_SUBCLASS_MEM_FLASH 0x01
  84. #define PCI_SUBCLASS_MEM_OTHER 0x80
  85. /* Bus Bridge Device subclasses - Base Class 06 */
  86. #define PCI_SUBCLASS_HOST_PCI_BRIDGE (PCI_SUBCLASS_00)
  87. #define PCI_SUBCLASS_ISA_BRIDGE (PCI_SUBCLASS_01)
  88. #define PCI_SUBCLASS_P2P_BRIDGE (PCI_SUBCLASS_04)
  89. #define PCI_SUBCLASS_PCMCIA_BRIDGE (PCI_SUBCLASS_05)
  90. #define PCI_SUBCLASS_CARDBUS_BRIDGE (PCI_SUBCLASS_07)
  91. #define PCI_SUBCLASS_BRDG_HOST (PCI_SUBCLASS_00)
  92. #define PCI_SUBCLASS_BRDG_ISA (PCI_SUBCLASS_01)
  93. #define PCI_SUBCLASS_BRDG_EISA (PCI_SUBCLASS_02)
  94. #define PCI_SUBCLASS_BRDG_MCA (PCI_SUBCLASS_03)
  95. #define PCI_SUBCLASS_BRDG_P2P (PCI_SUBCLASS_04)
  96. #  define PCI_REG_IF_P2P_STD   0x00
  97. #  define PCI_REG_IF_P2P_SUB_DECODE   0x01
  98. #define PCI_SUBCLASS_BRDG_PCMCIA (PCI_SUBCLASS_05)
  99. #define PCI_SUBCLASS_BRDG_NUBUS (PCI_SUBCLASS_06)
  100. #define PCI_SUBCLASS_BRDG_CARDBUS (PCI_SUBCLASS_07)
  101. #define PCI_SUBCLASS_BRDG_RACEWAY (PCI_SUBCLASS_08)
  102. #  define PCI_REG_IF_RACEWAY_XPARENT   0x00
  103. #  define PCI_REG_IF_RACEWAY_END_PNT   0x01
  104. #define PCI_SUBCLASS_BRDG_OTHER (PCI_SUBCLASS_80)
  105. /* Simple Communications Controller subclasses - Base Class 07 */
  106. #define PCI_SUBCLASS_SCC_SERIAL (PCI_SUBCLASS_00)
  107. #  define PCI_REG_IF_SERIAL_XT   0x00
  108. #  define PCI_REG_IF_SERIAL_16450   0x01
  109. #  define PCI_REG_IF_SERIAL_16550   0x02
  110. #define PCI_SUBCLASS_SCC_PARLEL (PCI_SUBCLASS_01)
  111. #  define PCI_REG_IF_PARLEL_XT   0x00
  112. #  define PCI_REG_IF_PARLEL_BIDIR   0x01
  113. #  define PCI_REG_IF_PARLEL_ECP   0x02
  114. #define PCI_SUBCLASS_SCC_MULTI (PCI_SUBCLASS_02)
  115. #define PCI_SUBCLASS_SCC_OTHER (PCI_SUBCLASS_80)
  116. /* Base System subclasses - Base Class 08 */
  117. #define PCI_SUBCLASS_BASESYS_PIC (PCI_SUBCLASS_00)
  118. #  define PCI_REG_IF_PIC_GEN8259   0x00
  119. #  define PCI_REG_IF_PIC_ISA   0x01
  120. #  define PCI_REG_IF_PIC_EISA   0x02
  121. #  define PCI_REG_IF_PIC_APIC   0x10
  122. #define PCI_SUBCLASS_BASESYS_DMA (PCI_SUBCLASS_01)
  123. #  define PCI_REG_IF_DMA_GEN8237   0x00
  124. #  define PCI_REG_IF_DMA_ISA   0x01
  125. #  define PCI_REG_IF_DMA_EISA   0x02
  126. #define PCI_SUBCLASS_BASESYS_TIMER (PCI_SUBCLASS_02)
  127. #  define PCI_REG_IF_TIMER_GEN8254   0x00
  128. #  define PCI_REG_IF_TIMER_ISA   0x01
  129. #  define PCI_REG_IF_TIMER_EISA   0x02
  130. #define PCI_SUBCLASS_BASESYS_RTC (PCI_SUBCLASS_03)
  131. #  define PCI_REG_IF_RTC_GENERIC   0x00
  132. #  define PCI_REG_IF_RTC_ISA   0x01
  133. #define PCI_SUBCLASS_BASESYS_HOTPLUG (PCI_SUBCLASS_04)
  134. #define PCI_SUBCLASS_BASESYS_OTHER (PCI_SUBCLASS_80)
  135. /* Input Device subclasses - Base Class 09 */
  136. #define PCI_SUBCLASS_INPUT_KEYBD (PCI_SUBCLASS_00)
  137. #define PCI_SUBCLASS_INPUT_PEN (PCI_SUBCLASS_01)
  138. #define PCI_SUBCLASS_INPUT_MOUSE (PCI_SUBCLASS_02)
  139. #define PCI_SUBCLASS_INPUT_SCANR (PCI_SUBCLASS_03)
  140. #define PCI_SUBCLASS_INPUT_GAMEPORT (PCI_SUBCLASS_04)
  141. #  define PCI_REG_IF_GAMEPORT_GENERIC   0x00
  142. #  define PCI_REG_IF_GAMEPORT_LEGACY   0x10
  143. #define PCI_SUBCLASS_INPUT_OTHER (PCI_SUBCLASS_80)
  144. /* Docking Station subclasses - Base Class 0A */
  145. #define PCI_SUBCLASS_DOCSTATN_GENERIC (PCI_SUBCLASS_00)
  146. #define PCI_SUBCLASS_DOCSTATN_OTHER (PCI_SUBCLASS_80)
  147. /* Processor subclasses - Base Class 0B */
  148. #define PCI_SUBCLASS_PROCESSOR_386 (PCI_SUBCLASS_00)
  149. #define PCI_SUBCLASS_PROCESSOR_486 (PCI_SUBCLASS_01)
  150. #define PCI_SUBCLASS_PROCESSOR_PENTIUM (PCI_SUBCLASS_02)
  151. #define PCI_SUBCLASS_PROCESSOR_ALPHA (PCI_SUBCLASS_10)
  152. #define PCI_SUBCLASS_PROCESSOR_POWERPC (PCI_SUBCLASS_20)
  153. #define PCI_SUBCLASS_PROCESSOR_COPROC (PCI_SUBCLASS_40)
  154. /* Serial bus subclasses - Base Class 0C */
  155. #define PCI_SUBCLASS_SERBUS_FIREWIRE (PCI_SUBCLASS_00)
  156. #define PCI_SUBCLASS_SERBUS_ACCESS (PCI_SUBCLASS_01)
  157. #define PCI_SUBCLASS_SERBUS_SSA (PCI_SUBCLASS_02)
  158. #define PCI_SUBCLASS_SERBUS_USB (PCI_SUBCLASS_03)
  159. #  define PCI_REG_IF_USB_UHCI   0x00
  160. #  define PCI_REG_IF_USB_OHCI   0x10
  161. #define PCI_SUBCLASS_SERBUS_FIBRE_CHAN (PCI_SUBCLASS_04)
  162. #define PCI_SUBCLASS_SERBUS_SMBUS (PCI_SUBCLASS_05)
  163. /* Wireless subclasses - Base Class 0D */
  164. #define PCI_SUBCLASS_WIRELESS_IRDA (PCI_SUBCLASS_00)
  165. #define PCI_SUBCLASS_WIRELESS_OTHER_IR (PCI_SUBCLASS_01)
  166. #define PCI_SUBCLASS_WIRELESS_RF (PCI_SUBCLASS_10)
  167. #define PCI_SUBCLASS_WIRELESS_OTHER (PCI_SUBCLASS_80)
  168. /*
  169.  * Intelligent I/O subclasses - Base Class 0E
  170.  * REG_IF values greater than 0x00 are reserved for I2O
  171.  */
  172. #define PCI_SUBCLASS_INTELIO (PCI_SUBCLASS_00)
  173. #  define PCI_REG_IF_INTELIO_MSG_FIFO   0x00
  174. /* Satellite Device Communication subclasses - Base Class 0F */
  175. #define PCI_SUBCLASS_SATCOM_TV (PCI_SUBCLASS_00)
  176. #define PCI_SUBCLASS_SATCOM_AUDIO (PCI_SUBCLASS_01)
  177. #define PCI_SUBCLASS_SATCOM_VOICE (PCI_SUBCLASS_03)
  178. #define PCI_SUBCLASS_SATCOM_DATA (PCI_SUBCLASS_04)
  179. /* Encryption/Decryption subclasses - Base Class 10 */
  180. #define PCI_SUBCLASS_EN_DECRYP_NETWORK (PCI_SUBCLASS_00)
  181. #define PCI_SUBCLASS_EN_DECRYP_ENTRTMNT (PCI_SUBCLASS_01)
  182. #define PCI_SUBCLASS_EN_DECRYP_OTHER (PCI_SUBCLASS_80)
  183. /* Data Acquisition and Signal Processing subclasses - Base Class 11 */
  184. #define PCI_SUBCLASS_DAQ_DSP_DPIO (PCI_SUBCLASS_00)
  185. #define PCI_SUBCLASS_DAQ_DSP_OTHER (PCI_SUBCLASS_80)
  186. #ifdef __cplusplus
  187. }
  188. #endif
  189. #endif  /* __INCpciClassh */