Lines Matching +full:0 +full:x7a0
48 #define mmio_base (p->screen_base + 0x400000)
52 } while (0)
56 mm_write_ind(reg, data, 0x7ac, 0x7ad); in mm_write_xr()
62 mm_write_ind(reg, data, 0x7a0, 0x7a1); in mm_write_fr()
68 mm_write_ind(reg, data, 0x7a8, 0x7a9); in mm_write_cr()
74 mm_write_ind(reg, data, 0x79c, 0x79d); in mm_write_gr()
80 mm_write_ind(reg, data, 0x788, 0x789); in mm_write_sr()
86 readb(mmio_base + 0x7b4); in mm_write_ar()
87 mm_write_ind(reg, data, 0x780, 0x780); in mm_write_ar()
115 unsigned best_error = 0xffffffff; in asiliant_calc_dclk2()
116 unsigned best_m = 0xffffffff, in asiliant_calc_dclk2()
117 best_n = 0xffffffff; in asiliant_calc_dclk2()
120 unsigned char divisor = 0; in asiliant_calc_dclk2()
128 divisor += 0x10; in asiliant_calc_dclk2()
187 write_fr(0x01, 0x02); /* LCD */ in asiliant_set_timing()
189 write_fr(0x01, 0x01); /* CRT */ in asiliant_set_timing()
192 write_cr(0x11, (ve - 1) & 0x0f); in asiliant_set_timing()
193 write_cr(0x00, (ht - 5) & 0xff); in asiliant_set_timing()
194 write_cr(0x01, hd - 1); in asiliant_set_timing()
195 write_cr(0x02, hd); in asiliant_set_timing()
196 write_cr(0x03, ((ht - 1) & 0x1f) | 0x80); in asiliant_set_timing()
197 write_cr(0x04, hs); in asiliant_set_timing()
198 write_cr(0x05, (((ht - 1) & 0x20) <<2) | (he & 0x1f)); in asiliant_set_timing()
199 write_cr(0x3c, (ht - 1) & 0xc0); in asiliant_set_timing()
200 write_cr(0x06, (vt - 2) & 0xff); in asiliant_set_timing()
201 write_cr(0x30, (vt - 2) >> 8); in asiliant_set_timing()
202 write_cr(0x07, 0x00); in asiliant_set_timing()
203 write_cr(0x08, 0x00); in asiliant_set_timing()
204 write_cr(0x09, 0x00); in asiliant_set_timing()
205 write_cr(0x10, (vs - 1) & 0xff); in asiliant_set_timing()
206 write_cr(0x32, ((vs - 1) >> 8) & 0xf); in asiliant_set_timing()
207 write_cr(0x11, ((ve - 1) & 0x0f) | 0x80); in asiliant_set_timing()
208 write_cr(0x12, (vd - 1) & 0xff); in asiliant_set_timing()
209 write_cr(0x31, ((vd - 1) & 0xf00) >> 8); in asiliant_set_timing()
210 write_cr(0x13, wd & 0xff); in asiliant_set_timing()
211 write_cr(0x41, (wd & 0xf00) >> 8); in asiliant_set_timing()
212 write_cr(0x15, (vs - 1) & 0xff); in asiliant_set_timing()
213 write_cr(0x33, ((vs - 1) >> 8) & 0xf); in asiliant_set_timing()
214 write_cr(0x38, ((ht - 5) & 0x100) >> 8); in asiliant_set_timing()
215 write_cr(0x16, (vt - 1) & 0xff); in asiliant_set_timing()
216 write_cr(0x18, 0x00); in asiliant_set_timing()
219 writeb(0xc7, mmio_base + 0x784); /* set misc output reg */ in asiliant_set_timing()
221 writeb(0x07, mmio_base + 0x784); /* set misc output reg */ in asiliant_set_timing()
249 var->blue.offset = 0; in asiliantfb_check_var()
263 var->blue.offset = 0; in asiliantfb_check_var()
266 var->red.offset = var->green.offset = var->blue.offset = 0; in asiliantfb_check_var()
269 return 0; in asiliantfb_check_var()
283 write_xr(0x81, 0x16); /* 24 bit packed color mode */ in asiliantfb_set_par()
284 write_xr(0x82, 0x00); /* Disable palettes */ in asiliantfb_set_par()
285 write_xr(0x20, 0x20); /* 24 bit blitter mode */ in asiliantfb_set_par()
288 write_xr(0x81, 0x15); /* 16 bit color mode */ in asiliantfb_set_par()
290 write_xr(0x81, 0x14); /* 15 bit color mode */ in asiliantfb_set_par()
291 write_xr(0x82, 0x00); /* Disable palettes */ in asiliantfb_set_par()
292 write_xr(0x20, 0x10); /* 16 bit blitter mode */ in asiliantfb_set_par()
294 write_xr(0x0a, 0x02); /* Linear */ in asiliantfb_set_par()
295 write_xr(0x81, 0x12); /* 8 bit color mode */ in asiliantfb_set_par()
296 write_xr(0x82, 0x00); /* Graphics gamma enable */ in asiliantfb_set_par()
297 write_xr(0x20, 0x00); /* 8 bit blitter mode */ in asiliantfb_set_par()
301 write_xr(0xc4, dclk2_m); in asiliantfb_set_par()
302 write_xr(0xc5, dclk2_n); in asiliantfb_set_par()
303 write_xr(0xc7, dclk2_div); in asiliantfb_set_par()
306 return 0; in asiliantfb_set_par()
319 writeb(regno, mmio_base + 0x790); in asiliantfb_setcolreg()
321 writeb(red, mmio_base + 0x791); in asiliantfb_setcolreg()
322 writeb(green, mmio_base + 0x791); in asiliantfb_setcolreg()
323 writeb(blue, mmio_base + 0x791); in asiliantfb_setcolreg()
329 ((red & 0xf8) << 7) | in asiliantfb_setcolreg()
330 ((green & 0xf8) << 2) | in asiliantfb_setcolreg()
331 ((blue & 0xf8) >> 3); in asiliantfb_setcolreg()
335 ((red & 0xf8) << 8) | in asiliantfb_setcolreg()
336 ((green & 0xfc) << 3) | in asiliantfb_setcolreg()
337 ((blue & 0xf8) >> 3); in asiliantfb_setcolreg()
348 return 0; in asiliantfb_setcolreg()
358 {0x00, 0x03}, /* Reset register */
359 {0x01, 0x01}, /* Clocking mode */
360 {0x02, 0x0f}, /* Plane mask */
361 {0x04, 0x0e} /* Memory mode */
366 {0x03, 0x00}, /* Data rotate */
367 {0x05, 0x00}, /* Graphics mode */
368 {0x06, 0x01}, /* Miscellaneous */
369 {0x08, 0x00} /* Bit mask */
374 {0x10, 0x01}, /* Mode control */
375 {0x11, 0x00}, /* Overscan */
376 {0x12, 0x0f}, /* Memory plane enable */
377 {0x13, 0x00} /* Horizontal pixel panning */
382 {0x0c, 0x00}, /* Start address high */
383 {0x0d, 0x00}, /* Start address low */
384 {0x40, 0x00}, /* Extended Start Address */
385 {0x41, 0x00}, /* Extended Start Address */
386 {0x14, 0x00}, /* Underline location */
387 {0x17, 0xe3}, /* CRT mode control */
388 {0x70, 0x00} /* Interlace control */
394 {0x01, 0x02},
395 {0x03, 0x08},
396 {0x08, 0xcc},
397 {0x0a, 0x08},
398 {0x18, 0x00},
399 {0x1e, 0x80},
400 {0x40, 0x83},
401 {0x41, 0x00},
402 {0x48, 0x13},
403 {0x4d, 0x60},
404 {0x4e, 0x0f},
406 {0x0b, 0x01},
408 {0x21, 0x51},
409 {0x22, 0x1d},
410 {0x23, 0x5f},
411 {0x20, 0x4f},
412 {0x34, 0x00},
413 {0x24, 0x51},
414 {0x25, 0x00},
415 {0x27, 0x0b},
416 {0x26, 0x00},
417 {0x37, 0x80},
418 {0x33, 0x0b},
419 {0x35, 0x11},
420 {0x36, 0x02},
421 {0x31, 0xea},
422 {0x32, 0x0c},
423 {0x30, 0xdf},
424 {0x10, 0x0c},
425 {0x11, 0xe0},
426 {0x12, 0x50},
427 {0x13, 0x00},
428 {0x16, 0x03},
429 {0x17, 0xbd},
430 {0x1a, 0x00},
436 {0xce, 0x00}, /* set default memory clock */
437 {0xcc, 200 }, /* MCLK ratio M */
438 {0xcd, 18 }, /* MCLK ratio N */
439 {0xce, 0x90}, /* MCLK divisor = 2 */
441 {0xc4, 209 },
442 {0xc5, 118 },
443 {0xc7, 32 },
444 {0xcf, 0x06},
445 {0x09, 0x01}, /* IO Control - CRT controller extensions */
446 {0x0a, 0x02}, /* Frame buffer mapping */
447 {0x0b, 0x01}, /* PCI burst write */
448 {0x40, 0x03}, /* Memory access control */
449 {0x80, 0x82}, /* Pixel pipeline configuration 0 */
450 {0x81, 0x12}, /* Pixel pipeline configuration 1 */
451 {0x82, 0x08}, /* Pixel pipeline configuration 2 */
453 {0xd0, 0x0f},
454 {0xd1, 0x01},
461 for (i = 0; i < ARRAY_SIZE(chips_init_xr); ++i) in chips_hw_init()
463 write_xr(0x81, 0x12); in chips_hw_init()
464 write_xr(0x82, 0x08); in chips_hw_init()
465 write_xr(0x20, 0x00); in chips_hw_init()
466 for (i = 0; i < ARRAY_SIZE(chips_init_sr); ++i) in chips_hw_init()
468 for (i = 0; i < ARRAY_SIZE(chips_init_gr); ++i) in chips_hw_init()
470 for (i = 0; i < ARRAY_SIZE(chips_init_ar); ++i) in chips_hw_init()
473 writeb(0x20, mmio_base + 0x780); in chips_hw_init()
474 for (i = 0; i < ARRAY_SIZE(chips_init_cr); ++i) in chips_hw_init()
476 for (i = 0; i < ARRAY_SIZE(chips_init_fr); ++i) in chips_hw_init()
486 .smem_len = 0x200000, /* 2MB */
520 err = fb_alloc_cmap(&p->cmap, 256, 0); in init_asiliant()
527 if (err < 0) { in init_asiliant()
536 writeb(0xff, mmio_base + 0x78c); in init_asiliant()
538 return 0; in init_asiliant()
548 if ((dp->resource[0].flags & IORESOURCE_MEM) == 0) in asiliantfb_pci_init()
550 addr = pci_resource_start(dp, 0); in asiliantfb_pci_init()
551 size = pci_resource_len(dp, 0); in asiliantfb_pci_init()
552 if (addr == 0) in asiliantfb_pci_init()
565 p->screen_base = ioremap(addr, 0x800000); in asiliantfb_pci_init()
572 pci_write_config_dword(dp, 4, 0x02800083); in asiliantfb_pci_init()
573 writeb(3, p->screen_base + 0x400784); in asiliantfb_pci_init()
584 return 0; in asiliantfb_pci_init()
594 release_mem_region(pci_resource_start(dp, 0), pci_resource_len(dp, 0)); in asiliantfb_remove()
600 { 0 }