initdef.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:14k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sis/initdef.h,v 1.4 2000/12/02 01:16:17 dawes Exp $ */
  2. #ifndef _INITDEF_
  3. #define _INITDEF_
  4. #define SiS300                  0x0300
  5. #define SiS540                  0x5300
  6. #define SiS630                  0x6300
  7. #define SiS730                  0x6300
  8. /* SiS_VBType */
  9. #define VB_SIS301        0x0001
  10. #define VB_SIS301B         0x0002
  11. #define VB_SIS302B         0x0004
  12. #define VB_SIS30xLV      0x0008
  13. #define VB_SIS30xNEW      0x0010
  14. #define VB_NoLCD         0x8000
  15. #define VB_SIS301BLV302BLV      (VB_SIS301B|VB_SIS302B|VB_SIS30xLV|VB_SIS30xNEW)
  16. #define CRT1Len                 17
  17. #define LVDSCRT1Len             15
  18. #define CHTVRegDataLen          5
  19. /* SiS_ModeType */
  20. #define ModeText                0x00
  21. #define ModeCGA                 0x01
  22. #define ModeEGA                 0x02
  23. #define ModeVGA                 0x03
  24. #define Mode15Bpp               0x04
  25. #define Mode16Bpp               0x05
  26. #define Mode24Bpp               0x06
  27. #define Mode32Bpp               0x07
  28. #define ModeInfoFlag            0x07
  29. #define IsTextMode              0x07
  30. #define DACInfoFlag             0x18
  31. #define MemoryInfoFlag          0x1E0
  32. #define MemorySizeShift         0x05
  33. /* modeflag */
  34. #define Charx8Dot               0x0200
  35. #define LineCompareOff          0x0400
  36. #define CRT2Mode                0x0800
  37. #define HalfDCLK                0x1000
  38. #define NoSupportSimuTV         0x2000
  39. #define DoubleScanMode          0x8000
  40. /* Infoflag */
  41. #define SupportAllCRT2          0x0078
  42. #define SupportTV               0x0008
  43. #define SupportHiVisionTV       0x0010
  44. #define SupportLCD              0x0020
  45. #define SupportRAMDAC2          0x0040  
  46. #define NoSupportTV             0x0070
  47. #define NoSupportHiVisionTV     0x0060
  48. #define NoSupportLCD            0x0058
  49. #define SupportCHTV  0x0800
  50. #define SupportTV1024           0x0800  /*301b*/            
  51. #define InterlaceMode           0x0080
  52. #define SyncPP                  0x0000
  53. #define SyncPN                  0x4000
  54. #define SyncNP                  0x8000
  55. #define SyncNN                  0xc000
  56. #define ECLKindex0              0x0000
  57. #define ECLKindex1              0x0100
  58. #define ECLKindex2              0x0200
  59. #define ECLKindex3              0x0300
  60. #define ECLKindex4              0x0400
  61. /* VBInfo */
  62. #define SetSimuScanMode         0x0001   /* CR 30 */
  63. #define SwitchToCRT2            0x0002
  64. #define SetCRT2ToTV             0x009C
  65. #define SetCRT2ToAVIDEO         0x0004
  66. #define SetCRT2ToSVIDEO         0x0008
  67. #define SetCRT2ToSCART          0x0010
  68. #define SetCRT2ToLCD            0x0020
  69. #define SetCRT2ToRAMDAC         0x0040
  70. #define SetCRT2ToHiVisionTV     0x0080
  71. #define SetNTSCTV               0x0000   /* CR 31 */
  72. #define SetPALTV                0x0100
  73. #define SetInSlaveMode          0x0200
  74. #define SetNotSimuMode          0x0400
  75. #define SetNotSimuTVMode        0x0400
  76. #define SetDispDevSwitch        0x0800
  77. #define LoadDACFlag             0x1000
  78. #define SetCHTVOverScan   0x1000  /* TW: Re-defined (from 0x8000) */
  79. #define DisableCRT2Display      0x2000
  80. #define CRT2DisplayFlag         0x2000
  81. #define DriverMode              0x4000
  82. #define HotKeySwitch            0x8000  /* TW: ? */
  83. #define SetCRT2ToLCDA           0x8000
  84. #define PanelRGB18Bit           0x0100
  85. #define PanelRGB24Bit           0x0000
  86. #define TVOverScan              0x10    /* Bit in CR35 (300 series only) */
  87. #define TVOverScanShift         4
  88. #define ClearBufferFlag         0x20
  89. /* CR32 (Newer 630, and 310/325 series)
  90.    [0]   VB connected with CVBS
  91.    [1]   VB connected with SVHS
  92.    [2]   VB connected with SCART
  93.    [3]   VB connected with LCD
  94.    [4]   VB connected with CRT2 (secondary VGA)
  95.    [5]   CRT1 monitor is connected
  96.    [6]   VB connected with Hi-Vision TV
  97.    [7]   VB connected with DVI combo connector
  98.    CR37
  99.    [0]   Set 24/18 bit (0/1) RGB to LVDS/TMDS transmitter (set by BIOS)
  100.    [3:1] External chip
  101.          300 series:
  102.     001   SiS301 (never seen)
  103.     010   LVDS
  104.     011   LVDS + Tumpion Zurac
  105.     100   LVDS + Chrontel 7005
  106.     110   Chrontel 7005
  107.   310/325 series
  108.     001   SiS30x (never seen)
  109.     010   LVDS
  110.     011   LVDS + Chrontel 7019
  111.   All other combinations reserved
  112.    [4]    LVDS: Expanding(0)/Non-expanding(1) LCD display
  113.           30x:  SiS30x(0)/LCD monitor(1) scaling display
  114.    [5]    LCD polarity select
  115.           0: VESA DMT Standard
  116.   1: EDID 2.x defined
  117.    [6]    LCD horizontal polarity select
  118.           0: High active
  119.   1: Low active
  120.    [7]    LCD vertical polarity select
  121.           0: High active
  122.   1: Low active
  123. */
  124. #define EnableDualEdge  0x01   /* CR38 (310/325 series) */
  125. /* #define PAL_NTSC             0x01      (only on 315PRO) */
  126. #define SetToLCDA 0x02   /* TW: LCD channel A (302B and 650+LVDS only) */
  127. #define EnableLVDSHiVision      0x08   /* TW: Only on 650/LVDS systems */
  128. #define SetYPbPr                0x10   /* TW: YPbPr color format */
  129. #define EnablePALMN             0x40
  130. #define EnablePALN              0x80
  131. /* CR79 (310/325 series only)
  132.    [3-0] Notify driver
  133.          0001 Mode Switch event (set by BIOS)
  134.  0010 Epansion On/Off event
  135.  0011 TV UnderScan/OverScan event
  136.  0100 Set Brightness event
  137.  0101 Set Contrast event
  138.  0110 Set Mute event
  139.  0111 Set Volume Up/Down event
  140.    [4]   Enable Backlight Control by BIOS/driver (set by driver)
  141.    [5]   PAL/NTSC (set by BIOS)
  142.    [6]   Expansion On/Off (set by BIOS)
  143.    [7]   TV UnderScan/OverScan (set by BIOS)
  144. */
  145. #define SetSCARTOutput          0x01
  146. #define BoardTVType             0x02
  147. /* SetFlag */
  148. #define ProgrammingCRT2         0x01
  149. #define TVSimuMode              0x02
  150. #define RPLLDIV2XO              0x04
  151. #define LCDVESATiming           0x08
  152. #define EnableLVDSDDA           0x10
  153. #define SetDispDevSwitchFlag    0x20
  154. #define CheckWinDos             0x40
  155. #define SetJDOSMode             0x80
  156. #define CRT2IsVGA         0x80  /* TW: Not sure about this name... */
  157. /* LCDResInfo */
  158. #define Panel300_800x600        0x01 /* CR36 */
  159. #define Panel300_1024x768       0x02
  160. #define Panel300_1280x1024      0x03
  161. #define Panel300_1280x960       0x04
  162. #define Panel300_640x480        0x05
  163. #define Panel300_1024x600       0x06
  164. #define Panel300_1152x768       0x07
  165. #define Panel300_320x480        0x08  /* fstn - TW: This is fake, can be any */
  166. #define Panel310_800x600        0x01
  167. #define Panel310_1024x768       0x02
  168. #define Panel310_1280x1024      0x03
  169. #define Panel310_640x480        0x04
  170. #define Panel310_1024x600       0x05
  171. #define Panel310_1152x864       0x06
  172. #define Panel310_1280x960       0x07
  173. #define Panel310_1152x768       0x08 /* TW: LVDS only */
  174. #define Panel310_1400x1050      0x09
  175. #define Panel310_1280x768       0x0a    /* TW: LVDS only */
  176. #define Panel310_1600x1200      0x0b
  177. #define Panel310_320x480        0x0c    /* fstn - TW: This is fake, can be any */
  178. #define Panel_800x600           0x01 /* Unified values */
  179. #define Panel_1024x768          0x02
  180. #define Panel_1280x1024         0x03
  181. #define Panel_640x480           0x04
  182. #define Panel_1024x600          0x05
  183. #define Panel_1152x864          0x06
  184. #define Panel_1280x960          0x07
  185. #define Panel_1152x768          0x08 /* TW: LVDS only */
  186. #define Panel_1400x1050         0x09
  187. #define Panel_1280x768          0x0a    /* TW: LVDS only */
  188. #define Panel_1600x1200         0x0b
  189. #define Panel_320x480           0x0c    /* fstn - TW: This is fake, can be any */
  190. #define ExtChipType             0x0e
  191. #define ExtChip301              0x02
  192. #define ExtChipLVDS             0x04
  193. #define ExtChipTrumpion         0x06
  194. #define ExtChipCH7005           0x08
  195. #define ExtChipMitacTV          0x0a            /* TW: Incorrect, 0x0a = Chrontel 7005 only */
  196. #define IsM650                  0x80    /* TW: CR5F */
  197. /* LCDInfo */
  198. #define LCDRGB18Bit             0x01
  199. #define LCDNonExpandingShift    0x04
  200. #define LCDNonExpanding         0x10
  201. #define LCDSync                 0x20
  202. #define LCDPass11              0x100 
  203. #define LCDSyncBit              0xe0
  204. #define LCDSyncShift            6
  205. #define LCDDataLen              8
  206. #define HiTVDataLen             12
  207. #define TVDataLen               16
  208. #define SetPALTV                0x0100
  209. #define HalfDCLK                0x1000  /* modeflag */
  210. #define NTSCHT                  1716
  211. #define NTSC2HT                 1920
  212. #define NTSCVT                  525
  213. #define PALHT                   1728
  214. #define PALVT                   625
  215. #define StHiTVHT                892
  216. #define StHiTVVT                1126
  217. #define StHiTextTVHT            1000
  218. #define StHiTextTVVT            1126
  219. #define ExtHiTVHT               2100
  220. #define ExtHiTVVT               1125
  221. #define VCLKStartFreq           25
  222. #define SoftDramType            0x80
  223. #define VCLK40                  0x04   /* Index in VCLKData array */
  224. #define VCLK65                  0x09   /* Index in VCLKData array */
  225. #define VCLK108_2               0x14   /* Index in VCLKData array */
  226. #define TVVCLKDIV2              0x21   /* Indices in (VB)VCLKData arrays */
  227. #define TVVCLK                  0x22
  228. #define HiTVVCLKDIV2            0x23
  229. #define HiTVVCLK                0x24
  230. #define HiTVSimuVCLK            0x25
  231. #define HiTVTextVCLK            0x26
  232. #define LoadDACFlag             0x1000
  233. #define AfterLockCRT2           0x4000
  234. #define SetCRT2ToAVIDEO         0x0004
  235. #define SetCRT2ToSCART          0x0010
  236. #define Ext2StructSize          5
  237. #define SetSCARTOutput          0x01
  238. #define AVIDEOSense             0x01
  239. #define SVIDEOSense             0x02
  240. #define SCARTSense              0x04
  241. #define LCDSense                0x08
  242. #define Monitor1Sense           0x20
  243. #define Monitor2Sense           0x10
  244. #define HiTVSense               0x40
  245. #define BoardTVType             0x02
  246. #define HotPlugFunction         0x08
  247. #define StStructSize            0x06
  248. #define SIS_CRT2_PORT_04        0x04 - 0x30
  249. #define SIS_CRT2_PORT_10        0x10 - 0x30
  250. #define SIS_CRT2_PORT_12        0x12 - 0x30
  251. #define SIS_CRT2_PORT_14        0x14 - 0x30
  252. #define ADR_CRT2PtrData         0x20E
  253. #define offset_Zurac            0x210   /* TW: Trumpion Zurac data pointer */
  254. #define ADR_LVDSDesPtrData      0x212
  255. #define ADR_LVDSCRT1DataPtr     0x214
  256. #define ADR_CHTVVCLKPtr         0x216
  257. #define ADR_CHTVRegDataPtr      0x218
  258. #define LVDSDataLen             6
  259. #define EnableLVDSDDA           0x10
  260. #define LVDSDesDataLen          3
  261. #define ActiveNonExpanding      0x40
  262. #define ActiveNonExpandingShift 6
  263. #define ActivePAL               0x20
  264. #define ActivePALShift          5
  265. #define ModeSwitchStatus        0x0F
  266. #define SoftTVType              0x40
  267. #define SoftSettingAddr         0x52
  268. #define ModeSettingAddr         0x53
  269. #define SelectCRT1Rate          0x4
  270.         
  271. #define _PanelType00             0x00
  272. #define _PanelType01             0x08
  273. #define _PanelType02             0x10
  274. #define _PanelType03             0x18
  275. #define _PanelType04             0x20
  276. #define _PanelType05             0x28
  277. #define _PanelType06             0x30
  278. #define _PanelType07             0x38
  279. #define _PanelType08             0x40
  280. #define _PanelType09             0x48
  281. #define _PanelType0A             0x50
  282. #define _PanelType0B             0x58
  283. #define _PanelType0C             0x60
  284. #define _PanelType0D             0x68
  285. #define _PanelType0E             0x70
  286. #define _PanelType0F             0x78
  287. #define PRIMARY_VGA        0     /* 1: SiS is primary vga 0:SiS is secondary vga */
  288. #define BIOSIDCodeAddr          0x235  /* TW: Offsets to ptrs in BIOS image */
  289. #define OEMUtilIDCodeAddr       0x237
  290. #define VBModeIDTableAddr       0x239
  291. #define OEMTVPtrAddr            0x241
  292. #define PhaseTableAddr          0x243
  293. #define NTSCFilterTableAddr     0x245
  294. #define PALFilterTableAddr      0x247
  295. #define OEMLCDPtr_1Addr         0x249
  296. #define OEMLCDPtr_2Addr         0x24B
  297. #define LCDHPosTable_1Addr      0x24D
  298. #define LCDHPosTable_2Addr      0x24F
  299. #define LCDVPosTable_1Addr      0x251
  300. #define LCDVPosTable_2Addr      0x253
  301. #define OEMLCDPIDTableAddr      0x255
  302. #define VBModeStructSize        5
  303. #define PhaseTableSize          4
  304. #define FilterTableSize         4
  305. #define LCDHPosTableSize        7
  306. #define LCDVPosTableSize        5
  307. #define OEMLVDSPIDTableSize     4
  308. #define LVDSHPosTableSize       4
  309. #define LVDSVPosTableSize       6
  310. #define VB_ModeID               0
  311. #define VB_TVTableIndex         1
  312. #define VB_LCDTableIndex        2
  313. #define VB_LCDHIndex            3
  314. #define VB_LCDVIndex            4
  315. #define OEMLCDEnable            0x0001
  316. #define OEMLCDDelayEnable       0x0002
  317. #define OEMLCDPOSEnable         0x0004
  318. #define OEMTVEnable             0x0100
  319. #define OEMTVDelayEnable        0x0200
  320. #define OEMTVFlickerEnable      0x0400
  321. #define OEMTVPhaseEnable        0x0800
  322. #define OEMTVFilterEnable       0x1000
  323. #define OEMLCDPanelIDSupport    0x0080
  324. /*
  325.   =============================================================
  326.     for 310/325 series
  327.   =============================================================
  328. */
  329. #define SoftDRAMType        0x80
  330. #define SoftSetting_OFFSET  0x52
  331. #define SR07_OFFSET  0x7C
  332. #define SR15_OFFSET  0x7D
  333. #define SR16_OFFSET  0x81
  334. #define SR17_OFFSET  0x85
  335. #define SR19_OFFSET  0x8D
  336. #define SR1F_OFFSET  0x99
  337. #define SR21_OFFSET  0x9A
  338. #define SR22_OFFSET  0x9B
  339. #define SR23_OFFSET  0x9C
  340. #define SR24_OFFSET  0x9D
  341. #define SR25_OFFSET  0x9E
  342. #define SR31_OFFSET  0x9F
  343. #define SR32_OFFSET  0xA0
  344. #define SR33_OFFSET  0xA1
  345. #define CR40_OFFSET  0xA2
  346. #define SR25_1_OFFSET  0xF6
  347. #define CR49_OFFSET  0xF7
  348. #define VB310Data_1_2_Offset  0xB6
  349. #define VB310Data_4_D_Offset  0xB7
  350. #define VB310Data_4_E_Offset  0xB8
  351. #define VB310Data_4_10_Offset 0xBB
  352. #define RGBSenseDataOffset    0xBD
  353. #define YCSenseDataOffset     0xBF
  354. #define VideoSenseDataOffset  0xC1
  355. #define OutputSelectOffset    0xF3
  356. #define ECLK_MCLK_DISTANCE  0x14
  357. #define VBIOSTablePointerStart    0x100
  358. #define StandTablePtrOffset       VBIOSTablePointerStart+0x02
  359. #define EModeIDTablePtrOffset     VBIOSTablePointerStart+0x04
  360. #define CRT1TablePtrOffset        VBIOSTablePointerStart+0x06
  361. #define ScreenOffsetPtrOffset     VBIOSTablePointerStart+0x08
  362. #define VCLKDataPtrOffset         VBIOSTablePointerStart+0x0A
  363. #define MCLKDataPtrOffset         VBIOSTablePointerStart+0x0E
  364. #define CRT2PtrDataPtrOffset      VBIOSTablePointerStart+0x10
  365. #define TVAntiFlickPtrOffset      VBIOSTablePointerStart+0x12
  366. #define TVDelayPtr1Offset         VBIOSTablePointerStart+0x14
  367. #define TVPhaseIncrPtr1Offset     VBIOSTablePointerStart+0x16
  368. #define TVYFilterPtr1Offset       VBIOSTablePointerStart+0x18
  369. #define LCDDelayPtr1Offset        VBIOSTablePointerStart+0x20
  370. #define TVEdgePtr1Offset          VBIOSTablePointerStart+0x24
  371. #define CRT2Delay1Offset          VBIOSTablePointerStart+0x28
  372. #endif