VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/x11include/7.0/xorg/IBM.h@ 18709

Last change on this file since 18709 was 17236, checked in by vboxsync, 16 years ago

Additions/x11/x11include: blast! Reverted r43555 and r43556

  • Property svn:eol-style set to native
File size: 12.9 KB
Line 
1/* $XFree86: xc/programs/Xserver/hw/xfree86/ramdac/IBM.h,v 1.7 1999/02/12 22:52:11 hohndel Exp $ */
2
3#include <xf86RamDac.h>
4
5RamDacHelperRecPtr IBMramdacProbe(ScrnInfoPtr pScrn, RamDacSupportedInfoRecPtr ramdacs);
6void IBMramdacSave(ScrnInfoPtr pScrn, RamDacRecPtr RamDacRec, RamDacRegRecPtr RamDacRegRec);
7void IBMramdacRestore(ScrnInfoPtr pScrn, RamDacRecPtr RamDacRec, RamDacRegRecPtr RamDacRegRec);
8void IBMramdac526SetBpp(ScrnInfoPtr pScrn, RamDacRegRecPtr RamDacRegRec);
9void IBMramdac640SetBpp(ScrnInfoPtr pScrn, RamDacRegRecPtr RamDacRegRec);
10unsigned long IBMramdac526CalculateMNPCForClock(unsigned long RefClock,
11 unsigned long ReqClock, char IsPixClock, unsigned long MinClock,
12 unsigned long MaxClock, unsigned long *rM, unsigned long *rN,
13 unsigned long *rP, unsigned long *rC);
14unsigned long IBMramdac640CalculateMNPCForClock(unsigned long RefClock,
15 unsigned long ReqClock, char IsPixClock, unsigned long MinClock,
16 unsigned long MaxClock, unsigned long *rM, unsigned long *rN,
17 unsigned long *rP, unsigned long *rC);
18void IBMramdac526HWCursorInit(xf86CursorInfoPtr infoPtr);
19void IBMramdac640HWCursorInit(xf86CursorInfoPtr infoPtr);
20
21typedef void IBMramdac526SetBppProc(ScrnInfoPtr, RamDacRegRecPtr);
22IBMramdac526SetBppProc *IBMramdac526SetBppWeak(void);
23
24#define IBM524_RAMDAC ((VENDOR_IBM << 16) | 0x00)
25#define IBM524A_RAMDAC ((VENDOR_IBM << 16) | 0x01)
26#define IBM525_RAMDAC ((VENDOR_IBM << 16) | 0x02)
27#define IBM526_RAMDAC ((VENDOR_IBM << 16) | 0x03)
28#define IBM526DB_RAMDAC ((VENDOR_IBM << 16) | 0x04)
29#define IBM528_RAMDAC ((VENDOR_IBM << 16) | 0x05)
30#define IBM528A_RAMDAC ((VENDOR_IBM << 16) | 0x06)
31#define IBM624_RAMDAC ((VENDOR_IBM << 16) | 0x07)
32#define IBM624DB_RAMDAC ((VENDOR_IBM << 16) | 0x08)
33#define IBM640_RAMDAC ((VENDOR_IBM << 16) | 0x09)
34
35/*
36 * IBM Ramdac registers
37 */
38
39#define IBMRGB_REF_FREQ_1 14.31818
40#define IBMRGB_REF_FREQ_2 50.00000
41
42#define IBMRGB_rev 0x00
43#define IBMRGB_id 0x01
44#define IBMRGB_misc_clock 0x02
45#define IBMRGB_sync 0x03
46#define IBMRGB_hsync_pos 0x04
47#define IBMRGB_pwr_mgmt 0x05
48#define IBMRGB_dac_op 0x06
49#define IBMRGB_pal_ctrl 0x07
50#define IBMRGB_sysclk 0x08 /* not RGB525 */
51#define IBMRGB_pix_fmt 0x0a
52#define IBMRGB_8bpp 0x0b
53#define IBMRGB_16bpp 0x0c
54#define IBMRGB_24bpp 0x0d
55#define IBMRGB_32bpp 0x0e
56#define IBMRGB_pll_ctrl1 0x10
57#define IBMRGB_pll_ctrl2 0x11
58#define IBMRGB_pll_ref_div_fix 0x14
59#define IBMRGB_sysclk_ref_div 0x15 /* not RGB525 */
60#define IBMRGB_sysclk_vco_div 0x16 /* not RGB525 */
61/* #define IBMRGB_f0 0x20 */
62
63#define IBMRGB_sysclk_n 0x15
64#define IBMRGB_sysclk_m 0x16
65#define IBMRGB_sysclk_p 0x17
66#define IBMRGB_sysclk_c 0x18
67
68#define IBMRGB_m0 0x20
69#define IBMRGB_n0 0x21
70#define IBMRGB_p0 0x22
71#define IBMRGB_c0 0x23
72#define IBMRGB_m1 0x24
73#define IBMRGB_n1 0x25
74#define IBMRGB_p1 0x26
75#define IBMRGB_c1 0x27
76#define IBMRGB_m2 0x28
77#define IBMRGB_n2 0x29
78#define IBMRGB_p2 0x2a
79#define IBMRGB_c2 0x2b
80#define IBMRGB_m3 0x2c
81#define IBMRGB_n3 0x2d
82#define IBMRGB_p3 0x2e
83#define IBMRGB_c3 0x2f
84
85#define IBMRGB_curs 0x30
86#define IBMRGB_curs_xl 0x31
87#define IBMRGB_curs_xh 0x32
88#define IBMRGB_curs_yl 0x33
89#define IBMRGB_curs_yh 0x34
90#define IBMRGB_curs_hot_x 0x35
91#define IBMRGB_curs_hot_y 0x36
92#define IBMRGB_curs_col1_r 0x40
93#define IBMRGB_curs_col1_g 0x41
94#define IBMRGB_curs_col1_b 0x42
95#define IBMRGB_curs_col2_r 0x43
96#define IBMRGB_curs_col2_g 0x44
97#define IBMRGB_curs_col2_b 0x45
98#define IBMRGB_curs_col3_r 0x46
99#define IBMRGB_curs_col3_g 0x47
100#define IBMRGB_curs_col3_b 0x48
101#define IBMRGB_border_col_r 0x60
102#define IBMRGB_border_col_g 0x61
103#define IBMRGB_botder_col_b 0x62
104#define IBMRGB_key 0x68
105#define IBMRGB_key_mask 0x6C
106#define IBMRGB_misc1 0x70
107#define IBMRGB_misc2 0x71
108#define IBMRGB_misc3 0x72
109#define IBMRGB_misc4 0x73 /* not RGB525 */
110#define IBMRGB_key_control 0x78
111#define IBMRGB_dac_sense 0x82
112#define IBMRGB_misr_r 0x84
113#define IBMRGB_misr_g 0x86
114#define IBMRGB_misr_b 0x88
115#define IBMRGB_pll_vco_div_in 0x8e
116#define IBMRGB_pll_ref_div_in 0x8f
117#define IBMRGB_vram_mask_0 0x90
118#define IBMRGB_vram_mask_1 0x91
119#define IBMRGB_vram_mask_2 0x92
120#define IBMRGB_vram_mask_3 0x93
121#define IBMRGB_curs_array 0x100
122
123
124
125/* Constants rgb525.h */
126
127/* RGB525_REVISION_LEVEL */
128#define RGB525_PRODUCT_REV_LEVEL 0xf0
129
130/* RGB525_ID */
131#define RGB525_PRODUCT_ID 0x01
132
133/* RGB525_MISC_CTRL_1 */
134#define MISR_CNTL_ENABLE 0x80
135#define VMSK_CNTL_ENABLE 0x40
136#define PADR_RDMT_RDADDR 0x0
137#define PADR_RDMT_PAL_STATE 0x20
138#define SENS_DSAB_DISABLE 0x10
139#define SENS_SEL_BIT3 0x0
140#define SENS_SEL_BIT7 0x08
141#define VRAM_SIZE_32 0x0
142#define VRAM_SIZE_64 0x01
143
144/* RGB525_MISC_CTRL_2 */
145#define PCLK_SEL_LCLK 0x0
146#define PCLK_SEL_PLL 0x40
147#define PCLK_SEL_EXT 0x80
148#define INTL_MODE_ENABLE 0x20
149#define BLANK_CNTL_ENABLE 0x10
150#define COL_RES_6BIT 0x0
151#define COL_RES_8BIT 0x04
152#define PORT_SEL_VGA 0x0
153#define PORT_SEL_VRAM 0x01
154
155/* RGB525_MISC_CTRL_3 */
156#define SWAP_RB 0x80
157#define SWAP_WORD_LOHI 0x0
158#define SWAP_WORD_HILO 0x10
159#define SWAP_NIB_HILO 0x0
160#define SWAP_NIB_LOHI 0x02
161
162/* RGB525_MISC_CLK_CTRL */
163#define DDOT_CLK_ENABLE 0x0
164#define DDOT_CLK_DISABLE 0x80
165#define SCLK_ENABLE 0x0
166#define SCLK_DISABLE 0x40
167#define B24P_DDOT_PLL 0x0
168#define B24P_DDOT_SCLK 0x20
169#define DDOT_DIV_PLL_1 0x0
170#define DDOT_DIV_PLL_2 0x02
171#define DDOT_DIV_PLL_4 0x04
172#define DDOT_DIV_PLL_8 0x06
173#define DDOT_DIV_PLL_16 0x08
174#define PLL_DISABLE 0x0
175#define PLL_ENABLE 0x01
176
177/* RGB525_SYNC_CTRL */
178#define DLY_CNTL_ADD 0x0
179#define DLY_SYNC_NOADD 0x80
180#define CSYN_INVT_DISABLE 0x0
181#define CSYN_INVT_ENABLE 0x40
182#define VSYN_INVT_DISABLE 0x0
183#define VSYN_INVT_ENABLE 0x20
184#define HSYN_INVT_DISABLE 0x0
185#define HSYN_INVT_ENABLE 0x10
186#define VSYN_CNTL_NORMAL 0x0
187#define VSYN_CNTL_HIGH 0x04
188#define VSYN_CNTL_LOW 0x08
189#define VSYN_CNTL_DISABLE 0x0C
190#define HSYN_CNTL_NORMAL 0x0
191#define HSYN_CNTL_HIGH 0x01
192#define HSYN_CNTL_LOW 0x02
193#define HSYN_CNTL_DISABLE 0x03
194
195/* RGB525_HSYNC_CTRL */
196#define HSYN_POS(n) (n)
197
198/* RGB525_POWER_MANAGEMENT */
199#define SCLK_PWR_NORMAL 0x0
200#define SCLK_PWR_DISABLE 0x10
201#define DDOT_PWR_NORMAL 0x0
202#define DDOT_PWR_DISABLE 0x08
203#define SYNC_PWR_NORMAL 0x0
204#define SYNC_PWR_DISABLE 0x04
205#define ICLK_PWR_NORMAL 0x0
206#define ICLK_PWR_DISABLE 0x02
207#define DAC_PWR_NORMAL 0x0
208#define DAC_PWR_DISABLE 0x01
209
210/* RGB525_DAC_OPERATION */
211#define SOG_DISABLE 0x0
212#define SOG_ENABLE 0x08
213#define BRB_NORMAL 0x0
214#define BRB_ALWAYS 0x04
215#define DSR_DAC_SLOW 0x02
216#define DSR_DAC_FAST 0x0
217#define DPE_DISABLE 0x0
218#define DPE_ENABLE 0x01
219
220/* RGB525_PALETTE_CTRL */
221#define SIXBIT_LINEAR_ENABLE 0x0
222#define SIXBIT_LINEAR_DISABLE 0x80
223#define PALETTE_PARITION(n) (n)
224
225/* RGB525_PIXEL_FORMAT */
226#define PIXEL_FORMAT_4BPP 0x02
227#define PIXEL_FORMAT_8BPP 0x03
228#define PIXEL_FORMAT_16BPP 0x04
229#define PIXEL_FORMAT_24BPP 0x05
230#define PIXEL_FORMAT_32BPP 0x06
231
232/* RGB525_8BPP_CTRL */
233#define B8_DCOL_INDIRECT 0x0
234#define B8_DCOL_DIRECT 0x01
235
236/* RGB525_16BPP_CTRL */
237#define B16_DCOL_INDIRECT 0x0
238#define B16_DCOL_DYNAMIC 0x40
239#define B16_DCOL_DIRECT 0xC0
240#define B16_POL_FORCE_BYPASS 0x0
241#define B16_POL_FORCE_LOOKUP 0x20
242#define B16_ZIB 0x0
243#define B16_LINEAR 0x04
244#define B16_555 0x0
245#define B16_565 0x02
246#define B16_SPARSE 0x0
247#define B16_CONTIGUOUS 0x01
248
249/* RGB525_24BPP_CTRL */
250#define B24_DCOL_INDIRECT 0x0
251#define B24_DCOL_DIRECT 0x01
252
253/* RGB525_32BPP_CTRL */
254#define B32_POL_FORCE_BYPASS 0x0
255#define B32_POL_FORCE_LOOKUP 0x04
256#define B32_DCOL_INDIRECT 0x0
257#define B32_DCOL_DYNAMIC 0x01
258#define B32_DCOL_DIRECT 0x03
259
260/* RGB525_PLL_CTRL_1 */
261#define REF_SRC_REFCLK 0x0
262#define REF_SRC_EXTCLK 0x10
263#define PLL_EXT_FS_3_0 0x0
264#define PLL_EXT_FS_2_0 0x01
265#define PLL_CNTL2_3_0 0x02
266#define PLL_CNTL2_2_0 0x03
267
268/* RGB525_PLL_CTRL_2 */
269#define PLL_INT_FS_3_0(n) (n)
270#define PLL_INT_FS_2_0(n) (n)
271
272/* RGB525_PLL_REF_DIV_COUNT */
273#define REF_DIV_COUNT(n) (n)
274
275/* RGB525_F0 - RGB525_F15 */
276#define VCO_DIV_COUNT(n) (n)
277
278/* RGB525_PLL_REFCLK values */
279#define RGB525_PLL_REFCLK_MHz(n) ((n)/2)
280
281/* RGB525_CURSOR_CONTROL */
282#define SMLC_PART_0 0x0
283#define SMLC_PART_1 0x40
284#define SMLC_PART_2 0x80
285#define SMLC_PART_3 0xC0
286#define PIX_ORDER_RL 0x0
287#define PIX_ORDER_LR 0x20
288#define LOC_READ_LAST 0x0
289#define LOC_READ_ACTUAL 0x10
290#define UPDT_CNTL_DELAYED 0x0
291#define UPDT_CNTL_IMMEDIATE 0x08
292#define CURSOR_SIZE_32 0x0
293#define CURSOR_SIZE_64 0x40
294#define CURSOR_MODE_OFF 0x0
295#define CURSOR_MODE_3_COLOR 0x01
296#define CURSOR_MODE_2_COLOR_HL 0x02
297#define CURSOR_MODE_2_COLOR 0x03
298
299/* RGB525_REVISION_LEVEL */
300#define REVISION_LEVEL 0xF0 /* predefined */
301
302/* RGB525_ID */
303#define ID_CODE 0x01 /* predefined */
304
305/* MISR status */
306#define RGB525_MISR_DONE 0x01
307
308/* the IBMRGB640 is rather different from the rest of the RAMDACs,
309 so we define a completely new set of register names for it */
310#define RGB640_SER_07_00 0x02
311#define RGB640_SER_15_08 0x03
312#define RGB640_SER_23_16 0x04
313#define RGB640_SER_31_24 0x05
314#define RGB640_SER_WID_03_00 0x06
315#define RGB640_SER_WID_07_04 0x07
316#define RGB640_SER_MODE 0x08
317#define IBM640_SER_2_1 0x00
318#define IBM640_SER_4_1 0x01
319#define IBM640_SER_8_1 0x02
320#define IBM640_SER_16_1 0x03
321#define IBM640_SER_16_3 0x05
322#define IBM640_SER_5_1 0x06
323#define RGB640_PIXEL_INTERLEAVE 0x09
324#define RGB640_MISC_CONF 0x0a
325#define IBM640_PCLK 0x00
326#define IBM640_PCLK_2 0x40
327#define IBM640_PCLK_4 0x80
328#define IBM640_PCLK_8 0xc0
329#define IBM640_PSIZE10 0x10
330#define IBM640_LCI 0x08
331#define IBM640_WIDCTL_MASK 0x07
332#define RGB640_VGA_CONTROL 0x0b
333#define IBM640_RDBK 0x04
334#define IBM640_PSIZE8 0x02
335#define IBM640_VRAM 0x01
336#define RGB640_DAC_CONTROL 0x0d
337#define IBM640_MONO 0x08
338#define IBM640_DACENBL 0x04
339#define IBM640_SHUNT 0x02
340#define IBM640_SLOWSLEW 0x01
341#define RGB640_OUTPUT_CONTROL 0x0e
342#define IBM640_RDAI 0x04
343#define IBM640_WDAI 0x02
344#define IBM640_WATCTL 0x01
345#define RGB640_SYNC_CONTROL 0x0f
346#define IBM640_PWR 0x20
347#define IBM640_VSP 0x10
348#define IBM640_HSP 0x08
349#define IBM640_CSE 0x04
350#define IBM640_CSG 0x02
351#define IBM640_BPE 0x01
352#define RGB640_PLL_N 0x10
353#define RGB640_PLL_M 0x11
354#define RGB640_PLL_P 0x12
355#define RGB640_PLL_CTL 0x13
356#define IBM640_PLL_EN 0x04
357#define IBM640_PLL_HIGH 0x10
358#define IBM640_PLL_LOW 0x01
359#define RGB640_AUX_PLL_CTL 0x17
360#define IBM640_AUXPLL 0x04
361#define IBM640_AUX_HI 0x02
362#define IBM640_AUX_LO 0x01
363#define RGB640_CHROMA_KEY0 0x20
364#define RGB640_CHROMA_MASK0 0x21
365#define RGB640_CURS_X_LOW 0x40
366#define RGB640_CURS_X_HIGH 0x41
367#define RGB640_CURS_Y_LOW 0x42
368#define RGB640_CURS_Y_HIGH 0x43
369#define RGB640_CURS_OFFSETX 0x44
370#define RGB640_CURS_OFFSETY 0x45
371#define RGB640_CURSOR_CONTROL 0x4B
372#define IBM640_CURS_OFF 0x00
373#define IBM640_CURS_MODE0 0x01
374#define IBM640_CURS_MODE1 0x02
375#define IBM640_CURS_MODE2 0x03
376#define IBM640_CURS_ADV 0x04
377#define RGB640_CROSSHAIR_CONTROL 0x57
378#define RGB640_VRAM_MASK0 0xf0
379#define RGB640_VRAM_MASK1 0xf1
380#define RGB640_VRAM_MASK2 0xf2
381#define RGB640_DIAGS 0xfa
382#define RGB640_CURS_WRITE 0x1000
383#define RGB640_CURS_COL0 0x4800
384#define RGB640_CURS_COL1 0x4801
385#define RGB640_CURS_COL2 0x4802
386#define RGB640_CURS_COL3 0x4803
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette