OSDN Git Service

5dcfc1614d49ddd38559313f33b8cfe497827433
[android-x86/external-mesa.git] / src / mesa / drivers / dri / mga / server / mga_bios.h
1 #ifndef MGA_BIOS_H
2 #define MGA_BIOS_H
3
4
5 /*
6  * MGABiosInfo - This struct describes the video BIOS info block.
7  *
8  * DESCRIPTION
9  *   Do not mess with this, unless you know what you are doing.
10  *   The data lengths and types are critical.
11  *
12  * HISTORY
13  *   October 7, 1996 - [aem] Andrew E. Mileski
14  *   This struct was shamelessly stolen from the MGA DDK.
15  *   It has been reformatted, and the data types changed.
16  */
17 typedef struct {
18         /* Length of this structure in bytes */
19         __u16 StructLen;
20
21         /*
22          * Unique number identifying the product type
23          * 0 : MGA-S1P20 (2MB base with 175MHz Ramdac)
24          * 1 : MGA-S1P21 (2MB base with 220MHz Ramdac)
25          * 2 : Reserved
26          * 3 : Reserved
27          * 4 : MGA-S1P40 (4MB base with 175MHz Ramdac)
28          * 5 : MGA-S1P41 (4MB base with 220MHz Ramdac)
29          */
30         __u16 ProductID;
31
32         /* Serial number of the board */
33         __u8 SerNo[ 10 ];
34
35         /*
36          * Manufacturing date of the board (at product test)
37          * Format: yyyy yyym mmmd dddd
38          */
39         __u16 ManufDate;
40
41         /* Identification of manufacturing site */
42         __u16 ManufId;
43
44         /*
45          * Number and revision level of the PCB
46          * Format: nnnn nnnn nnnr rrrr
47          *         n = PCB number ex:576 (from 0->2047)
48          *         r = PCB revision      (from 0->31)
49          */
50         __u16 PCBInfo;
51
52         /* Identification of any PMBs */
53         __u16 PMBInfo;
54
55         /*
56          * Bit  0-7  : Ramdac speed (0=175MHz, 1=220MHz)
57          * Bit  8-15 : Ramdac type  (0=TVP3026, 1=TVP3027)
58          */
59         __u16 RamdacType;
60
61         /* Maximum PCLK of the ramdac */
62         __u16 PclkMax;
63
64         /* Maximum LDCLK supported by the WRAM memory */
65         __u16 LclkMax;
66
67         /* Maximum MCLK of base board */
68         __u16 ClkBase;
69
70         /* Maximum MCLK of 4Mb board */
71         __u16 Clk4MB;
72
73         /* Maximum MCLK of 8Mb board */
74         __u16 Clk8MB;
75
76         /* Maximum MCLK of board with multimedia module */
77         __u16 ClkMod;
78
79         /* Diagnostic test pass frequency */
80         __u16 TestClk;
81
82         /* Default VGA mode1 pixel frequency */
83         __u16 VGAFreq1;
84
85         /* Default VGA mode2 pixel frequency */
86         __u16 VGAFreq2;
87
88         /* Date of last BIOS programming/update */
89         __u16 ProgramDate;
90
91         /* Number of times BIOS has been programmed */
92         __u16 ProgramCnt;
93
94         /* Support for up to 32 hardware/software options */
95         __u32 Options;
96
97         /* Support for up to 32 hardware/software features */
98         __u32 FeatFlag;
99
100         /* Definition of VGA mode MCLK */
101         __u16 VGAClk;
102
103         /* Indicate the revision level of this header struct */
104         __u16 StructRev;
105
106         __u16 Reserved[ 3 ];
107 } MGABiosInfo;
108
109 /* from the PINS structure, refer pins info from MGA */
110 typedef struct tagParamMGA {
111         __u16   PinID;          /* 0 */
112         __u8    StructLen;      /* 2 */
113         __u8    Rsvd1;          /* 3 */
114         __u16   StructRev;      /* 4 */
115         __u16   ProgramDate;    /* 6 */
116         __u16   ProgramCnt;     /* 8 */
117         __u16   ProductID;      /* 10 */
118         __u8    SerNo[16];      /* 12 */
119         __u8    PLInfo[6];      /* 28 */
120         __u16   PCBInfo;        /* 34 */
121         __u32   FeatFlag;       /* 36 */
122         __u8    RamdacType;     /* 40 */
123         __u8    RamdacSpeed;    /* 41 */
124         __u8    PclkMax;        /* 42 */
125         __u8    ClkGE;          /* 43 */
126         __u8   ClkMem;          /* 44 */
127         __u8    Clk4MB;         /* 45 */
128         __u8    Clk8MB;         /* 46 */
129         __u8    ClkMod;         /* 47 */
130         __u8    TestClk;        /* 48 */
131         __u8    VGAFreq1;       /* 49 */
132         __u8    VGAFreq2;       /* 50 */
133         __u8    MCTLWTST;       /* 51 */
134         __u8    VidCtrl;        /* 52 */
135         __u8    Clk12MB;        /* 53 */
136         __u8    Clk16MB;        /* 54 */
137         __u8    Reserved[8];    /* 55-62 */
138         __u8    PinCheck;       /* 63 */
139 }       MGABios2Info;
140
141 #endif