• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * This header was generated from the Linux kernel headers by update_headers.py,
3  * to provide necessary information from kernel to userspace, such as constants,
4  * structures, and macros, and thus, contains no copyrightable information.
5  */
6 #ifndef _UAPI_LINUX_SISFB_H_
7 #define _UAPI_LINUX_SISFB_H_
8 #include <linux/types.h>
9 #include <asm/ioctl.h>
10 #define CRT2_DEFAULT		0x00000001
11 #define CRT2_LCD		0x00000002
12 #define CRT2_TV			0x00000004
13 #define CRT2_VGA		0x00000008
14 #define TV_NTSC			0x00000010
15 #define TV_PAL			0x00000020
16 #define TV_HIVISION		0x00000040
17 #define TV_YPBPR		0x00000080
18 #define TV_AVIDEO		0x00000100
19 #define TV_SVIDEO		0x00000200
20 #define TV_SCART		0x00000400
21 #define TV_PALM			0x00001000
22 #define TV_PALN			0x00002000
23 #define TV_NTSCJ		0x00001000
24 #define TV_CHSCART		0x00008000
25 #define TV_CHYPBPR525I		0x00010000
26 #define CRT1_VGA		0x00000000
27 #define CRT1_LCDA		0x00020000
28 #define VGA2_CONNECTED          0x00040000
29 #define VB_DISPTYPE_CRT1	0x00080000
30 #define VB_SINGLE_MODE		0x20000000
31 #define VB_MIRROR_MODE		0x40000000
32 #define VB_DUALVIEW_MODE	0x80000000
33 #define CRT2_ENABLE		(CRT2_LCD | CRT2_TV | CRT2_VGA)
34 #define TV_STANDARD		(TV_NTSC | TV_PAL | TV_PALM | TV_PALN | TV_NTSCJ)
35 #define TV_INTERFACE		(TV_AVIDEO|TV_SVIDEO|TV_SCART|TV_HIVISION|TV_YPBPR|TV_CHSCART|TV_CHYPBPR525I)
36 #define TV_YPBPR525I		TV_NTSC
37 #define TV_YPBPR525P		TV_PAL
38 #define TV_YPBPR750P		TV_PALM
39 #define TV_YPBPR1080I		TV_PALN
40 #define TV_YPBPRALL 		(TV_YPBPR525I | TV_YPBPR525P | TV_YPBPR750P | TV_YPBPR1080I)
41 #define VB_DISPTYPE_DISP2	CRT2_ENABLE
42 #define VB_DISPTYPE_CRT2	CRT2_ENABLE
43 #define VB_DISPTYPE_DISP1	VB_DISPTYPE_CRT1
44 #define VB_DISPMODE_SINGLE	VB_SINGLE_MODE
45 #define VB_DISPMODE_MIRROR	VB_MIRROR_MODE
46 #define VB_DISPMODE_DUAL	VB_DUALVIEW_MODE
47 #define VB_DISPLAY_MODE		(SINGLE_MODE | MIRROR_MODE | DUALVIEW_MODE)
48 struct sisfb_info {
49 	__u32	sisfb_id;
50 #ifndef SISFB_ID
51 #define SISFB_ID	  0x53495346
52 #endif
53 	__u32   chip_id;
54 	__u32   memory;
55 	__u32   heapstart;
56 	__u8    fbvidmode;
57 	__u8	sisfb_version;
58 	__u8	sisfb_revision;
59 	__u8	sisfb_patchlevel;
60 	__u8	sisfb_caps;
61 	__u32	sisfb_tqlen;
62 	__u32	sisfb_pcibus;
63 	__u32	sisfb_pcislot;
64 	__u32	sisfb_pcifunc;
65 	__u8	sisfb_lcdpdc;
66 	__u8	sisfb_lcda;
67 	__u32	sisfb_vbflags;
68 	__u32	sisfb_currentvbflags;
69 	__u32	sisfb_scalelcd;
70 	__u32	sisfb_specialtiming;
71 	__u8	sisfb_haveemi;
72 	__u8	sisfb_emi30,sisfb_emi31,sisfb_emi32,sisfb_emi33;
73 	__u8	sisfb_haveemilcd;
74 	__u8	sisfb_lcdpdca;
75 	__u16	sisfb_tvxpos, sisfb_tvypos;
76 	__u32	sisfb_heapsize;
77 	__u32	sisfb_videooffset;
78 	__u32	sisfb_curfstn;
79 	__u32	sisfb_curdstn;
80 	__u16	sisfb_pci_vendor;
81 	__u32	sisfb_vbflags2;
82 	__u8	sisfb_can_post;
83 	__u8	sisfb_card_posted;
84 	__u8	sisfb_was_boot_device;
85 	__u8	reserved[183];
86 };
87 #define SISFB_CMD_GETVBFLAGS	0x55AA0001
88 #define SISFB_CMD_SWITCHCRT1	0x55AA0010
89 #define SISFB_CMD_ERR_OK	0x80000000
90 #define SISFB_CMD_ERR_LOCKED	0x80000001
91 #define SISFB_CMD_ERR_EARLY	0x80000002
92 #define SISFB_CMD_ERR_NOVB	0x80000003
93 #define SISFB_CMD_ERR_NOCRT2	0x80000004
94 #define SISFB_CMD_ERR_UNKNOWN   0x8000ffff
95 #define SISFB_CMD_ERR_OTHER	0x80010000
96 struct sisfb_cmd {
97 	__u32  sisfb_cmd;
98 	__u32  sisfb_arg[16];
99 	__u32  sisfb_result[4];
100 };
101 #define SISFB_GET_INFO_SIZE	_IOR(0xF3,0x00,__u32)
102 #define SISFB_GET_INFO		_IOR(0xF3,0x01,struct sisfb_info)
103 #define SISFB_GET_VBRSTATUS	_IOR(0xF3,0x02,__u32)
104 #define SISFB_GET_AUTOMAXIMIZE	_IOR(0xF3,0x03,__u32)
105 #define SISFB_SET_AUTOMAXIMIZE	_IOW(0xF3,0x03,__u32)
106 #define SISFB_GET_TVPOSOFFSET	_IOR(0xF3,0x04,__u32)
107 #define SISFB_SET_TVPOSOFFSET	_IOW(0xF3,0x04,__u32)
108 #define SISFB_COMMAND		_IOWR(0xF3,0x05,struct sisfb_cmd)
109 #define SISFB_SET_LOCK		_IOW(0xF3,0x06,__u32)
110 #define SISFB_GET_INFO_OLD	   _IOR('n',0xF8,__u32)
111 #define SISFB_GET_VBRSTATUS_OLD	   _IOR('n',0xF9,__u32)
112 #define SISFB_GET_AUTOMAXIMIZE_OLD _IOR('n',0xFA,__u32)
113 #define SISFB_SET_AUTOMAXIMIZE_OLD _IOW('n',0xFA,__u32)
114 struct sis_memreq {
115 	__u32	offset;
116 	__u32	size;
117 };
118 #endif
119