File: /usr/include/linux/sisfb.h

1     #ifndef _LINUX_SISFB
2     #define _LINUX_SISFB
3     
4     /* CRT2 connection */
5     #define MASK_DISPTYPE_CRT2     0x04         /* Connect CRT2 */
6     #define MASK_DISPTYPE_LCD      0x02         /* Connect LCD */
7     #define MASK_DISPTYPE_TV       0x01         /* Connect TV */
8     #define MASK_DISPTYPE_DISP2    (MASK_DISPTYPE_LCD | MASK_DISPTYPE_TV | MASK_DISPTYPE_CRT2)
9     
10     #define DISPTYPE_CRT1       0x00000008L
11     #define DISPTYPE_CRT2       0x00000004L
12     #define DISPTYPE_LCD        0x00000002L
13     #define DISPTYPE_TV         0x00000001L
14     #define DISPTYPE_DISP1      DISPTYPE_CRT1
15     #define DISPTYPE_DISP2      (DISPTYPE_CRT2 | DISPTYPE_LCD | DISPTYPE_TV)
16     #define DISPMODE_SINGLE	    0x00000020L
17     #define DISPMODE_MIRROR	    0x00000010L
18     #define DISPMODE_DUALVIEW   0x00000040L
19     
20     #define HASVB_NONE      	0
21     #define HASVB_301       	1
22     #define HASVB_LVDS      	2
23     #define HASVB_TRUMPION  	3
24     #define HASVB_LVDS_CHRONTEL	4
25     #define HASVB_LVDS_ALL      (HASVB_LVDS | HASVB_TRUMPION | HASVB_LVDS_CHRONTEL)
26     
27     enum _TVMODE
28     {
29     	TVMODE_NTSC = 0,
30     	TVMODE_PAL,
31     	TVMODE_HIVISION,
32     	TVMODE_TOTAL
33     };
34     
35     enum _TVPLUGTYPE
36     {
37     	TVPLUG_UNKNOWN = 0,
38     	TVPLUG_COMPOSITE,
39     	TVPLUG_SVIDEO,
40     	TVPLUG_SCART,
41     	TVPLUG_TOTAL
42     };
43     
44     enum CHIPTYPE
45     {
46     	SiS_UNKNOWN = 0,
47     	SiS_300,
48     	SiS_540,
49     	SiS_630,
50     	SiS_630S,
51     	SiS_730
52     };
53     
54     struct sis_memreq
55     {
56         unsigned long offset;
57         unsigned long size;
58     };
59     
60     /* Data for AP */
61     struct mode_info
62     {
63         int    bpp;
64         int    xres;
65         int    yres;
66         int    v_xres;
67         int    v_yres;
68         int    org_x;
69         int    org_y;
70         unsigned int  vrate;
71     };
72     
73     struct ap_data
74     {
75         struct mode_info minfo;
76         unsigned long iobase;
77         unsigned int  mem_size;
78         unsigned long disp_state;    	
79     	enum CHIPTYPE chip;
80     };
81     
82     
83     /* Data for kernel */
84     struct video_info
85     {
86         /* card parameters */
87         int    chip_id;
88         unsigned int  video_size;
89         unsigned long video_base;
90         char  *video_vbase;
91         unsigned long mmio_base;
92         char  *mmio_vbase; 
93         unsigned long vga_base;
94     
95         /* mode */
96         int    video_bpp;
97         int    video_width;
98         int    video_height;
99         int    video_vwidth;
100         int    video_vheight;
101         int    org_x;
102         int    org_y;
103         unsigned int refresh_rate;
104     
105         /* VB functions */
106         unsigned long disp_state;
107         unsigned char hasVB;
108         unsigned char TV_type;
109         unsigned char TV_plug;
110     };
111     
112     #ifdef __KERNEL__
113     extern struct video_info ivideo;
114     
115     extern void sis_malloc(struct sis_memreq *req);
116     extern void sis_free(unsigned long base);
117     #endif
118     #endif
119