i810_regs.h 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276
  1. /*-*- linux-c -*-
  2. * linux/drivers/video/i810_regs.h -- Intel 810/815 Register List
  3. *
  4. * Copyright (C) 2001 Antonino Daplas<adaplas@pol.net>
  5. * All Rights Reserved
  6. *
  7. *
  8. * This file is subject to the terms and conditions of the GNU General Public
  9. * License. See the file COPYING in the main directory of this archive for
  10. * more details.
  11. */
  12. /*
  13. * Intel 810 Chipset Family PRM 15 3.1
  14. * GC Register Memory Address Map
  15. *
  16. * Based on:
  17. * Intel (R) 810 Chipset Family
  18. * Programmer s Reference Manual
  19. * November 1999
  20. * Revision 1.0
  21. * Order Number: 298026-001 R
  22. *
  23. * All GC registers are memory-mapped. In addition, the VGA and extended VGA registers
  24. * are I/O mapped.
  25. */
  26. #ifndef __I810_REGS_H__
  27. #define __I810_REGS_H__
  28. /* Instruction and Interrupt Control Registers (01000h 02FFFh) */
  29. #define FENCE 0x02000
  30. #define PGTBL_CTL 0x02020
  31. #define PGTBL_ER 0x02024
  32. #define LRING 0x02030
  33. #define IRING 0x02040
  34. #define HWS_PGA 0x02080
  35. #define IPEIR 0x02088
  36. #define IPEHR 0x0208C
  37. #define INSTDONE 0x02090
  38. #define NOPID 0x02094
  39. #define HWSTAM 0x02098
  40. #define IER 0x020A0
  41. #define IIR 0x020A4
  42. #define IMR 0x020A8
  43. #define ISR 0x020AC
  44. #define EIR 0x020B0
  45. #define EMR 0x020B4
  46. #define ESR 0x020B8
  47. #define INSTPM 0x020C0
  48. #define INSTPS 0x020C4
  49. #define BBP_PTR 0x020C8
  50. #define ABB_SRT 0x020CC
  51. #define ABB_END 0x020D0
  52. #define DMA_FADD 0x020D4
  53. #define FW_BLC 0x020D8
  54. #define MEM_MODE 0x020DC
  55. /* Memory Control Registers (03000h 03FFFh) */
  56. #define DRT 0x03000
  57. #define DRAMCL 0x03001
  58. #define DRAMCH 0x03002
  59. /* Span Cursor Registers (04000h 04FFFh) */
  60. #define UI_SC_CTL 0x04008
  61. /* I/O Control Registers (05000h 05FFFh) */
  62. #define HVSYNC 0x05000
  63. #define GPIOA 0x05010
  64. #define GPIOB 0x05014
  65. #define GPIOC 0x0501C
  66. /* Clock Control and Power Management Registers (06000h 06FFFh) */
  67. #define DCLK_0D 0x06000
  68. #define DCLK_1D 0x06004
  69. #define DCLK_2D 0x06008
  70. #define LCD_CLKD 0x0600C
  71. #define DCLK_0DS 0x06010
  72. #define PWR_CLKC 0x06014
  73. /* Graphics Translation Table Range Definition (10000h 1FFFFh) */
  74. #define GTT 0x10000
  75. /* Overlay Registers (30000h 03FFFFh) */
  76. #define OVOADDR 0x30000
  77. #define DOVOSTA 0x30008
  78. #define GAMMA 0x30010
  79. #define OBUF_0Y 0x30100
  80. #define OBUF_1Y 0x30104
  81. #define OBUF_0U 0x30108
  82. #define OBUF_0V 0x3010C
  83. #define OBUF_1U 0x30110
  84. #define OBUF_1V 0x30114
  85. #define OVOSTRIDE 0x30118
  86. #define YRGB_VPH 0x3011C
  87. #define UV_VPH 0x30120
  88. #define HORZ_PH 0x30124
  89. #define INIT_PH 0x30128
  90. #define DWINPOS 0x3012C
  91. #define DWINSZ 0x30130
  92. #define SWID 0x30134
  93. #define SWIDQW 0x30138
  94. #define SHEIGHT 0x3013F
  95. #define YRGBSCALE 0x30140
  96. #define UVSCALE 0x30144
  97. #define OVOCLRCO 0x30148
  98. #define OVOCLRC1 0x3014C
  99. #define DCLRKV 0x30150
  100. #define DLCRKM 0x30154
  101. #define SCLRKVH 0x30158
  102. #define SCLRKVL 0x3015C
  103. #define SCLRKM 0x30160
  104. #define OVOCONF 0x30164
  105. #define OVOCMD 0x30168
  106. #define AWINPOS 0x30170
  107. #define AWINZ 0x30174
  108. /* BLT Engine Status (40000h 4FFFFh) (Software Debug) */
  109. #define BR00 0x40000
  110. #define BRO1 0x40004
  111. #define BR02 0x40008
  112. #define BR03 0x4000C
  113. #define BR04 0x40010
  114. #define BR05 0x40014
  115. #define BR06 0x40018
  116. #define BR07 0x4001C
  117. #define BR08 0x40020
  118. #define BR09 0x40024
  119. #define BR10 0x40028
  120. #define BR11 0x4002C
  121. #define BR12 0x40030
  122. #define BR13 0x40034
  123. #define BR14 0x40038
  124. #define BR15 0x4003C
  125. #define BR16 0x40040
  126. #define BR17 0x40044
  127. #define BR18 0x40048
  128. #define BR19 0x4004C
  129. #define SSLADD 0x40074
  130. #define DSLH 0x40078
  131. #define DSLRADD 0x4007C
  132. /* LCD/TV-Out and HW DVD Registers (60000h 6FFFFh) */
  133. /* LCD/TV-Out */
  134. #define HTOTAL 0x60000
  135. #define HBLANK 0x60004
  136. #define HSYNC 0x60008
  137. #define VTOTAL 0x6000C
  138. #define VBLANK 0x60010
  139. #define VSYNC 0x60014
  140. #define LCDTV_C 0x60018
  141. #define OVRACT 0x6001C
  142. #define BCLRPAT 0x60020
  143. /* Display and Cursor Control Registers (70000h 7FFFFh) */
  144. #define DISP_SL 0x70000
  145. #define DISP_SLC 0x70004
  146. #define PIXCONF 0x70008
  147. #define PIXCONF1 0x70009
  148. #define BLTCNTL 0x7000C
  149. #define SWF 0x70014
  150. #define DPLYBASE 0x70020
  151. #define DPLYSTAS 0x70024
  152. #define CURCNTR 0x70080
  153. #define CURBASE 0x70084
  154. #define CURPOS 0x70088
  155. /* VGA Registers */
  156. /* SMRAM Registers */
  157. #define SMRAM 0x10
  158. /* Graphics Control Registers */
  159. #define GR_INDEX 0x3CE
  160. #define GR_DATA 0x3CF
  161. #define GR10 0x10
  162. #define GR11 0x11
  163. /* CRT Controller Registers */
  164. #define CR_INDEX_MDA 0x3B4
  165. #define CR_INDEX_CGA 0x3D4
  166. #define CR_DATA_MDA 0x3B5
  167. #define CR_DATA_CGA 0x3D5
  168. #define CR30 0x30
  169. #define CR31 0x31
  170. #define CR32 0x32
  171. #define CR33 0x33
  172. #define CR35 0x35
  173. #define CR39 0x39
  174. #define CR40 0x40
  175. #define CR41 0x41
  176. #define CR42 0x42
  177. #define CR70 0x70
  178. #define CR80 0x80
  179. #define CR81 0x82
  180. /* Extended VGA Registers */
  181. /* General Control and Status Registers */
  182. #define ST00 0x3C2
  183. #define ST01_MDA 0x3BA
  184. #define ST01_CGA 0x3DA
  185. #define FRC_READ 0x3CA
  186. #define FRC_WRITE_MDA 0x3BA
  187. #define FRC_WRITE_CGA 0x3DA
  188. #define MSR_READ 0x3CC
  189. #define MSR_WRITE 0x3C2
  190. /* Sequencer Registers */
  191. #define SR_INDEX 0x3C4
  192. #define SR_DATA 0x3C5
  193. #define SR01 0x01
  194. #define SR02 0x02
  195. #define SR03 0x03
  196. #define SR04 0x04
  197. #define SR07 0x07
  198. /* Graphics Controller Registers */
  199. #define GR00 0x00
  200. #define GR01 0x01
  201. #define GR02 0x02
  202. #define GR03 0x03
  203. #define GR04 0x04
  204. #define GR05 0x05
  205. #define GR06 0x06
  206. #define GR07 0x07
  207. #define GR08 0x08
  208. /* Attribute Controller Registers */
  209. #define ATTR_WRITE 0x3C0
  210. #define ATTR_READ 0x3C1
  211. /* VGA Color Palette Registers */
  212. /* CLUT */
  213. #define CLUT_DATA 0x3C9 /* DACDATA */
  214. #define CLUT_INDEX_READ 0x3C7 /* DACRX */
  215. #define CLUT_INDEX_WRITE 0x3C8 /* DACWX */
  216. #define DACMASK 0x3C6
  217. /* CRT Controller Registers */
  218. #define CR00 0x00
  219. #define CR01 0x01
  220. #define CR02 0x02
  221. #define CR03 0x03
  222. #define CR04 0x04
  223. #define CR05 0x05
  224. #define CR06 0x06
  225. #define CR07 0x07
  226. #define CR08 0x08
  227. #define CR09 0x09
  228. #define CR0A 0x0A
  229. #define CR0B 0x0B
  230. #define CR0C 0x0C
  231. #define CR0D 0x0D
  232. #define CR0E 0x0E
  233. #define CR0F 0x0F
  234. #define CR10 0x10
  235. #define CR11 0x11
  236. #define CR12 0x12
  237. #define CR13 0x13
  238. #define CR14 0x14
  239. #define CR15 0x15
  240. #define CR16 0x16
  241. #define CR17 0x17
  242. #define CR18 0x18
  243. #endif /* __I810_REGS_H__ */