Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

143 lines
4.6 KiB

  1. /*++
  2. Module Name:
  3. cardbus.h
  4. Abstract:
  5. This header contains generic cardbus definitions.
  6. Author(s):
  7. Neil Sandlin (neilsa)
  8. Revisions:
  9. --*/
  10. #ifndef _CARDBUS_
  11. #define _CARDBUS_
  12. //
  13. // Cardbus register definitions
  14. //
  15. typedef struct _CARDBUS_SOCKET_REGS {
  16. ULONG Event;
  17. ULONG Mask;
  18. ULONG PresentState;
  19. ULONG ForceEvent;
  20. ULONG Control;
  21. } CARDBUS_SOCKET_REGS, *PCARDBUS_SOCKET_REGS;
  22. //
  23. // Socket Event Register bits
  24. //
  25. #define SKTEVENT_CSTSCHG 0x00000001L
  26. #define SKTEVENT_CCD1 0x00000002L
  27. #define SKTEVENT_CCD2 0x00000004L
  28. #define SKTEVENT_CCD_MASK (SKTEVENT_CCD1 | SKTEVENT_CCD2)
  29. #define SKTEVENT_POWERCYCLE 0x00000008L
  30. #define SKTEVENT_MASK 0x0000000fL
  31. //
  32. // Socket Mask Register bits
  33. //
  34. #define SKTMSK_CSTSCHG 0x00000001L
  35. #define SKTMSK_CCD 0x00000006L
  36. #define SKTMSK_CCD1 0x00000002L
  37. #define SKTMSK_CCD2 0x00000004L
  38. #define SKTMSK_POWERCYCLE 0x00000008L
  39. //
  40. // Socket Present State Register bits
  41. //
  42. #define SKTSTATE_CSTSCHG 0x00000001L
  43. #define SKTSTATE_CCD1 0x00000002L
  44. #define SKTSTATE_CCD2 0x00000004L
  45. #define SKTSTATE_CCD_MASK (SKTSTATE_CCD1 | SKTSTATE_CCD2)
  46. #define SKTSTATE_POWERCYCLE 0x00000008L
  47. #define SKTSTATE_CARDTYPE_MASK 0x00000030L
  48. #define SKTSTATE_R2CARD 0x00000010L
  49. #define SKTSTATE_CBCARD 0x00000020L
  50. #define SKTSTATE_OPTI_DOCK 0x00000030L
  51. #define CARDTYPE(dw) ((dw) & SKTSTATE_CARDTYPE_MASK)
  52. #define SKTSTATE_CARDINT 0x00000040L
  53. #define SKTSTATE_NOTACARD 0x00000080L
  54. #define SKTSTATE_DATALOST 0x00000100L
  55. #define SKTSTATE_BADVCCREQ 0x00000200L
  56. #define SKTSTATE_5VCARD 0x00000400L
  57. #define SKTSTATE_3VCARD 0x00000800L
  58. #define SKTSTATE_XVCARD 0x00001000L
  59. #define SKTSTATE_YVCARD 0x00002000L
  60. #define SKTSTATE_CARDVCC_MASK (SKTSTATE_5VCARD | SKTSTATE_3VCARD | \
  61. SKTSTATE_XVCARD | SKTSTATE_YVCARD)
  62. #define SKTSTATE_5VSOCKET 0x10000000L
  63. #define SKTSTATE_3VSOCKET 0x20000000L
  64. #define SKTSTATE_XVSOCKET 0x40000000L
  65. #define SKTSTATE_YVSOCKET 0x80000000L
  66. #define SKTSTATE_SKTVCC_MASK (SKTSTATE_5VSOCKET | \
  67. SKTSTATE_3VSOCKET | \
  68. SKTSTATE_XVSOCKET | \
  69. SKTSTATE_YVSOCKET)
  70. //
  71. //Socket Froce Register bits
  72. //
  73. #define SKTFORCE_CSTSCHG 0x00000001L
  74. #define SKTFORCE_CCD1 0x00000002L
  75. #define SKTFORCE_CCD2 0x00000004L
  76. #define SKTFORCE_POWERCYCLE 0x00000008L
  77. #define SKTFORCE_R2CARD 0x00000010L
  78. #define SKTFORCE_CBCARD 0x00000020L
  79. #define SKTFORCE_NOTACARD 0x00000080L
  80. #define SKTFORCE_DATALOST 0x00000100L
  81. #define SKTFORCE_BADVCCREQ 0x00000200L
  82. #define SKTFORCE_5VCARD 0x00000400L
  83. #define SKTFORCE_3VCARD 0x00000800L
  84. #define SKTFORCE_XVCARD 0x00001000L
  85. #define SKTFORCE_YVCARD 0x00002000L
  86. #define SKTFORCE_CVSTEST 0x00004000L
  87. #define SKTFORCE_5VSOCKET 0x10000000L
  88. #define SKTFORCE_3VSOCKET 0x20000000L
  89. #define SKTFORCE_XVSOCKET 0x40000000L
  90. #define SKTFORCE_YVSOCKET 0x80000000L
  91. //
  92. // Power Control Register bits
  93. //
  94. #define SKTPOWER_VPP_CONTROL 0x00000007L
  95. #define SKTPOWER_VPP_OFF 0x00000000L
  96. #define SKTPOWER_VPP_120V 0x00000001L
  97. #define SKTPOWER_VPP_050V 0x00000002L
  98. #define SKTPOWER_VPP_033V 0x00000003L
  99. #define SKTPOWER_VPP_0XXV 0x00000004L
  100. #define SKTPOWER_VPP_0YYV 0x00000005L
  101. #define SKTPOWER_VCC_CONTROL 0x00000070L
  102. #define SKTPOWER_VCC_OFF 0x00000000L
  103. #define SKTPOWER_VCC_050V 0x00000020L
  104. #define SKTPOWER_VCC_033V 0x00000030L
  105. #define SKTPOWER_VCC_0XXV 0x00000040L
  106. #define SKTPOWER_VCC_0YYV 0x00000050L
  107. #define SKTPOWER_STOPCLOCK 0x00000080L
  108. //
  109. // Misc. CardBus Constants
  110. //
  111. #define EXCAREG_OFFSET 0x0800
  112. //
  113. // PCI config space constants
  114. //
  115. #define CARDBUS_LEGACY_MODE_BASE_ADDR 0x44
  116. #define CARDBUS_BRIDGE_CONTROL_RESET 0x40
  117. #endif // _CARDBUS_