]> Pileus Git - ~andy/linux/blob - drivers/staging/sm7xx/smtcfb.h
staging: sm7xx: dead code removal
[~andy/linux] / drivers / staging / sm7xx / smtcfb.h
1 /*
2  * Silicon Motion SM712 frame buffer device
3  *
4  * Copyright (C) 2006 Silicon Motion Technology Corp.
5  * Authors:     Ge Wang, gewang@siliconmotion.com
6  *              Boyod boyod.yang@siliconmotion.com.cn
7  *
8  * Copyright (C) 2009 Lemote, Inc.
9  * Author: Wu Zhangjin, wuzhangjin@gmail.com
10  *
11  *  This file is subject to the terms and conditions of the GNU General Public
12  *  License. See the file COPYING in the main directory of this archive for
13  *  more details.
14  */
15
16 #define SMTC_LINUX_FB_VERSION   "version 0.11.2619.21.01 July 27, 2008"
17
18 #define NR_PALETTE        256
19 #define NR_RGB            2
20
21 #define FB_ACCEL_SMI_LYNX 88
22
23 #define SCREEN_X_RES      1024
24 #define SCREEN_Y_RES      600
25 #define SCREEN_BPP        16
26
27 /*Assume SM712 graphics chip has 4MB VRAM */
28 #define SM712_VIDEOMEMORYSIZE     0x00400000
29 /*Assume SM722 graphics chip has 8MB VRAM */
30 #define SM722_VIDEOMEMORYSIZE     0x00800000
31
32 #define dac_reg (0x3c8)
33 #define dac_val (0x3c9)
34
35 extern char __iomem *smtc_RegBaseAddress;
36 #define smtc_mmiowb(dat, reg)   writeb(dat, smtc_RegBaseAddress + reg)
37 #define smtc_mmioww(dat, reg)   writew(dat, smtc_RegBaseAddress + reg)
38 #define smtc_mmiowl(dat, reg)   writel(dat, smtc_RegBaseAddress + reg)
39
40 #define smtc_mmiorb(reg)        readb(smtc_RegBaseAddress + reg)
41 #define smtc_mmiorw(reg)        readw(smtc_RegBaseAddress + reg)
42 #define smtc_mmiorl(reg)        readl(smtc_RegBaseAddress + reg)
43
44 #define SIZE_SR00_SR04      (0x04 - 0x00 + 1)
45 #define SIZE_SR10_SR24      (0x24 - 0x10 + 1)
46 #define SIZE_SR30_SR75      (0x75 - 0x30 + 1)
47 #define SIZE_SR80_SR93      (0x93 - 0x80 + 1)
48 #define SIZE_SRA0_SRAF      (0xAF - 0xA0 + 1)
49 #define SIZE_GR00_GR08      (0x08 - 0x00 + 1)
50 #define SIZE_AR00_AR14      (0x14 - 0x00 + 1)
51 #define SIZE_CR00_CR18      (0x18 - 0x00 + 1)
52 #define SIZE_CR30_CR4D      (0x4D - 0x30 + 1)
53 #define SIZE_CR90_CRA7      (0xA7 - 0x90 + 1)
54 #define SIZE_VPR                (0x6C + 1)
55 #define SIZE_DPR                (0x44 + 1)
56
57 static inline void smtc_crtcw(int reg, int val)
58 {
59         smtc_mmiowb(reg, 0x3d4);
60         smtc_mmiowb(val, 0x3d5);
61 }
62
63 static inline unsigned int smtc_crtcr(int reg)
64 {
65         smtc_mmiowb(reg, 0x3d4);
66         return smtc_mmiorb(0x3d5);
67 }
68
69 static inline void smtc_grphw(int reg, int val)
70 {
71         smtc_mmiowb(reg, 0x3ce);
72         smtc_mmiowb(val, 0x3cf);
73 }
74
75 static inline unsigned int smtc_grphr(int reg)
76 {
77         smtc_mmiowb(reg, 0x3ce);
78         return smtc_mmiorb(0x3cf);
79 }
80
81 static inline void smtc_attrw(int reg, int val)
82 {
83         smtc_mmiorb(0x3da);
84         smtc_mmiowb(reg, 0x3c0);
85         smtc_mmiorb(0x3c1);
86         smtc_mmiowb(val, 0x3c0);
87 }
88
89 static inline void smtc_seqw(int reg, int val)
90 {
91         smtc_mmiowb(reg, 0x3c4);
92         smtc_mmiowb(val, 0x3c5);
93 }
94
95 static inline unsigned int smtc_seqr(int reg)
96 {
97         smtc_mmiowb(reg, 0x3c4);
98         return smtc_mmiorb(0x3c5);
99 }
100
101 /* The next structure holds all information relevant for a specific video mode.
102  */
103
104 struct ModeInit {
105         int mmSizeX;
106         int mmSizeY;
107         int bpp;
108         int hz;
109         unsigned char Init_MISC;
110         unsigned char Init_SR00_SR04[SIZE_SR00_SR04];
111         unsigned char Init_SR10_SR24[SIZE_SR10_SR24];
112         unsigned char Init_SR30_SR75[SIZE_SR30_SR75];
113         unsigned char Init_SR80_SR93[SIZE_SR80_SR93];
114         unsigned char Init_SRA0_SRAF[SIZE_SRA0_SRAF];
115         unsigned char Init_GR00_GR08[SIZE_GR00_GR08];
116         unsigned char Init_AR00_AR14[SIZE_AR00_AR14];
117         unsigned char Init_CR00_CR18[SIZE_CR00_CR18];
118         unsigned char Init_CR30_CR4D[SIZE_CR30_CR4D];
119         unsigned char Init_CR90_CRA7[SIZE_CR90_CRA7];
120 };
121
122 /**********************************************************************
123                          SM712 Mode table.
124  **********************************************************************/
125 struct ModeInit VGAMode[] = {
126         {
127          /*  mode#0: 640 x 480  16Bpp  60Hz */
128          640, 480, 16, 60,
129          /*  Init_MISC */
130          0xE3,
131          {                      /*  Init_SR0_SR4 */
132           0x03, 0x01, 0x0F, 0x00, 0x0E,
133           },
134          {                      /*  Init_SR10_SR24 */
135           0xFF, 0xBE, 0xEF, 0xFF, 0x00, 0x0E, 0x17, 0x2C,
136           0x99, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
137           0xC4, 0x30, 0x02, 0x01, 0x01,
138           },
139          {                      /*  Init_SR30_SR75 */
140           0x32, 0x03, 0xA0, 0x09, 0xC0, 0x32, 0x32, 0x32,
141           0x32, 0x32, 0x32, 0x32, 0x00, 0x00, 0x03, 0xFF,
142           0x00, 0xFC, 0x00, 0x00, 0x20, 0x18, 0x00, 0xFC,
143           0x20, 0x0C, 0x44, 0x20, 0x00, 0x32, 0x32, 0x32,
144           0x04, 0x24, 0x63, 0x4F, 0x52, 0x0B, 0xDF, 0xEA,
145           0x04, 0x50, 0x19, 0x32, 0x32, 0x00, 0x00, 0x32,
146           0x01, 0x80, 0x7E, 0x1A, 0x1A, 0x00, 0x00, 0x00,
147           0x50, 0x03, 0x74, 0x14, 0x07, 0x82, 0x07, 0x04,
148           0x00, 0x45, 0x30, 0x30, 0x40, 0x30,
149           },
150          {                      /*  Init_SR80_SR93 */
151           0xFF, 0x07, 0x00, 0x6F, 0x7F, 0x7F, 0xFF, 0x32,
152           0xF7, 0x00, 0x00, 0x00, 0xEF, 0xFF, 0x32, 0x32,
153           0x00, 0x00, 0x00, 0x00,
154           },
155          {                      /*  Init_SRA0_SRAF */
156           0x00, 0xFF, 0xBF, 0xFF, 0xFF, 0xED, 0xED, 0xED,
157           0x7B, 0xFF, 0xFF, 0xFF, 0xBF, 0xEF, 0xFF, 0xDF,
158           },
159          {                      /*  Init_GR00_GR08 */
160           0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x05, 0x0F,
161           0xFF,
162           },
163          {                      /*  Init_AR00_AR14 */
164           0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
165           0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
166           0x41, 0x00, 0x0F, 0x00, 0x00,
167           },
168          {                      /*  Init_CR00_CR18 */
169           0x5F, 0x4F, 0x4F, 0x00, 0x53, 0x1F, 0x0B, 0x3E,
170           0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
171           0xEA, 0x0C, 0xDF, 0x50, 0x40, 0xDF, 0x00, 0xE3,
172           0xFF,
173           },
174          {                      /*  Init_CR30_CR4D */
175           0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x03, 0x20,
176           0x00, 0x00, 0x00, 0x40, 0x00, 0xE7, 0xFF, 0xFD,
177           0x5F, 0x4F, 0x00, 0x54, 0x00, 0x0B, 0xDF, 0x00,
178           0xEA, 0x0C, 0x2E, 0x00, 0x4F, 0xDF,
179           },
180          {                      /*  Init_CR90_CRA7 */
181           0x56, 0xDD, 0x5E, 0xEA, 0x87, 0x44, 0x8F, 0x55,
182           0x0A, 0x8F, 0x55, 0x0A, 0x00, 0x00, 0x18, 0x00,
183           0x11, 0x10, 0x0B, 0x0A, 0x0A, 0x0A, 0x0A, 0x00,
184           },
185          },
186         {
187          /*  mode#1: 640 x 480  24Bpp  60Hz */
188          640, 480, 24, 60,
189          /*  Init_MISC */
190          0xE3,
191          {                      /*  Init_SR0_SR4 */
192           0x03, 0x01, 0x0F, 0x00, 0x0E,
193           },
194          {                      /*  Init_SR10_SR24 */
195           0xFF, 0xBE, 0xEF, 0xFF, 0x00, 0x0E, 0x17, 0x2C,
196           0x99, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
197           0xC4, 0x30, 0x02, 0x01, 0x01,
198           },
199          {                      /*  Init_SR30_SR75 */
200           0x32, 0x03, 0xA0, 0x09, 0xC0, 0x32, 0x32, 0x32,
201           0x32, 0x32, 0x32, 0x32, 0x00, 0x00, 0x03, 0xFF,
202           0x00, 0xFC, 0x00, 0x00, 0x20, 0x18, 0x00, 0xFC,
203           0x20, 0x0C, 0x44, 0x20, 0x00, 0x32, 0x32, 0x32,
204           0x04, 0x24, 0x63, 0x4F, 0x52, 0x0B, 0xDF, 0xEA,
205           0x04, 0x50, 0x19, 0x32, 0x32, 0x00, 0x00, 0x32,
206           0x01, 0x80, 0x7E, 0x1A, 0x1A, 0x00, 0x00, 0x00,
207           0x50, 0x03, 0x74, 0x14, 0x07, 0x82, 0x07, 0x04,
208           0x00, 0x45, 0x30, 0x30, 0x40, 0x30,
209           },
210          {                      /*  Init_SR80_SR93 */
211           0xFF, 0x07, 0x00, 0x6F, 0x7F, 0x7F, 0xFF, 0x32,
212           0xF7, 0x00, 0x00, 0x00, 0xEF, 0xFF, 0x32, 0x32,
213           0x00, 0x00, 0x00, 0x00,
214           },
215          {                      /*  Init_SRA0_SRAF */
216           0x00, 0xFF, 0xBF, 0xFF, 0xFF, 0xED, 0xED, 0xED,
217           0x7B, 0xFF, 0xFF, 0xFF, 0xBF, 0xEF, 0xFF, 0xDF,
218           },
219          {                      /*  Init_GR00_GR08 */
220           0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x05, 0x0F,
221           0xFF,
222           },
223          {                      /*  Init_AR00_AR14 */
224           0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
225           0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
226           0x41, 0x00, 0x0F, 0x00, 0x00,
227           },
228          {                      /*  Init_CR00_CR18 */
229           0x5F, 0x4F, 0x4F, 0x00, 0x53, 0x1F, 0x0B, 0x3E,
230           0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
231           0xEA, 0x0C, 0xDF, 0x50, 0x40, 0xDF, 0x00, 0xE3,
232           0xFF,
233           },
234          {                      /*  Init_CR30_CR4D */
235           0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x03, 0x20,
236           0x00, 0x00, 0x00, 0x40, 0x00, 0xE7, 0xFF, 0xFD,
237           0x5F, 0x4F, 0x00, 0x54, 0x00, 0x0B, 0xDF, 0x00,
238           0xEA, 0x0C, 0x2E, 0x00, 0x4F, 0xDF,
239           },
240          {                      /*  Init_CR90_CRA7 */
241           0x56, 0xDD, 0x5E, 0xEA, 0x87, 0x44, 0x8F, 0x55,
242           0x0A, 0x8F, 0x55, 0x0A, 0x00, 0x00, 0x18, 0x00,
243           0x11, 0x10, 0x0B, 0x0A, 0x0A, 0x0A, 0x0A, 0x00,
244           },
245          },
246         {
247          /*  mode#0: 640 x 480  32Bpp  60Hz */
248          640, 480, 32, 60,
249          /*  Init_MISC */
250          0xE3,
251          {                      /*  Init_SR0_SR4 */
252           0x03, 0x01, 0x0F, 0x00, 0x0E,
253           },
254          {                      /*  Init_SR10_SR24 */
255           0xFF, 0xBE, 0xEF, 0xFF, 0x00, 0x0E, 0x17, 0x2C,
256           0x99, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
257           0xC4, 0x30, 0x02, 0x01, 0x01,
258           },
259          {                      /*  Init_SR30_SR75 */
260           0x32, 0x03, 0xA0, 0x09, 0xC0, 0x32, 0x32, 0x32,
261           0x32, 0x32, 0x32, 0x32, 0x00, 0x00, 0x03, 0xFF,
262           0x00, 0xFC, 0x00, 0x00, 0x20, 0x18, 0x00, 0xFC,
263           0x20, 0x0C, 0x44, 0x20, 0x00, 0x32, 0x32, 0x32,
264           0x04, 0x24, 0x63, 0x4F, 0x52, 0x0B, 0xDF, 0xEA,
265           0x04, 0x50, 0x19, 0x32, 0x32, 0x00, 0x00, 0x32,
266           0x01, 0x80, 0x7E, 0x1A, 0x1A, 0x00, 0x00, 0x00,
267           0x50, 0x03, 0x74, 0x14, 0x07, 0x82, 0x07, 0x04,
268           0x00, 0x45, 0x30, 0x30, 0x40, 0x30,
269           },
270          {                      /*  Init_SR80_SR93 */
271           0xFF, 0x07, 0x00, 0x6F, 0x7F, 0x7F, 0xFF, 0x32,
272           0xF7, 0x00, 0x00, 0x00, 0xEF, 0xFF, 0x32, 0x32,
273           0x00, 0x00, 0x00, 0x00,
274           },
275          {                      /*  Init_SRA0_SRAF */
276           0x00, 0xFF, 0xBF, 0xFF, 0xFF, 0xED, 0xED, 0xED,
277           0x7B, 0xFF, 0xFF, 0xFF, 0xBF, 0xEF, 0xFF, 0xDF,
278           },
279          {                      /*  Init_GR00_GR08 */
280           0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x05, 0x0F,
281           0xFF,
282           },
283          {                      /*  Init_AR00_AR14 */
284           0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
285           0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
286           0x41, 0x00, 0x0F, 0x00, 0x00,
287           },
288          {                      /*  Init_CR00_CR18 */
289           0x5F, 0x4F, 0x4F, 0x00, 0x53, 0x1F, 0x0B, 0x3E,
290           0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
291           0xEA, 0x0C, 0xDF, 0x50, 0x40, 0xDF, 0x00, 0xE3,
292           0xFF,
293           },
294          {                      /*  Init_CR30_CR4D */
295           0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x03, 0x20,
296           0x00, 0x00, 0x00, 0x40, 0x00, 0xE7, 0xFF, 0xFD,
297           0x5F, 0x4F, 0x00, 0x54, 0x00, 0x0B, 0xDF, 0x00,
298           0xEA, 0x0C, 0x2E, 0x00, 0x4F, 0xDF,
299           },
300          {                      /*  Init_CR90_CRA7 */
301           0x56, 0xDD, 0x5E, 0xEA, 0x87, 0x44, 0x8F, 0x55,
302           0x0A, 0x8F, 0x55, 0x0A, 0x00, 0x00, 0x18, 0x00,
303           0x11, 0x10, 0x0B, 0x0A, 0x0A, 0x0A, 0x0A, 0x00,
304           },
305          },
306
307         {                       /*  mode#2: 800 x 600  16Bpp  60Hz */
308          800, 600, 16, 60,
309          /*  Init_MISC */
310          0x2B,
311          {                      /*  Init_SR0_SR4 */
312           0x03, 0x01, 0x0F, 0x03, 0x0E,
313           },
314          {                      /*  Init_SR10_SR24 */
315           0xFF, 0xBE, 0xEE, 0xFF, 0x00, 0x0E, 0x17, 0x2C,
316           0x99, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
317           0xC4, 0x30, 0x02, 0x01, 0x01,
318           },
319          {                      /*  Init_SR30_SR75 */
320           0x34, 0x03, 0x20, 0x09, 0xC0, 0x24, 0x24, 0x24,
321           0x24, 0x24, 0x24, 0x24, 0x00, 0x00, 0x03, 0xFF,
322           0x00, 0xFC, 0x00, 0x00, 0x20, 0x38, 0x00, 0xFC,
323           0x20, 0x0C, 0x44, 0x20, 0x00, 0x24, 0x24, 0x24,
324           0x04, 0x48, 0x83, 0x63, 0x68, 0x72, 0x57, 0x58,
325           0x04, 0x55, 0x59, 0x24, 0x24, 0x00, 0x00, 0x24,
326           0x01, 0x80, 0x7A, 0x1A, 0x1A, 0x00, 0x00, 0x00,
327           0x50, 0x03, 0x74, 0x14, 0x1C, 0x85, 0x35, 0x13,
328           0x02, 0x45, 0x30, 0x35, 0x40, 0x20,
329           },
330          {                      /*  Init_SR80_SR93 */
331           0x00, 0x00, 0x00, 0x6F, 0x7F, 0x7F, 0xFF, 0x24,
332           0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x24, 0x24,
333           0x00, 0x00, 0x00, 0x00,
334           },
335          {                      /*  Init_SRA0_SRAF */
336           0x00, 0xFF, 0xBF, 0xFF, 0xFF, 0xED, 0xED, 0xED,
337           0x7B, 0xFF, 0xFF, 0xFF, 0xBF, 0xEF, 0xBF, 0xDF,
338           },
339          {                      /*  Init_GR00_GR08 */
340           0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x05, 0x0F,
341           0xFF,
342           },
343          {                      /*  Init_AR00_AR14 */
344           0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
345           0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
346           0x41, 0x00, 0x0F, 0x00, 0x00,
347           },
348          {                      /*  Init_CR00_CR18 */
349           0x7F, 0x63, 0x63, 0x00, 0x68, 0x18, 0x72, 0xF0,
350           0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
351           0x58, 0x0C, 0x57, 0x64, 0x40, 0x57, 0x00, 0xE3,
352           0xFF,
353           },
354          {                      /*  Init_CR30_CR4D */
355           0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x03, 0x20,
356           0x00, 0x00, 0x00, 0x40, 0x00, 0xE7, 0xBF, 0xFD,
357           0x7F, 0x63, 0x00, 0x69, 0x18, 0x72, 0x57, 0x00,
358           0x58, 0x0C, 0xE0, 0x20, 0x63, 0x57,
359           },
360          {                      /*  Init_CR90_CRA7 */
361           0x56, 0x4B, 0x5E, 0x55, 0x86, 0x9D, 0x8E, 0xAA,
362           0xDB, 0x2A, 0xDF, 0x33, 0x00, 0x00, 0x18, 0x00,
363           0x20, 0x1F, 0x1A, 0x19, 0x0F, 0x0F, 0x0F, 0x00,
364           },
365          },
366         {                       /*  mode#3: 800 x 600  24Bpp  60Hz */
367          800, 600, 24, 60,
368          0x2B,
369          {                      /*  Init_SR0_SR4 */
370           0x03, 0x01, 0x0F, 0x03, 0x0E,
371           },
372          {                      /*  Init_SR10_SR24 */
373           0xFF, 0xBE, 0xEE, 0xFF, 0x00, 0x0E, 0x17, 0x2C,
374           0x99, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
375           0xC4, 0x30, 0x02, 0x01, 0x01,
376           },
377          {                      /*  Init_SR30_SR75 */
378           0x36, 0x03, 0x20, 0x09, 0xC0, 0x36, 0x36, 0x36,
379           0x36, 0x36, 0x36, 0x36, 0x00, 0x00, 0x03, 0xFF,
380           0x00, 0xFC, 0x00, 0x00, 0x20, 0x18, 0x00, 0xFC,
381           0x20, 0x0C, 0x44, 0x20, 0x00, 0x36, 0x36, 0x36,
382           0x04, 0x48, 0x83, 0x63, 0x68, 0x72, 0x57, 0x58,
383           0x04, 0x55, 0x59, 0x36, 0x36, 0x00, 0x00, 0x36,
384           0x01, 0x80, 0x7E, 0x1A, 0x1A, 0x00, 0x00, 0x00,
385           0x50, 0x03, 0x74, 0x14, 0x1C, 0x85, 0x35, 0x13,
386           0x02, 0x45, 0x30, 0x30, 0x40, 0x20,
387           },
388          {                      /*  Init_SR80_SR93 */
389           0xFF, 0x07, 0x00, 0x6F, 0x7F, 0x7F, 0xFF, 0x36,
390           0xF7, 0x00, 0x00, 0x00, 0xEF, 0xFF, 0x36, 0x36,
391           0x00, 0x00, 0x00, 0x00,
392           },
393          {                      /*  Init_SRA0_SRAF */
394           0x00, 0xFF, 0xBF, 0xFF, 0xFF, 0xED, 0xED, 0xED,
395           0x7B, 0xFF, 0xFF, 0xFF, 0xBF, 0xEF, 0xBF, 0xDF,
396           },
397          {                      /*  Init_GR00_GR08 */
398           0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x05, 0x0F,
399           0xFF,
400           },
401          {                      /*  Init_AR00_AR14 */
402           0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
403           0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
404           0x41, 0x00, 0x0F, 0x00, 0x00,
405           },
406          {                      /*  Init_CR00_CR18 */
407           0x7F, 0x63, 0x63, 0x00, 0x68, 0x18, 0x72, 0xF0,
408           0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
409           0x58, 0x0C, 0x57, 0x64, 0x40, 0x57, 0x00, 0xE3,
410           0xFF,
411           },
412          {                      /*  Init_CR30_CR4D */
413           0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x03, 0x20,
414           0x00, 0x00, 0x00, 0x40, 0x00, 0xE7, 0xBF, 0xFD,
415           0x7F, 0x63, 0x00, 0x69, 0x18, 0x72, 0x57, 0x00,
416           0x58, 0x0C, 0xE0, 0x20, 0x63, 0x57,
417           },
418          {                      /*  Init_CR90_CRA7 */
419           0x56, 0x4B, 0x5E, 0x55, 0x86, 0x9D, 0x8E, 0xAA,
420           0xDB, 0x2A, 0xDF, 0x33, 0x00, 0x00, 0x18, 0x00,
421           0x20, 0x1F, 0x1A, 0x19, 0x0F, 0x0F, 0x0F, 0x00,
422           },
423          },
424         {                       /*  mode#7: 800 x 600  32Bpp  60Hz */
425          800, 600, 32, 60,
426          /*  Init_MISC */
427          0x2B,
428          {                      /*  Init_SR0_SR4 */
429           0x03, 0x01, 0x0F, 0x03, 0x0E,
430           },
431          {                      /*  Init_SR10_SR24 */
432           0xFF, 0xBE, 0xEE, 0xFF, 0x00, 0x0E, 0x17, 0x2C,
433           0x99, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
434           0xC4, 0x30, 0x02, 0x01, 0x01,
435           },
436          {                      /*  Init_SR30_SR75 */
437           0x34, 0x03, 0x20, 0x09, 0xC0, 0x24, 0x24, 0x24,
438           0x24, 0x24, 0x24, 0x24, 0x00, 0x00, 0x03, 0xFF,
439           0x00, 0xFC, 0x00, 0x00, 0x20, 0x38, 0x00, 0xFC,
440           0x20, 0x0C, 0x44, 0x20, 0x00, 0x24, 0x24, 0x24,
441           0x04, 0x48, 0x83, 0x63, 0x68, 0x72, 0x57, 0x58,
442           0x04, 0x55, 0x59, 0x24, 0x24, 0x00, 0x00, 0x24,
443           0x01, 0x80, 0x7A, 0x1A, 0x1A, 0x00, 0x00, 0x00,
444           0x50, 0x03, 0x74, 0x14, 0x1C, 0x85, 0x35, 0x13,
445           0x02, 0x45, 0x30, 0x35, 0x40, 0x20,
446           },
447          {                      /*  Init_SR80_SR93 */
448           0x00, 0x00, 0x00, 0x6F, 0x7F, 0x7F, 0xFF, 0x24,
449           0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x24, 0x24,
450           0x00, 0x00, 0x00, 0x00,
451           },
452          {                      /*  Init_SRA0_SRAF */
453           0x00, 0xFF, 0xBF, 0xFF, 0xFF, 0xED, 0xED, 0xED,
454           0x7B, 0xFF, 0xFF, 0xFF, 0xBF, 0xEF, 0xBF, 0xDF,
455           },
456          {                      /*  Init_GR00_GR08 */
457           0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x05, 0x0F,
458           0xFF,
459           },
460          {                      /*  Init_AR00_AR14 */
461           0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
462           0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
463           0x41, 0x00, 0x0F, 0x00, 0x00,
464           },
465          {                      /*  Init_CR00_CR18 */
466           0x7F, 0x63, 0x63, 0x00, 0x68, 0x18, 0x72, 0xF0,
467           0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
468           0x58, 0x0C, 0x57, 0x64, 0x40, 0x57, 0x00, 0xE3,
469           0xFF,
470           },
471          {                      /*  Init_CR30_CR4D */
472           0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x03, 0x20,
473           0x00, 0x00, 0x00, 0x40, 0x00, 0xE7, 0xBF, 0xFD,
474           0x7F, 0x63, 0x00, 0x69, 0x18, 0x72, 0x57, 0x00,
475           0x58, 0x0C, 0xE0, 0x20, 0x63, 0x57,
476           },
477          {                      /*  Init_CR90_CRA7 */
478           0x56, 0x4B, 0x5E, 0x55, 0x86, 0x9D, 0x8E, 0xAA,
479           0xDB, 0x2A, 0xDF, 0x33, 0x00, 0x00, 0x18, 0x00,
480           0x20, 0x1F, 0x1A, 0x19, 0x0F, 0x0F, 0x0F, 0x00,
481           },
482          },
483         /* We use 1024x768 table to light 1024x600 panel for lemote */
484         {                       /*  mode#4: 1024 x 600  16Bpp  60Hz  */
485          1024, 600, 16, 60,
486          /*  Init_MISC */
487          0xEB,
488          {                      /*  Init_SR0_SR4 */
489           0x03, 0x01, 0x0F, 0x00, 0x0E,
490           },
491          {                      /*  Init_SR10_SR24 */
492           0xC8, 0x40, 0x14, 0x60, 0x00, 0x0A, 0x17, 0x20,
493           0x51, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
494           0xC4, 0x30, 0x02, 0x00, 0x01,
495           },
496          {                      /*  Init_SR30_SR75 */
497           0x22, 0x03, 0x24, 0x09, 0xC0, 0x22, 0x22, 0x22,
498           0x22, 0x22, 0x22, 0x22, 0x00, 0x00, 0x03, 0xFF,
499           0x00, 0xFC, 0x00, 0x00, 0x20, 0x18, 0x00, 0xFC,
500           0x20, 0x0C, 0x44, 0x20, 0x00, 0x22, 0x22, 0x22,
501           0x06, 0x68, 0xA7, 0x7F, 0x83, 0x24, 0xFF, 0x03,
502           0x00, 0x60, 0x59, 0x22, 0x22, 0x00, 0x00, 0x22,
503           0x01, 0x80, 0x7A, 0x1A, 0x1A, 0x00, 0x00, 0x00,
504           0x50, 0x03, 0x16, 0x02, 0x0D, 0x82, 0x09, 0x02,
505           0x04, 0x45, 0x3F, 0x30, 0x40, 0x20,
506           },
507          {                      /*  Init_SR80_SR93 */
508           0xFF, 0x07, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x3A,
509           0xF7, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x3A, 0x3A,
510           0x00, 0x00, 0x00, 0x00,
511           },
512          {                      /*  Init_SRA0_SRAF */
513           0x00, 0xFB, 0x9F, 0x01, 0x00, 0xED, 0xED, 0xED,
514           0x7B, 0xFB, 0xFF, 0xFF, 0x97, 0xEF, 0xBF, 0xDF,
515           },
516          {                      /*  Init_GR00_GR08 */
517           0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x05, 0x0F,
518           0xFF,
519           },
520          {                      /*  Init_AR00_AR14 */
521           0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
522           0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
523           0x41, 0x00, 0x0F, 0x00, 0x00,
524           },
525          {                      /*  Init_CR00_CR18 */
526           0xA3, 0x7F, 0x7F, 0x00, 0x85, 0x16, 0x24, 0xF5,
527           0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
528           0x03, 0x09, 0xFF, 0x80, 0x40, 0xFF, 0x00, 0xE3,
529           0xFF,
530           },
531          {                      /*  Init_CR30_CR4D */
532           0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x02, 0x20,
533           0x00, 0x00, 0x00, 0x40, 0x00, 0xFF, 0xBF, 0xFF,
534           0xA3, 0x7F, 0x00, 0x82, 0x0b, 0x6f, 0x57, 0x00,
535           0x5c, 0x0f, 0xE0, 0xe0, 0x7F, 0x57,
536           },
537          {                      /*  Init_CR90_CRA7 */
538           0x55, 0xD9, 0x5D, 0xE1, 0x86, 0x1B, 0x8E, 0x26,
539           0xDA, 0x8D, 0xDE, 0x94, 0x00, 0x00, 0x18, 0x00,
540           0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03,
541           },
542          },
543         {                       /*  mode#5: 1024 x 768  24Bpp  60Hz */
544          1024, 768, 24, 60,
545          /*  Init_MISC */
546          0xEB,
547          {                      /*  Init_SR0_SR4 */
548           0x03, 0x01, 0x0F, 0x03, 0x0E,
549           },
550          {                      /*  Init_SR10_SR24 */
551           0xF3, 0xB6, 0xC0, 0xDD, 0x00, 0x0E, 0x17, 0x2C,
552           0x99, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
553           0xC4, 0x30, 0x02, 0x01, 0x01,
554           },
555          {                      /*  Init_SR30_SR75 */
556           0x38, 0x03, 0x20, 0x09, 0xC0, 0x3A, 0x3A, 0x3A,
557           0x3A, 0x3A, 0x3A, 0x3A, 0x00, 0x00, 0x03, 0xFF,
558           0x00, 0xFC, 0x00, 0x00, 0x20, 0x18, 0x00, 0xFC,
559           0x20, 0x0C, 0x44, 0x20, 0x00, 0x00, 0x00, 0x3A,
560           0x06, 0x68, 0xA7, 0x7F, 0x83, 0x24, 0xFF, 0x03,
561           0x00, 0x60, 0x59, 0x3A, 0x3A, 0x00, 0x00, 0x3A,
562           0x01, 0x80, 0x7E, 0x1A, 0x1A, 0x00, 0x00, 0x00,
563           0x50, 0x03, 0x74, 0x14, 0x3B, 0x0D, 0x09, 0x02,
564           0x04, 0x45, 0x30, 0x30, 0x40, 0x20,
565           },
566          {                      /*  Init_SR80_SR93 */
567           0xFF, 0x07, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x3A,
568           0xF7, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x3A, 0x3A,
569           0x00, 0x00, 0x00, 0x00,
570           },
571          {                      /*  Init_SRA0_SRAF */
572           0x00, 0xFB, 0x9F, 0x01, 0x00, 0xED, 0xED, 0xED,
573           0x7B, 0xFB, 0xFF, 0xFF, 0x97, 0xEF, 0xBF, 0xDF,
574           },
575          {                      /*  Init_GR00_GR08 */
576           0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x05, 0x0F,
577           0xFF,
578           },
579          {                      /*  Init_AR00_AR14 */
580           0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
581           0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
582           0x41, 0x00, 0x0F, 0x00, 0x00,
583           },
584          {                      /*  Init_CR00_CR18 */
585           0xA3, 0x7F, 0x7F, 0x00, 0x85, 0x16, 0x24, 0xF5,
586           0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
587           0x03, 0x09, 0xFF, 0x80, 0x40, 0xFF, 0x00, 0xE3,
588           0xFF,
589           },
590          {                      /*  Init_CR30_CR4D */
591           0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x02, 0x20,
592           0x00, 0x00, 0x00, 0x40, 0x00, 0xFF, 0xBF, 0xFF,
593           0xA3, 0x7F, 0x00, 0x86, 0x15, 0x24, 0xFF, 0x00,
594           0x01, 0x07, 0xE5, 0x20, 0x7F, 0xFF,
595           },
596          {                      /*  Init_CR90_CRA7 */
597           0x55, 0xD9, 0x5D, 0xE1, 0x86, 0x1B, 0x8E, 0x26,
598           0xDA, 0x8D, 0xDE, 0x94, 0x00, 0x00, 0x18, 0x00,
599           0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03,
600           },
601          },
602         {                       /*  mode#4: 1024 x 768  32Bpp  60Hz */
603          1024, 768, 32, 60,
604          /*  Init_MISC */
605          0xEB,
606          {                      /*  Init_SR0_SR4 */
607           0x03, 0x01, 0x0F, 0x03, 0x0E,
608           },
609          {                      /*  Init_SR10_SR24 */
610           0xF3, 0xB6, 0xC0, 0xDD, 0x00, 0x0E, 0x17, 0x2C,
611           0x99, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
612           0xC4, 0x32, 0x02, 0x01, 0x01,
613           },
614          {                      /*  Init_SR30_SR75 */
615           0x38, 0x03, 0x20, 0x09, 0xC0, 0x3A, 0x3A, 0x3A,
616           0x3A, 0x3A, 0x3A, 0x3A, 0x00, 0x00, 0x03, 0xFF,
617           0x00, 0xFC, 0x00, 0x00, 0x20, 0x18, 0x00, 0xFC,
618           0x20, 0x0C, 0x44, 0x20, 0x00, 0x00, 0x00, 0x3A,
619           0x06, 0x68, 0xA7, 0x7F, 0x83, 0x24, 0xFF, 0x03,
620           0x00, 0x60, 0x59, 0x3A, 0x3A, 0x00, 0x00, 0x3A,
621           0x01, 0x80, 0x7E, 0x1A, 0x1A, 0x00, 0x00, 0x00,
622           0x50, 0x03, 0x74, 0x14, 0x3B, 0x0D, 0x09, 0x02,
623           0x04, 0x45, 0x30, 0x30, 0x40, 0x20,
624           },
625          {                      /*  Init_SR80_SR93 */
626           0xFF, 0x07, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x3A,
627           0xF7, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x3A, 0x3A,
628           0x00, 0x00, 0x00, 0x00,
629           },
630          {                      /*  Init_SRA0_SRAF */
631           0x00, 0xFB, 0x9F, 0x01, 0x00, 0xED, 0xED, 0xED,
632           0x7B, 0xFB, 0xFF, 0xFF, 0x97, 0xEF, 0xBF, 0xDF,
633           },
634          {                      /*  Init_GR00_GR08 */
635           0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x05, 0x0F,
636           0xFF,
637           },
638          {                      /*  Init_AR00_AR14 */
639           0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
640           0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
641           0x41, 0x00, 0x0F, 0x00, 0x00,
642           },
643          {                      /*  Init_CR00_CR18 */
644           0xA3, 0x7F, 0x7F, 0x00, 0x85, 0x16, 0x24, 0xF5,
645           0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
646           0x03, 0x09, 0xFF, 0x80, 0x40, 0xFF, 0x00, 0xE3,
647           0xFF,
648           },
649          {                      /*  Init_CR30_CR4D */
650           0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x02, 0x20,
651           0x00, 0x00, 0x00, 0x40, 0x00, 0xFF, 0xBF, 0xFF,
652           0xA3, 0x7F, 0x00, 0x86, 0x15, 0x24, 0xFF, 0x00,
653           0x01, 0x07, 0xE5, 0x20, 0x7F, 0xFF,
654           },
655          {                      /*  Init_CR90_CRA7 */
656           0x55, 0xD9, 0x5D, 0xE1, 0x86, 0x1B, 0x8E, 0x26,
657           0xDA, 0x8D, 0xDE, 0x94, 0x00, 0x00, 0x18, 0x00,
658           0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03,
659           },
660          },
661         {                       /*  mode#6: 320 x 240  16Bpp  60Hz */
662          320, 240, 16, 60,
663          /*  Init_MISC */
664          0xEB,
665          {                      /*  Init_SR0_SR4 */
666           0x03, 0x01, 0x0F, 0x03, 0x0E,
667           },
668          {                      /*  Init_SR10_SR24 */
669           0xF3, 0xB6, 0xC0, 0xDD, 0x00, 0x0E, 0x17, 0x2C,
670           0x99, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
671           0xC4, 0x32, 0x02, 0x01, 0x01,
672           },
673          {                      /*  Init_SR30_SR75 */
674           0x38, 0x03, 0x20, 0x09, 0xC0, 0x3A, 0x3A, 0x3A,
675           0x3A, 0x3A, 0x3A, 0x3A, 0x00, 0x00, 0x03, 0xFF,
676           0x00, 0xFC, 0x00, 0x00, 0x20, 0x18, 0x00, 0xFC,
677           0x20, 0x0C, 0x44, 0x20, 0x00, 0x00, 0x00, 0x3A,
678           0x06, 0x68, 0xA7, 0x7F, 0x83, 0x24, 0xFF, 0x03,
679           0x00, 0x60, 0x59, 0x3A, 0x3A, 0x00, 0x00, 0x3A,
680           0x01, 0x80, 0x7E, 0x1A, 0x1A, 0x00, 0x00, 0x00,
681           0x50, 0x03, 0x74, 0x14, 0x08, 0x43, 0x08, 0x43,
682           0x04, 0x45, 0x30, 0x30, 0x40, 0x20,
683           },
684          {                      /*  Init_SR80_SR93 */
685           0xFF, 0x07, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x3A,
686           0xF7, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x3A, 0x3A,
687           0x00, 0x00, 0x00, 0x00,
688           },
689          {                      /*  Init_SRA0_SRAF */
690           0x00, 0xFB, 0x9F, 0x01, 0x00, 0xED, 0xED, 0xED,
691           0x7B, 0xFB, 0xFF, 0xFF, 0x97, 0xEF, 0xBF, 0xDF,
692           },
693          {                      /*  Init_GR00_GR08 */
694           0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x05, 0x0F,
695           0xFF,
696           },
697          {                      /*  Init_AR00_AR14 */
698           0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
699           0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
700           0x41, 0x00, 0x0F, 0x00, 0x00,
701           },
702          {                      /*  Init_CR00_CR18 */
703           0xA3, 0x7F, 0x7F, 0x00, 0x85, 0x16, 0x24, 0xF5,
704           0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
705           0x03, 0x09, 0xFF, 0x80, 0x40, 0xFF, 0x00, 0xE3,
706           0xFF,
707           },
708          {                      /*  Init_CR30_CR4D */
709           0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x02, 0x20,
710           0x00, 0x00, 0x30, 0x40, 0x00, 0xFF, 0xBF, 0xFF,
711           0x2E, 0x27, 0x00, 0x2b, 0x0c, 0x0F, 0xEF, 0x00,
712           0xFe, 0x0f, 0x01, 0xC0, 0x27, 0xEF,
713           },
714          {                      /*  Init_CR90_CRA7 */
715           0x55, 0xD9, 0x5D, 0xE1, 0x86, 0x1B, 0x8E, 0x26,
716           0xDA, 0x8D, 0xDE, 0x94, 0x00, 0x00, 0x18, 0x00,
717           0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03,
718           },
719          },
720
721         {                       /*  mode#8: 320 x 240  32Bpp  60Hz */
722          320, 240, 32, 60,
723          /*  Init_MISC */
724          0xEB,
725          {                      /*  Init_SR0_SR4 */
726           0x03, 0x01, 0x0F, 0x03, 0x0E,
727           },
728          {                      /*  Init_SR10_SR24 */
729           0xF3, 0xB6, 0xC0, 0xDD, 0x00, 0x0E, 0x17, 0x2C,
730           0x99, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
731           0xC4, 0x32, 0x02, 0x01, 0x01,
732           },
733          {                      /*  Init_SR30_SR75 */
734           0x38, 0x03, 0x20, 0x09, 0xC0, 0x3A, 0x3A, 0x3A,
735           0x3A, 0x3A, 0x3A, 0x3A, 0x00, 0x00, 0x03, 0xFF,
736           0x00, 0xFC, 0x00, 0x00, 0x20, 0x18, 0x00, 0xFC,
737           0x20, 0x0C, 0x44, 0x20, 0x00, 0x00, 0x00, 0x3A,
738           0x06, 0x68, 0xA7, 0x7F, 0x83, 0x24, 0xFF, 0x03,
739           0x00, 0x60, 0x59, 0x3A, 0x3A, 0x00, 0x00, 0x3A,
740           0x01, 0x80, 0x7E, 0x1A, 0x1A, 0x00, 0x00, 0x00,
741           0x50, 0x03, 0x74, 0x14, 0x08, 0x43, 0x08, 0x43,
742           0x04, 0x45, 0x30, 0x30, 0x40, 0x20,
743           },
744          {                      /*  Init_SR80_SR93 */
745           0xFF, 0x07, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x3A,
746           0xF7, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x3A, 0x3A,
747           0x00, 0x00, 0x00, 0x00,
748           },
749          {                      /*  Init_SRA0_SRAF */
750           0x00, 0xFB, 0x9F, 0x01, 0x00, 0xED, 0xED, 0xED,
751           0x7B, 0xFB, 0xFF, 0xFF, 0x97, 0xEF, 0xBF, 0xDF,
752           },
753          {                      /*  Init_GR00_GR08 */
754           0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x05, 0x0F,
755           0xFF,
756           },
757          {                      /*  Init_AR00_AR14 */
758           0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
759           0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
760           0x41, 0x00, 0x0F, 0x00, 0x00,
761           },
762          {                      /*  Init_CR00_CR18 */
763           0xA3, 0x7F, 0x7F, 0x00, 0x85, 0x16, 0x24, 0xF5,
764           0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
765           0x03, 0x09, 0xFF, 0x80, 0x40, 0xFF, 0x00, 0xE3,
766           0xFF,
767           },
768          {                      /*  Init_CR30_CR4D */
769           0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x02, 0x20,
770           0x00, 0x00, 0x30, 0x40, 0x00, 0xFF, 0xBF, 0xFF,
771           0x2E, 0x27, 0x00, 0x2b, 0x0c, 0x0F, 0xEF, 0x00,
772           0xFe, 0x0f, 0x01, 0xC0, 0x27, 0xEF,
773           },
774          {                      /*  Init_CR90_CRA7 */
775           0x55, 0xD9, 0x5D, 0xE1, 0x86, 0x1B, 0x8E, 0x26,
776           0xDA, 0x8D, 0xDE, 0x94, 0x00, 0x00, 0x18, 0x00,
777           0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03,
778           },
779          },
780 };
781
782 #define numVGAModes             ARRAY_SIZE(VGAMode)