sisfb.h
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020:
021: #ifndef _LINUX_SISFB_H_
022: #define _LINUX_SISFB_H_
023:
024: #include <linux/types.h>
025: #include <asm/ioctl.h>
026:
027:
028:
029:
030:
031:
032: #define CRT2_DEFAULT 0x00000001
033: #define CRT2_LCD 0x00000002
034: #define CRT2_TV 0x00000004
035: #define CRT2_VGA 0x00000008
036: #define TV_NTSC 0x00000010
037: #define TV_PAL 0x00000020
038: #define TV_HIVISION 0x00000040
039: #define TV_YPBPR 0x00000080
040: #define TV_AVIDEO 0x00000100
041: #define TV_SVIDEO 0x00000200
042: #define TV_SCART 0x00000400
043: #define TV_PALM 0x00001000
044: #define TV_PALN 0x00002000
045: #define TV_NTSCJ 0x00001000
046: #define TV_CHSCART 0x00008000
047: #define TV_CHYPBPR525I 0x00010000
048: #define CRT1_VGA 0x00000000
049: #define CRT1_LCDA 0x00020000
050: #define VGA2_CONNECTED 0x00040000
051: #define VB_DISPTYPE_CRT1 0x00080000
052: #define VB_SINGLE_MODE 0x20000000
053: #define VB_MIRROR_MODE 0x40000000
054: #define VB_DUALVIEW_MODE 0x80000000
055:
056:
057: #define CRT2_ENABLE (CRT2_LCD | CRT2_TV | CRT2_VGA)
058: #define TV_STANDARD (TV_NTSC | TV_PAL | TV_PALM | TV_PALN | TV_NTSCJ)
059: #define TV_INTERFACE (TV_AVIDEO|TV_SVIDEO|TV_SCART|TV_HIVISION|TV_YPBPR|TV_CHSCART|TV_CHYPBPR525I)
060:
061:
062: #define TV_YPBPR525I TV_NTSC
063: #define TV_YPBPR525P TV_PAL
064: #define TV_YPBPR750P TV_PALM
065: #define TV_YPBPR1080I TV_PALN
066: #define TV_YPBPRALL (TV_YPBPR525I | TV_YPBPR525P | TV_YPBPR750P | TV_YPBPR1080I)
067:
068: #define VB_DISPTYPE_DISP2 CRT2_ENABLE
069: #define VB_DISPTYPE_CRT2 CRT2_ENABLE
070: #define VB_DISPTYPE_DISP1 VB_DISPTYPE_CRT1
071: #define VB_DISPMODE_SINGLE VB_SINGLE_MODE
072: #define VB_DISPMODE_MIRROR VB_MIRROR_MODE
073: #define VB_DISPMODE_DUAL VB_DUALVIEW_MODE
074: #define VB_DISPLAY_MODE (SINGLE_MODE | MIRROR_MODE | DUALVIEW_MODE)
075:
076:
077: struct sisfb_info {
078: __u32 sisfb_id;
079: #ifndef SISFB_ID
080: #define SISFB_ID 0x53495346
081: #endif
082: __u32 chip_id;
083: __u32 memory;
084: __u32 heapstart;
085: __u8 fbvidmode;
086:
087: __u8 sisfb_version;
088: __u8 sisfb_revision;
089: __u8 sisfb_patchlevel;
090:
091: __u8 sisfb_caps;
092:
093: __u32 sisfb_tqlen;
094:
095: __u32 sisfb_pcibus;
096: __u32 sisfb_pcislot;
097: __u32 sisfb_pcifunc;
098:
099: __u8 sisfb_lcdpdc;
100:
101: __u8 sisfb_lcda;
102:
103: __u32 sisfb_vbflags;
104: __u32 sisfb_currentvbflags;
105:
106: __u32 sisfb_scalelcd;
107: __u32 sisfb_specialtiming;
108:
109: __u8 sisfb_haveemi;
110: __u8 sisfb_emi30,sisfb_emi31,sisfb_emi32,sisfb_emi33;
111: __u8 sisfb_haveemilcd;
112:
113: __u8 sisfb_lcdpdca;
114:
115: __u16 sisfb_tvxpos, sisfb_tvypos;
116:
117: __u32 sisfb_heapsize;
118: __u32 sisfb_videooffset;
119:
120: __u32 sisfb_curfstn;
121: __u32 sisfb_curdstn;
122:
123: __u16 sisfb_pci_vendor;
124:
125: __u32 sisfb_vbflags2;
126:
127: __u8 sisfb_can_post;
128: __u8 sisfb_card_posted;
129: __u8 sisfb_was_boot_device;
130:
131: __u8 reserved[183];
132: };
133:
134: #define SISFB_CMD_GETVBFLAGS 0x55AA0001
135: #define SISFB_CMD_SWITCHCRT1 0x55AA0010
136:
137:
138: #define SISFB_CMD_ERR_OK 0x80000000
139: #define SISFB_CMD_ERR_LOCKED 0x80000001
140: #define SISFB_CMD_ERR_EARLY 0x80000002
141: #define SISFB_CMD_ERR_NOVB 0x80000003
142: #define SISFB_CMD_ERR_NOCRT2 0x80000004
143:
144: #define SISFB_CMD_ERR_UNKNOWN 0x8000ffff
145: #define SISFB_CMD_ERR_OTHER 0x80010000
146:
147:
148: struct sisfb_cmd {
149: __u32 sisfb_cmd;
150: __u32 sisfb_arg[16];
151: __u32 sisfb_result[4];
152: };
153:
154:
155:
156:
157:
158: #define SISFB_GET_INFO_SIZE _IOR(0xF3,0x00,__u32)
159: #define SISFB_GET_INFO _IOR(0xF3,0x01,struct sisfb_info)
160:
161:
162: #define SISFB_GET_VBRSTATUS _IOR(0xF3,0x02,__u32)
163:
164:
165: #define SISFB_GET_AUTOMAXIMIZE _IOR(0xF3,0x03,__u32)
166: #define SISFB_SET_AUTOMAXIMIZE _IOW(0xF3,0x03,__u32)
167:
168:
169: #define SISFB_GET_TVPOSOFFSET _IOR(0xF3,0x04,__u32)
170: #define SISFB_SET_TVPOSOFFSET _IOW(0xF3,0x04,__u32)
171:
172:
173: #define SISFB_COMMAND _IOWR(0xF3,0x05,struct sisfb_cmd)
174:
175:
176:
177:
178:
179: #define SISFB_SET_LOCK _IOW(0xF3,0x06,__u32)
180:
181:
182:
183:
184:
185:
186:
187: #define SISFB_GET_INFO_OLD _IOR('n',0xF8,__u32)
188:
189: #define SISFB_GET_VBRSTATUS_OLD _IOR('n',0xF9,__u32)
190:
191: #define SISFB_GET_AUTOMAXIMIZE_OLD _IOR('n',0xFA,__u32)
192: #define SISFB_SET_AUTOMAXIMIZE_OLD _IOW('n',0xFA,__u32)
193:
194:
195:
196:
197:
198: struct sis_memreq {
199: __u32 offset;
200: __u32 size;
201: };
202:
203:
204:
205:
206:
207:
208:
209: #endif
210:
© Andrew Scott 2006 -
2025,
All Rights Reserved