share.h 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697
  1. /*
  2. * Copyright 1998-2008 VIA Technologies, Inc. All Rights Reserved.
  3. * Copyright 2001-2008 S3 Graphics, Inc. All Rights Reserved.
  4. * This program is free software; you can redistribute it and/or
  5. * modify it under the terms of the GNU General Public
  6. * License as published by the Free Software Foundation;
  7. * either version 2, or (at your option) any later version.
  8. * This program is distributed in the hope that it will be useful,
  9. * but WITHOUT ANY WARRANTIES OR REPRESENTATIONS; without even
  10. * the implied warranty of MERCHANTABILITY or FITNESS FOR
  11. * A PARTICULAR PURPOSE.See the GNU General Public License
  12. * for more details.
  13. * You should have received a copy of the GNU General Public License
  14. * along with this program; if not, write to the Free Software
  15. * Foundation, Inc.,
  16. * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  17. */
  18. #ifndef __SHARE_H__
  19. #define __SHARE_H__
  20. /* Define Return Value */
  21. #define FAIL -1
  22. #define OK 1
  23. #ifndef NULL
  24. #define NULL 0
  25. #endif
  26. /* Define Bit Field */
  27. #define BIT0 0x01
  28. #define BIT1 0x02
  29. #define BIT2 0x04
  30. #define BIT3 0x08
  31. #define BIT4 0x10
  32. #define BIT5 0x20
  33. #define BIT6 0x40
  34. #define BIT7 0x80
  35. /* Video Memory Size */
  36. #define VIDEO_MEMORY_SIZE_16M 0x1000000
  37. /*
  38. * Lengths of the VPIT structure arrays.
  39. */
  40. #define StdCR 0x19
  41. #define StdSR 0x04
  42. #define StdGR 0x09
  43. #define StdAR 0x14
  44. #define PatchCR 11
  45. /* Display path */
  46. #define IGA1 1
  47. #define IGA2 2
  48. /* Define Color Depth */
  49. #define MODE_8BPP 1
  50. #define MODE_16BPP 2
  51. #define MODE_32BPP 4
  52. #define GR20 0x20
  53. #define GR21 0x21
  54. #define GR22 0x22
  55. /* Sequencer Registers */
  56. #define SR01 0x01
  57. #define SR10 0x10
  58. #define SR12 0x12
  59. #define SR15 0x15
  60. #define SR16 0x16
  61. #define SR17 0x17
  62. #define SR18 0x18
  63. #define SR1B 0x1B
  64. #define SR1A 0x1A
  65. #define SR1C 0x1C
  66. #define SR1D 0x1D
  67. #define SR1E 0x1E
  68. #define SR1F 0x1F
  69. #define SR20 0x20
  70. #define SR21 0x21
  71. #define SR22 0x22
  72. #define SR2A 0x2A
  73. #define SR2D 0x2D
  74. #define SR2E 0x2E
  75. #define SR30 0x30
  76. #define SR39 0x39
  77. #define SR3D 0x3D
  78. #define SR3E 0x3E
  79. #define SR3F 0x3F
  80. #define SR40 0x40
  81. #define SR43 0x43
  82. #define SR44 0x44
  83. #define SR45 0x45
  84. #define SR46 0x46
  85. #define SR47 0x47
  86. #define SR48 0x48
  87. #define SR49 0x49
  88. #define SR4A 0x4A
  89. #define SR4B 0x4B
  90. #define SR4C 0x4C
  91. #define SR52 0x52
  92. #define SR57 0x57
  93. #define SR58 0x58
  94. #define SR59 0x59
  95. #define SR5D 0x5D
  96. #define SR5E 0x5E
  97. #define SR65 0x65
  98. /* CRT Controller Registers */
  99. #define CR00 0x00
  100. #define CR01 0x01
  101. #define CR02 0x02
  102. #define CR03 0x03
  103. #define CR04 0x04
  104. #define CR05 0x05
  105. #define CR06 0x06
  106. #define CR07 0x07
  107. #define CR08 0x08
  108. #define CR09 0x09
  109. #define CR0A 0x0A
  110. #define CR0B 0x0B
  111. #define CR0C 0x0C
  112. #define CR0D 0x0D
  113. #define CR0E 0x0E
  114. #define CR0F 0x0F
  115. #define CR10 0x10
  116. #define CR11 0x11
  117. #define CR12 0x12
  118. #define CR13 0x13
  119. #define CR14 0x14
  120. #define CR15 0x15
  121. #define CR16 0x16
  122. #define CR17 0x17
  123. #define CR18 0x18
  124. /* Extend CRT Controller Registers */
  125. #define CR30 0x30
  126. #define CR31 0x31
  127. #define CR32 0x32
  128. #define CR33 0x33
  129. #define CR34 0x34
  130. #define CR35 0x35
  131. #define CR36 0x36
  132. #define CR37 0x37
  133. #define CR38 0x38
  134. #define CR39 0x39
  135. #define CR3A 0x3A
  136. #define CR3B 0x3B
  137. #define CR3C 0x3C
  138. #define CR3D 0x3D
  139. #define CR3E 0x3E
  140. #define CR3F 0x3F
  141. #define CR40 0x40
  142. #define CR41 0x41
  143. #define CR42 0x42
  144. #define CR43 0x43
  145. #define CR44 0x44
  146. #define CR45 0x45
  147. #define CR46 0x46
  148. #define CR47 0x47
  149. #define CR48 0x48
  150. #define CR49 0x49
  151. #define CR4A 0x4A
  152. #define CR4B 0x4B
  153. #define CR4C 0x4C
  154. #define CR4D 0x4D
  155. #define CR4E 0x4E
  156. #define CR4F 0x4F
  157. #define CR50 0x50
  158. #define CR51 0x51
  159. #define CR52 0x52
  160. #define CR53 0x53
  161. #define CR54 0x54
  162. #define CR55 0x55
  163. #define CR56 0x56
  164. #define CR57 0x57
  165. #define CR58 0x58
  166. #define CR59 0x59
  167. #define CR5A 0x5A
  168. #define CR5B 0x5B
  169. #define CR5C 0x5C
  170. #define CR5D 0x5D
  171. #define CR5E 0x5E
  172. #define CR5F 0x5F
  173. #define CR60 0x60
  174. #define CR61 0x61
  175. #define CR62 0x62
  176. #define CR63 0x63
  177. #define CR64 0x64
  178. #define CR65 0x65
  179. #define CR66 0x66
  180. #define CR67 0x67
  181. #define CR68 0x68
  182. #define CR69 0x69
  183. #define CR6A 0x6A
  184. #define CR6B 0x6B
  185. #define CR6C 0x6C
  186. #define CR6D 0x6D
  187. #define CR6E 0x6E
  188. #define CR6F 0x6F
  189. #define CR70 0x70
  190. #define CR71 0x71
  191. #define CR72 0x72
  192. #define CR73 0x73
  193. #define CR74 0x74
  194. #define CR75 0x75
  195. #define CR76 0x76
  196. #define CR77 0x77
  197. #define CR78 0x78
  198. #define CR79 0x79
  199. #define CR7A 0x7A
  200. #define CR7B 0x7B
  201. #define CR7C 0x7C
  202. #define CR7D 0x7D
  203. #define CR7E 0x7E
  204. #define CR7F 0x7F
  205. #define CR80 0x80
  206. #define CR81 0x81
  207. #define CR82 0x82
  208. #define CR83 0x83
  209. #define CR84 0x84
  210. #define CR85 0x85
  211. #define CR86 0x86
  212. #define CR87 0x87
  213. #define CR88 0x88
  214. #define CR89 0x89
  215. #define CR8A 0x8A
  216. #define CR8B 0x8B
  217. #define CR8C 0x8C
  218. #define CR8D 0x8D
  219. #define CR8E 0x8E
  220. #define CR8F 0x8F
  221. #define CR90 0x90
  222. #define CR91 0x91
  223. #define CR92 0x92
  224. #define CR93 0x93
  225. #define CR94 0x94
  226. #define CR95 0x95
  227. #define CR96 0x96
  228. #define CR97 0x97
  229. #define CR98 0x98
  230. #define CR99 0x99
  231. #define CR9A 0x9A
  232. #define CR9B 0x9B
  233. #define CR9C 0x9C
  234. #define CR9D 0x9D
  235. #define CR9E 0x9E
  236. #define CR9F 0x9F
  237. #define CRA0 0xA0
  238. #define CRA1 0xA1
  239. #define CRA2 0xA2
  240. #define CRA3 0xA3
  241. #define CRD2 0xD2
  242. #define CRD3 0xD3
  243. #define CRD4 0xD4
  244. /* LUT Table*/
  245. #define LUT_DATA 0x3C9 /* DACDATA */
  246. #define LUT_INDEX_READ 0x3C7 /* DACRX */
  247. #define LUT_INDEX_WRITE 0x3C8 /* DACWX */
  248. #define DACMASK 0x3C6
  249. /* Definition Device */
  250. #define DEVICE_CRT 0x01
  251. #define DEVICE_DVI 0x03
  252. #define DEVICE_LCD 0x04
  253. /* Device output interface */
  254. #define INTERFACE_NONE 0x00
  255. #define INTERFACE_ANALOG_RGB 0x01
  256. #define INTERFACE_DVP0 0x02
  257. #define INTERFACE_DVP1 0x03
  258. #define INTERFACE_DFP_HIGH 0x04
  259. #define INTERFACE_DFP_LOW 0x05
  260. #define INTERFACE_DFP 0x06
  261. #define INTERFACE_LVDS0 0x07
  262. #define INTERFACE_LVDS1 0x08
  263. #define INTERFACE_LVDS0LVDS1 0x09
  264. #define INTERFACE_TMDS 0x0A
  265. #define HW_LAYOUT_LCD_ONLY 0x01
  266. #define HW_LAYOUT_DVI_ONLY 0x02
  267. #define HW_LAYOUT_LCD_DVI 0x03
  268. #define HW_LAYOUT_LCD1_LCD2 0x04
  269. #define HW_LAYOUT_LCD_EXTERNAL_LCD2 0x10
  270. /* Definition Refresh Rate */
  271. #define REFRESH_50 50
  272. #define REFRESH_60 60
  273. #define REFRESH_75 75
  274. #define REFRESH_85 85
  275. #define REFRESH_100 100
  276. #define REFRESH_120 120
  277. /* Definition Sync Polarity*/
  278. #define NEGATIVE 1
  279. #define POSITIVE 0
  280. /*480x640@60 Sync Polarity (GTF)
  281. */
  282. #define M480X640_R60_HSP NEGATIVE
  283. #define M480X640_R60_VSP POSITIVE
  284. /*640x480@60 Sync Polarity (VESA Mode)
  285. */
  286. #define M640X480_R60_HSP NEGATIVE
  287. #define M640X480_R60_VSP NEGATIVE
  288. /*640x480@75 Sync Polarity (VESA Mode)
  289. */
  290. #define M640X480_R75_HSP NEGATIVE
  291. #define M640X480_R75_VSP NEGATIVE
  292. /*640x480@85 Sync Polarity (VESA Mode)
  293. */
  294. #define M640X480_R85_HSP NEGATIVE
  295. #define M640X480_R85_VSP NEGATIVE
  296. /*640x480@100 Sync Polarity (GTF Mode)
  297. */
  298. #define M640X480_R100_HSP NEGATIVE
  299. #define M640X480_R100_VSP POSITIVE
  300. /*640x480@120 Sync Polarity (GTF Mode)
  301. */
  302. #define M640X480_R120_HSP NEGATIVE
  303. #define M640X480_R120_VSP POSITIVE
  304. /*720x480@60 Sync Polarity (GTF Mode)
  305. */
  306. #define M720X480_R60_HSP NEGATIVE
  307. #define M720X480_R60_VSP POSITIVE
  308. /*720x576@60 Sync Polarity (GTF Mode)
  309. */
  310. #define M720X576_R60_HSP NEGATIVE
  311. #define M720X576_R60_VSP POSITIVE
  312. /*800x600@60 Sync Polarity (VESA Mode)
  313. */
  314. #define M800X600_R60_HSP POSITIVE
  315. #define M800X600_R60_VSP POSITIVE
  316. /*800x600@75 Sync Polarity (VESA Mode)
  317. */
  318. #define M800X600_R75_HSP POSITIVE
  319. #define M800X600_R75_VSP POSITIVE
  320. /*800x600@85 Sync Polarity (VESA Mode)
  321. */
  322. #define M800X600_R85_HSP POSITIVE
  323. #define M800X600_R85_VSP POSITIVE
  324. /*800x600@100 Sync Polarity (GTF Mode)
  325. */
  326. #define M800X600_R100_HSP NEGATIVE
  327. #define M800X600_R100_VSP POSITIVE
  328. /*800x600@120 Sync Polarity (GTF Mode)
  329. */
  330. #define M800X600_R120_HSP NEGATIVE
  331. #define M800X600_R120_VSP POSITIVE
  332. /*800x480@60 Sync Polarity (CVT Mode)
  333. */
  334. #define M800X480_R60_HSP NEGATIVE
  335. #define M800X480_R60_VSP POSITIVE
  336. /*848x480@60 Sync Polarity (CVT Mode)
  337. */
  338. #define M848X480_R60_HSP NEGATIVE
  339. #define M848X480_R60_VSP POSITIVE
  340. /*852x480@60 Sync Polarity (GTF Mode)
  341. */
  342. #define M852X480_R60_HSP NEGATIVE
  343. #define M852X480_R60_VSP POSITIVE
  344. /*1024x512@60 Sync Polarity (GTF Mode)
  345. */
  346. #define M1024X512_R60_HSP NEGATIVE
  347. #define M1024X512_R60_VSP POSITIVE
  348. /*1024x600@60 Sync Polarity (GTF Mode)
  349. */
  350. #define M1024X600_R60_HSP NEGATIVE
  351. #define M1024X600_R60_VSP POSITIVE
  352. /*1024x768@60 Sync Polarity (VESA Mode)
  353. */
  354. #define M1024X768_R60_HSP NEGATIVE
  355. #define M1024X768_R60_VSP NEGATIVE
  356. /*1024x768@75 Sync Polarity (VESA Mode)
  357. */
  358. #define M1024X768_R75_HSP POSITIVE
  359. #define M1024X768_R75_VSP POSITIVE
  360. /*1024x768@85 Sync Polarity (VESA Mode)
  361. */
  362. #define M1024X768_R85_HSP POSITIVE
  363. #define M1024X768_R85_VSP POSITIVE
  364. /*1024x768@100 Sync Polarity (GTF Mode)
  365. */
  366. #define M1024X768_R100_HSP NEGATIVE
  367. #define M1024X768_R100_VSP POSITIVE
  368. /*1152x864@75 Sync Polarity (VESA Mode)
  369. */
  370. #define M1152X864_R75_HSP POSITIVE
  371. #define M1152X864_R75_VSP POSITIVE
  372. /*1280x720@60 Sync Polarity (GTF Mode)
  373. */
  374. #define M1280X720_R60_HSP NEGATIVE
  375. #define M1280X720_R60_VSP POSITIVE
  376. /* 1280x768@50 Sync Polarity (GTF Mode) */
  377. #define M1280X768_R50_HSP NEGATIVE
  378. #define M1280X768_R50_VSP POSITIVE
  379. /*1280x768@60 Sync Polarity (GTF Mode)
  380. */
  381. #define M1280X768_R60_HSP NEGATIVE
  382. #define M1280X768_R60_VSP POSITIVE
  383. /*1280x800@60 Sync Polarity (CVT Mode)
  384. */
  385. #define M1280X800_R60_HSP NEGATIVE
  386. #define M1280X800_R60_VSP POSITIVE
  387. /*1280x960@60 Sync Polarity (VESA Mode)
  388. */
  389. #define M1280X960_R60_HSP POSITIVE
  390. #define M1280X960_R60_VSP POSITIVE
  391. /*1280x1024@60 Sync Polarity (VESA Mode)
  392. */
  393. #define M1280X1024_R60_HSP POSITIVE
  394. #define M1280X1024_R60_VSP POSITIVE
  395. /* 1360x768@60 Sync Polarity (CVT Mode) */
  396. #define M1360X768_R60_HSP POSITIVE
  397. #define M1360X768_R60_VSP POSITIVE
  398. /* 1360x768@60 Sync Polarity (CVT Reduce Blanking Mode) */
  399. #define M1360X768_RB_R60_HSP POSITIVE
  400. #define M1360X768_RB_R60_VSP NEGATIVE
  401. /* 1368x768@50 Sync Polarity (GTF Mode) */
  402. #define M1368X768_R50_HSP NEGATIVE
  403. #define M1368X768_R50_VSP POSITIVE
  404. /* 1368x768@60 Sync Polarity (VESA Mode) */
  405. #define M1368X768_R60_HSP NEGATIVE
  406. #define M1368X768_R60_VSP POSITIVE
  407. /*1280x1024@75 Sync Polarity (VESA Mode)
  408. */
  409. #define M1280X1024_R75_HSP POSITIVE
  410. #define M1280X1024_R75_VSP POSITIVE
  411. /*1280x1024@85 Sync Polarity (VESA Mode)
  412. */
  413. #define M1280X1024_R85_HSP POSITIVE
  414. #define M1280X1024_R85_VSP POSITIVE
  415. /*1440x1050@60 Sync Polarity (GTF Mode)
  416. */
  417. #define M1440X1050_R60_HSP NEGATIVE
  418. #define M1440X1050_R60_VSP POSITIVE
  419. /*1600x1200@60 Sync Polarity (VESA Mode)
  420. */
  421. #define M1600X1200_R60_HSP POSITIVE
  422. #define M1600X1200_R60_VSP POSITIVE
  423. /*1600x1200@75 Sync Polarity (VESA Mode)
  424. */
  425. #define M1600X1200_R75_HSP POSITIVE
  426. #define M1600X1200_R75_VSP POSITIVE
  427. /* 1680x1050@60 Sync Polarity (CVT Mode) */
  428. #define M1680x1050_R60_HSP NEGATIVE
  429. #define M1680x1050_R60_VSP NEGATIVE
  430. /* 1680x1050@60 Sync Polarity (CVT Reduce Blanking Mode) */
  431. #define M1680x1050_RB_R60_HSP POSITIVE
  432. #define M1680x1050_RB_R60_VSP NEGATIVE
  433. /* 1680x1050@75 Sync Polarity (CVT Mode) */
  434. #define M1680x1050_R75_HSP NEGATIVE
  435. #define M1680x1050_R75_VSP POSITIVE
  436. /*1920x1080@60 Sync Polarity (CVT Mode)
  437. */
  438. #define M1920X1080_R60_HSP NEGATIVE
  439. #define M1920X1080_R60_VSP POSITIVE
  440. /* 1920x1080@60 Sync Polarity (CVT Reduce Blanking Mode) */
  441. #define M1920X1080_RB_R60_HSP POSITIVE
  442. #define M1920X1080_RB_R60_VSP NEGATIVE
  443. /*1920x1440@60 Sync Polarity (VESA Mode)
  444. */
  445. #define M1920X1440_R60_HSP NEGATIVE
  446. #define M1920X1440_R60_VSP POSITIVE
  447. /*1920x1440@75 Sync Polarity (VESA Mode)
  448. */
  449. #define M1920X1440_R75_HSP NEGATIVE
  450. #define M1920X1440_R75_VSP POSITIVE
  451. #if 0
  452. /* 1400x1050@60 Sync Polarity (VESA Mode) */
  453. #define M1400X1050_R60_HSP NEGATIVE
  454. #define M1400X1050_R60_VSP NEGATIVE
  455. #endif
  456. /* 1400x1050@60 Sync Polarity (CVT Mode) */
  457. #define M1400X1050_R60_HSP NEGATIVE
  458. #define M1400X1050_R60_VSP POSITIVE
  459. /* 1400x1050@60 Sync Polarity (CVT Reduce Blanking Mode) */
  460. #define M1400X1050_RB_R60_HSP POSITIVE
  461. #define M1400X1050_RB_R60_VSP NEGATIVE
  462. /* 1400x1050@75 Sync Polarity (CVT Mode) */
  463. #define M1400X1050_R75_HSP NEGATIVE
  464. #define M1400X1050_R75_VSP POSITIVE
  465. /* 960x600@60 Sync Polarity (CVT Mode) */
  466. #define M960X600_R60_HSP NEGATIVE
  467. #define M960X600_R60_VSP POSITIVE
  468. /* 1000x600@60 Sync Polarity (GTF Mode) */
  469. #define M1000X600_R60_HSP NEGATIVE
  470. #define M1000X600_R60_VSP POSITIVE
  471. /* 1024x576@60 Sync Polarity (GTF Mode) */
  472. #define M1024X576_R60_HSP NEGATIVE
  473. #define M1024X576_R60_VSP POSITIVE
  474. /*1024x600@60 Sync Polarity (GTF Mode)*/
  475. #define M1024X600_R60_HSP NEGATIVE
  476. #define M1024X600_R60_VSP POSITIVE
  477. /* 1088x612@60 Sync Polarity (CVT Mode) */
  478. #define M1088X612_R60_HSP NEGATIVE
  479. #define M1088X612_R60_VSP POSITIVE
  480. /* 1152x720@60 Sync Polarity (CVT Mode) */
  481. #define M1152X720_R60_HSP NEGATIVE
  482. #define M1152X720_R60_VSP POSITIVE
  483. /* 1200x720@60 Sync Polarity (GTF Mode) */
  484. #define M1200X720_R60_HSP NEGATIVE
  485. #define M1200X720_R60_VSP POSITIVE
  486. /* 1200x900@60 Sync Polarity (DCON) */
  487. #define M1200X900_R60_HSP NEGATIVE
  488. #define M1200X900_R60_VSP NEGATIVE
  489. /* 1280x600@60 Sync Polarity (GTF Mode) */
  490. #define M1280x600_R60_HSP NEGATIVE
  491. #define M1280x600_R60_VSP POSITIVE
  492. /* 1280x720@50 Sync Polarity (GTF Mode) */
  493. #define M1280X720_R50_HSP NEGATIVE
  494. #define M1280X720_R50_VSP POSITIVE
  495. /* 1280x720@60 Sync Polarity (CEA Mode) */
  496. #define M1280X720_CEA_R60_HSP POSITIVE
  497. #define M1280X720_CEA_R60_VSP POSITIVE
  498. /* 1440x900@60 Sync Polarity (CVT Mode) */
  499. #define M1440X900_R60_HSP NEGATIVE
  500. #define M1440X900_R60_VSP POSITIVE
  501. /* 1440x900@75 Sync Polarity (CVT Mode) */
  502. #define M1440X900_R75_HSP NEGATIVE
  503. #define M1440X900_R75_VSP POSITIVE
  504. /* 1440x900@60 Sync Polarity (CVT Reduce Blanking Mode) */
  505. #define M1440X900_RB_R60_HSP POSITIVE
  506. #define M1440X900_RB_R60_VSP NEGATIVE
  507. /* 1600x900@60 Sync Polarity (CVT Mode) */
  508. #define M1600X900_R60_HSP NEGATIVE
  509. #define M1600X900_R60_VSP POSITIVE
  510. /* 1600x900@60 Sync Polarity (CVT Reduce Blanking Mode) */
  511. #define M1600X900_RB_R60_HSP POSITIVE
  512. #define M1600X900_RB_R60_VSP NEGATIVE
  513. /* 1600x1024@60 Sync Polarity (GTF Mode) */
  514. #define M1600X1024_R60_HSP NEGATIVE
  515. #define M1600X1024_R60_VSP POSITIVE
  516. /* 1792x1344@60 Sync Polarity (DMT Mode) */
  517. #define M1792x1344_R60_HSP NEGATIVE
  518. #define M1792x1344_R60_VSP POSITIVE
  519. /* 1856x1392@60 Sync Polarity (DMT Mode) */
  520. #define M1856x1392_R60_HSP NEGATIVE
  521. #define M1856x1392_R60_VSP POSITIVE
  522. /* 1920x1200@60 Sync Polarity (CVT Mode) */
  523. #define M1920X1200_R60_HSP NEGATIVE
  524. #define M1920X1200_R60_VSP POSITIVE
  525. /* 1920x1200@60 Sync Polarity (CVT Reduce Blanking Mode) */
  526. #define M1920X1200_RB_R60_HSP POSITIVE
  527. #define M1920X1200_RB_R60_VSP NEGATIVE
  528. /* 1920x1080@60 Sync Polarity (CEA Mode) */
  529. #define M1920X1080_CEA_R60_HSP POSITIVE
  530. #define M1920X1080_CEA_R60_VSP POSITIVE
  531. /* 2048x1536@60 Sync Polarity (CVT Mode) */
  532. #define M2048x1536_R60_HSP NEGATIVE
  533. #define M2048x1536_R60_VSP POSITIVE
  534. /* Definition CRTC Timing Index */
  535. #define H_TOTAL_INDEX 0
  536. #define H_ADDR_INDEX 1
  537. #define H_BLANK_START_INDEX 2
  538. #define H_BLANK_END_INDEX 3
  539. #define H_SYNC_START_INDEX 4
  540. #define H_SYNC_END_INDEX 5
  541. #define V_TOTAL_INDEX 6
  542. #define V_ADDR_INDEX 7
  543. #define V_BLANK_START_INDEX 8
  544. #define V_BLANK_END_INDEX 9
  545. #define V_SYNC_START_INDEX 10
  546. #define V_SYNC_END_INDEX 11
  547. #define H_TOTAL_SHADOW_INDEX 12
  548. #define H_BLANK_END_SHADOW_INDEX 13
  549. #define V_TOTAL_SHADOW_INDEX 14
  550. #define V_ADDR_SHADOW_INDEX 15
  551. #define V_BLANK_SATRT_SHADOW_INDEX 16
  552. #define V_BLANK_END_SHADOW_INDEX 17
  553. #define V_SYNC_SATRT_SHADOW_INDEX 18
  554. #define V_SYNC_END_SHADOW_INDEX 19
  555. /* Definition Video Mode Pixel Clock (picoseconds)
  556. */
  557. #define RES_640X480_60HZ_PIXCLOCK 39722
  558. /* LCD display method
  559. */
  560. #define LCD_EXPANDSION 0x00
  561. #define LCD_CENTERING 0x01
  562. /* LCD mode
  563. */
  564. #define LCD_OPENLDI 0x00
  565. #define LCD_SPWG 0x01
  566. /* Define display timing
  567. */
  568. struct display_timing {
  569. u16 hor_total;
  570. u16 hor_addr;
  571. u16 hor_blank_start;
  572. u16 hor_blank_end;
  573. u16 hor_sync_start;
  574. u16 hor_sync_end;
  575. u16 ver_total;
  576. u16 ver_addr;
  577. u16 ver_blank_start;
  578. u16 ver_blank_end;
  579. u16 ver_sync_start;
  580. u16 ver_sync_end;
  581. };
  582. struct crt_mode_table {
  583. int refresh_rate;
  584. int h_sync_polarity;
  585. int v_sync_polarity;
  586. struct display_timing crtc;
  587. };
  588. struct io_reg {
  589. int port;
  590. u8 index;
  591. u8 mask;
  592. u8 value;
  593. };
  594. #endif /* __SHARE_H__ */