Linux Audio

Check our new training course

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