Vladimir Serbinenko (phcoder@gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/5287
-gerrit
commit 53bd2185c2c5a12294e071ba1e3c180619e8eb7c Author: Vladimir Serbinenko phcoder@gmail.com Date: Sun Feb 23 14:17:03 2014 +0100
NOTFORMERGE: x60gfx: step 11
Change-Id: I91c5619d7c2a212a55e301733374de8b23f8aa1f Signed-off-by: Vladimir Serbinenko phcoder@gmail.com --- src/drivers/intel/gma/edid.c | 20 +- src/drivers/intel/gma/i915_reg.h | 5 + src/mainboard/lenovo/x60/Kconfig | 1 + src/mainboard/lenovo/x60/Makefile.inc | 2 - src/mainboard/lenovo/x60/i915.c | 413 ++++--- src/mainboard/lenovo/x60/i915io.c | 2020 +-------------------------------- src/northbridge/intel/i945/gma.c | 6 +- 7 files changed, 300 insertions(+), 2167 deletions(-)
diff --git a/src/drivers/intel/gma/edid.c b/src/drivers/intel/gma/edid.c index 0066b6a..15affd3 100644 --- a/src/drivers/intel/gma/edid.c +++ b/src/drivers/intel/gma/edid.c @@ -32,7 +32,7 @@ wait_rdy(u32 mmio) unsigned try = 100;
while (try--) { - if (read32(mmio + PCH_GMBUS2) & (1 << 11)) + if (read32(mmio + GMBUS2) & (1 << 11)) return; udelay(10); } @@ -45,29 +45,29 @@ intel_gmbus_read_edid(u32 mmio, u8 bus, u8 slave, u8 *edid)
wait_rdy(mmio); /* 100 KHz, hold 0ns, */ - write32(mmio + PCH_GMBUS0, bus); + write32(mmio + GMBUS0, bus); wait_rdy(mmio); /* Ensure index bits are disabled. */ - write32(mmio + PCH_GMBUS5, 0); - write32(mmio + PCH_GMBUS1, 0x46000000 | (slave << 1)); + write32(mmio + GMBUS5, 0); + write32(mmio + GMBUS1, 0x46000000 | (slave << 1)); wait_rdy(mmio); /* Ensure index bits are disabled. */ - write32(mmio + PCH_GMBUS5, 0); - write32(mmio + PCH_GMBUS1, 0x4a800001 | (slave << 1)); + write32(mmio + GMBUS5, 0); + write32(mmio + GMBUS1, 0x4a800001 | (slave << 1)); for (i = 0; i < 128 / 4; i++) { u32 reg32; wait_rdy(mmio); - reg32 = read32(mmio + PCH_GMBUS3); + reg32 = read32(mmio + GMBUS3); edid[4 * i] = reg32 & 0xff; edid[4 * i + 1] = (reg32 >> 8) & 0xff; edid[4 * i + 2] = (reg32 >> 16) & 0xff; edid[4 * i + 3] = (reg32 >> 24) & 0xff; } wait_rdy(mmio); - write32(mmio + PCH_GMBUS1, 0x4a800000 | (slave << 1)); + write32(mmio + GMBUS1, 0x4a800000 | (slave << 1)); wait_rdy(mmio); - write32(mmio + PCH_GMBUS0, 0x48000000); - write32(mmio + PCH_GMBUS2, 0x00008000); + write32(mmio + GMBUS0, 0x48000000); + write32(mmio + GMBUS2, 0x00008000);
printk (BIOS_INFO, "EDID:\n"); for (i = 0; i < 128; i++) { diff --git a/src/drivers/intel/gma/i915_reg.h b/src/drivers/intel/gma/i915_reg.h index 8c08d9f..9f134d0 100644 --- a/src/drivers/intel/gma/i915_reg.h +++ b/src/drivers/intel/gma/i915_reg.h @@ -959,6 +959,11 @@ #define DVOC_ON (1<<31) #define LVDS 0x61180 #define LVDS_ON (1<<31) +#define LVDS_CLOCK_A_POWERUP_ALL (3 << 8) +#define LVDS_CLOCK_B_POWERUP_ALL (3 << 4) +#define LVDS_CLOCK_BOTH_POWERUP_ALL (3 << 2) +#define LVDS_BORDER_ENABLE (1 << 15) +#define LVDS_PORT_ENABLE (1 << 31)
/* Scratch pad debug 0 reg: */ diff --git a/src/mainboard/lenovo/x60/Kconfig b/src/mainboard/lenovo/x60/Kconfig index 7ed2665..977d9e5 100644 --- a/src/mainboard/lenovo/x60/Kconfig +++ b/src/mainboard/lenovo/x60/Kconfig @@ -26,6 +26,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy select MAINBOARD_HAS_NATIVE_VGA_INIT select EARLY_CBMEM_INIT select H8_DOCK_EARLY_INIT + select INTEL_EDID
config MAINBOARD_DIR string diff --git a/src/mainboard/lenovo/x60/Makefile.inc b/src/mainboard/lenovo/x60/Makefile.inc index ecb7ce5..7ad57cd 100644 --- a/src/mainboard/lenovo/x60/Makefile.inc +++ b/src/mainboard/lenovo/x60/Makefile.inc @@ -21,5 +21,3 @@ smm-$(CONFIG_HAVE_SMI_HANDLER) += dock.c romstage-y += dock.c ramstage-y += dock.c ramstage-$(CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT) += i915.c -ramstage-$(CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT) += i915io.c -ramstage-$(CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT) += intel_dp.c diff --git a/src/mainboard/lenovo/x60/i915.c b/src/mainboard/lenovo/x60/i915.c index 4870fd8..a8d9fb5 100644 --- a/src/mainboard/lenovo/x60/i915.c +++ b/src/mainboard/lenovo/x60/i915.c @@ -42,11 +42,17 @@ #include <cpu/x86/mtrr.h> #include <cpu/x86/msr.h> #include <edid.h> -#include "i915io.h" - -enum { - vmsg = 1, vio = 2, vspin = 4, -}; +#include <drivers/intel/gma/edid.h> +#include <drivers/intel/gma/i915.h> + +#define LVDS_DETECTED (1 << 1) +#define LVDS_BORDER_ENABLE (1 << 15) +#define LVDS_PORT_ENABLE (1 << 31) +#define LVDS_CLOCK_A_POWERUP_ALL (3 << 8) +#define LVDS_CLOCK_B_POWERUP_ALL (3 << 4) +#define LVDS_CLOCK_BOTH_POWERUP_ALL (3 << 2) +#define DISPPLANE_BGRX888 (0x6<<26) +#define DPLLB_LVDS_P2_CLOCK_DIV_7 (1 << 24) /* i915 */
#define PGETLB_CTL 0x2020
@@ -62,18 +68,6 @@ static unsigned int physbase; #define PGETBL_ENABLED 0x00000001
-static u32 htotal, hblank, hsync, vtotal, vblank, vsync; - -const u8 x60_edid_data[] = { - 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x30, 0xae, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x0f, 0x01, 0x03, 0x80, 0x19, 0x12, 0x78, 0xea, 0xed, 0x75, 0x91, 0x57, 0x4f, 0x8b, 0x26, - 0x21, 0x50, 0x54, 0x21, 0x08, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x28, 0x15, 0x00, 0x40, 0x41, 0x00, 0x26, 0x30, 0x18, 0x88, - 0x36, 0x00, 0xf6, 0xb9, 0x00, 0x00, 0x00, 0x18, 0xed, 0x10, 0x00, 0x40, 0x41, 0x00, 0x26, 0x30, - 0x18, 0x88, 0x36, 0x00, 0xf6, 0xb9, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x61, - 0x43, 0x32, 0x61, 0x43, 0x28, 0x0f, 0x01, 0x00, 0x4c, 0xa3, 0x58, 0x4a, 0x00, 0x00, 0x00, 0xfe, - 0x00, 0x4c, 0x54, 0x4e, 0x31, 0x32, 0x31, 0x58, 0x4a, 0x2d, 0x4c, 0x30, 0x37, 0x0a, 0x00, 0x00, -}; #define READ32(addr) io_i915_READ32(addr) #define WRITE32(val, addr) io_i915_WRITE32(val, addr)
@@ -84,7 +78,7 @@ static char *regname(unsigned long addr) return name; }
-unsigned long io_i915_READ32(unsigned long addr) +static unsigned long io_i915_READ32(unsigned long addr) { unsigned long val; outl(addr, addrport); @@ -94,7 +88,7 @@ unsigned long io_i915_READ32(unsigned long addr) return val; }
-void io_i915_WRITE32(unsigned long val, unsigned long addr) +static void io_i915_WRITE32(unsigned long val, unsigned long addr) { if (verbose & vio) printk(BIOS_SPEW, "%s: outl %08lx\n", regname(addr), val); @@ -174,114 +168,26 @@ static unsigned long globalmicroseconds(void) return microseconds(globalstart, rdtscll()); }
-extern struct iodef iodefs[]; -extern int niodefs; - -/* fill the palette. This runs when the P opcode is hit. */ -static void palette(void) -{ - int i; - unsigned long color = 0; - - for (i = 0; i < 256; i++, color += 0x010101) - io_i915_WRITE32(color, _LGC_PALETTE_A + (i<<2)); -} - -static unsigned long times[4096]; - -static int run(int index) -{ - int i, prev = 0; - struct iodef *id, *lastidread = 0; - unsigned long u, t; - if (index >= niodefs) - return index; - /* state machine! */ - for (i = index, id = &iodefs[i]; id->op; i++, id++) { - switch (id->op) { - case M: - if (verbose & vmsg) - printk(BIOS_SPEW, "%ld: %s\n", - globalmicroseconds(), id->msg); - break; - case P: - palette(); - break; - case R: - u = READ32(id->addr); - if (verbose & vio) - printk(BIOS_SPEW, "\texpect %08lx\n", id->data); - /* we're looking for something. */ - if (lastidread->addr == id->addr) { - /* they're going to be polling. - * just do it 1000 times - */ - for (t = 0; t < 1000 && id->data != u; t++) - u = READ32(id->addr); - - if (verbose & vspin) - printk(BIOS_SPEW, - "%s: # loops %ld got %08lx want %08lx\n", - regname(id->addr), - t, u, id->data); - } - lastidread = id; - break; - case W: - WRITE32(id->data, id->addr); - if (id->addr == PCH_PP_CONTROL) { - if (verbose & vio) - printk(BIOS_SPEW, "PCH_PP_CONTROL\n"); - switch (id->data & 0xf) { - case 8: - break; - case 7: - break; - default: - udelay(100000); - if (verbose & vio) - printk(BIOS_SPEW, "U %d\n", - 100000); - } - } - break; - case V: - if (id->count < 8) { - prev = verbose; - verbose = id->count; - } else { - verbose = prev; - } - printk(BIOS_SPEW, "Change verbosity to %d\n", verbose); - break; - case I: - printk(BIOS_SPEW, "run: return %d\n", i+1); - return i+1; - break; - default: - printk(BIOS_SPEW, "BAD TABLE, opcode %d @ %d\n", - id->op, i); - return -1; - } - if (id->udelay) - udelay(id->udelay); - if (i < ARRAY_SIZE(times)) - times[i] = globalmicroseconds(); - } - printk(BIOS_SPEW, "run: return %d\n", i); - return i+1; -} - int i915lightup(unsigned int physbase, unsigned int iobase, unsigned int mmio, unsigned int gfx);
int i915lightup(unsigned int pphysbase, unsigned int piobase, unsigned int pmmio, unsigned int pgfx) { - static struct edid edid; - - int index; + struct edid edid; + u8 x60_edid_data[256]; unsigned long temp; + int hpolarity, vpolarity; + u32 candp1, candn; + u32 best_delta = 0xffffffff; + u32 target_frequency; + u32 pixel_p1 = 1; + u32 pixel_n = 1; + u32 pixel_m1 = 1; + u32 pixel_m2 = 1; + u32 hactive, vactive, right_border, bottom_border; + u32 vsync, hsync, vblank, hblank, hfront_porch, vfront_porch; + mmio = (void *)pmmio; addrport = piobase; dataport = addrport + 4; @@ -292,34 +198,253 @@ int i915lightup(unsigned int pphysbase, unsigned int piobase, (void *)graphics, mmio, addrport, physbase); globalstart = rdtscll();
- - decode_edid((unsigned char *)&x60_edid_data, + intel_gmbus_read_edid(pmmio, 3, 0x50, x60_edid_data); + decode_edid(x60_edid_data, sizeof(x60_edid_data), &edid);
- htotal = (edid.ha - 1) | ((edid.ha + edid.hbl - 1) << 16); - printk(BIOS_SPEW, "I915_WRITE(HTOTAL(pipe), %08x)\n", htotal); - - hblank = (edid.ha - 1) | ((edid.ha + edid.hbl - 1) << 16); - printk(BIOS_SPEW, "I915_WRITE(HBLANK(pipe),0x%08x)\n", hblank); - - hsync = (edid.ha + edid.hso - 1) | - ((edid.ha + edid.hso + edid.hspw - 1) << 16); - printk(BIOS_SPEW, "I915_WRITE(HSYNC(pipe),0x%08x)\n", hsync); - - vtotal = (edid.va - 1) | ((edid.va + edid.vbl - 1) << 16); - printk(BIOS_SPEW, "I915_WRITE(VTOTAL(pipe), %08x)\n", vtotal); + hpolarity = (edid.phsync == '-'); + vpolarity = (edid.pvsync == '-'); + hactive = edid.x_resolution; + vactive = edid.y_resolution; + right_border = edid.hborder; + bottom_border = edid.vborder; + vblank = edid.vbl; + hblank = edid.hbl; + vsync = edid.vspw; + hsync = edid.hspw; + hfront_porch = edid.hso; + vfront_porch = edid.vso; + +#define IS_DUAL_CHANNEL 0 +#define USE_SSC 1 + + read32(pmmio+PP_ON_DELAYS); // 0x00000000 + read32(pmmio+PP_OFF_DELAYS); // 0x00000000 + write32(pmmio+PP_ON_DELAYS,0x00000000); + write32(pmmio+PP_OFF_DELAYS,0x00000000); + write32(pmmio+INSTPM+0x24, MI_ARB_C3_LP_WRITE_ENABLE | 0x08000800); + write32(pmmio+RENDER_RING_BASE,0x00000000); + write32(pmmio+RENDER_RING_BASE+0x4,0x00000000); + write32(pmmio+RENDER_RING_BASE+0x8,0x00000000); + write32(pmmio+RENDER_RING_BASE+0xc,0x00000000); + write32(pmmio+RENDER_RING_BASE+0x10,0x00000000); + write32(pmmio+RENDER_RING_BASE+0x14,0x00000000); + write32(pmmio+RENDER_RING_BASE+0x18,0x00000000); + write32(pmmio+RENDER_RING_BASE+0x1c,0x00000000); + write32(pmmio+FENCE_REG_965_0,0x00000000); + write32(pmmio+FENCE_REG_965_0+0x4,0x00000000); + write32(pmmio+FENCE_REG_965_0+0x8,0x00000000); + write32(pmmio+FENCE_REG_965_0+0xc,0x00000000); + write32(pmmio+FENCE_REG_965_0+0x10,0x00000000); + write32(pmmio+FENCE_REG_965_0+0x14,0x00000000); + write32(pmmio+FENCE_REG_965_0+0x18,0x00000000); + write32(pmmio+FENCE_REG_965_0+0x1c,0x00000000); + write32(pmmio+VGACNTRL, VGA_DISP_DISABLE | 0x80000000); + read32(pmmio+PFIT_CONTROL); // 0x00000000 + read32(pmmio+PP_CONTROL); // 0x00000000 + write32(pmmio+PP_CONTROL,0xabcd0000); + read32(pmmio+BLC_PWM_CTL); // 0x00000000 + read32(pmmio+DVOB); // 0x00300000 + read32(pmmio+DVOC); // 0x00300000 + write32(pmmio+HWS_PGA,0x352d2000); + write32(pmmio+PRB0_CTL,0x00000000); + write32(pmmio+PRB0_HEAD,0x00000000); + write32(pmmio+PRB0_TAIL,0x00000000); + read32(pmmio+PRB0_HEAD); // 0x00000000 + write32(pmmio+PRB0_START,0x00000000); + write32(pmmio+PRB0_CTL,0x0001f001); + read32(pmmio+PRB0_CTL); // 0x0001f001 + read32(pmmio+PRB0_START); // 0x00000000 + read32(pmmio+PRB0_HEAD); // 0x00000000 + read32(pmmio+PRB0_TAIL); // 0x00000000 + read32(pmmio+0x6104); // 0x00000000 + write32(pmmio+0x6104,0x0000000b); + write32(pmmio+ECOSKPD,0x00010000); + read32(pmmio+_PIPEBCONF); // 0x00000000 + read32(pmmio+LVDS); // 0x40000000 + read32(pmmio+_FDI_TXB_CTL); // 0x00000000 + write32(pmmio+_PIPEBCONF,0x00000000); + write32(pmmio+PORT_HOTPLUG_EN,0x00000000); + read32(pmmio+PORT_HOTPLUG_STAT); // 0x00000000 + write32(pmmio+PORT_HOTPLUG_STAT,0x00000000); + write32(pmmio+HWSTAM,0x0000effe); + write32(pmmio+_PIPEASTAT,0x00000000); + write32(pmmio+_PIPEBSTAT,0x00000000); + read32(pmmio+PORT_HOTPLUG_EN); // 0x00000000 + write32(pmmio+PORT_HOTPLUG_EN, CRT_HOTPLUG_INT_EN | CRT_HOTPLUG_VOLTAGE_COMPARE_50 | 0x00000220); + read32(pmmio+PORT_HOTPLUG_EN); // CRT_HOTPLUG_INT_EN | CRT_HOTPLUG_VOLTAGE_COMPARE_50 | 0x00000220 + write32(pmmio+PORT_HOTPLUG_EN, CRT_HOTPLUG_INT_EN | CRT_HOTPLUG_FORCE_DETECT | CRT_HOTPLUG_VOLTAGE_COMPARE_50 | 0x00000228); + read32(pmmio+PORT_HOTPLUG_EN); // CRT_HOTPLUG_INT_EN | CRT_HOTPLUG_FORCE_DETECT | CRT_HOTPLUG_VOLTAGE_COMPARE_50 | 0x00000228 + read32(pmmio+PORT_HOTPLUG_EN); // CRT_HOTPLUG_INT_EN | CRT_HOTPLUG_VOLTAGE_COMPARE_50 | 0x00000220 + read32(pmmio+PORT_HOTPLUG_STAT); // 0x00000000 + write32(pmmio+PORT_HOTPLUG_STAT, CRT_HOTPLUG_INT_STATUS | 0x00000800); + write32(pmmio+PORT_HOTPLUG_EN, CRT_HOTPLUG_INT_EN | CRT_HOTPLUG_VOLTAGE_COMPARE_50 | 0x00000220); + write32(pmmio+_DSPBADDR,0x00020000); + read32(pmmio+DSPARB); // (DSPARB_CSTART_SHIFT & 0x4) | 0x00001d9c + write32(pmmio+FW_BLC_SELF, FW_BLC_SELF_EN_MASK | 0x80000000); + write32(pmmio+FW_BLC,0x011d011a); + write32(pmmio+FW_BLC2,0x00000102); + read32(pmmio+DSPARB); // (DSPARB_CSTART_SHIFT & 0x4) | 0x00001d9c + write32(pmmio+FW_BLC_SELF, FW_BLC_SELF_EN_MASK | 0x80000000); + write32(pmmio+FW_BLC_SELF,0x0001002f); + write32(pmmio+FW_BLC,0x0101011a); + write32(pmmio+FW_BLC2,0x00000102); + write32(pmmio+FW_BLC_SELF, FW_BLC_SELF_EN_MASK | 0x80008000); + write32(pmmio+_DSPBCNTR,0xd8000000); + read32(pmmio+_DSPBADDR); // 0x00020000 + write32(pmmio+_DSPBADDR,0x00020000); + write32(pmmio+INSTPM,0x08000800); + write32(pmmio+FW_BLC_SELF, FW_BLC_SELF_EN_MASK | 0x80000000); + write32(pmmio+FW_BLC,0x011d011a); + write32(pmmio+FW_BLC2,0x00000102); + write32(pmmio+_DPLL_B, DPLL_VGA_MODE_DIS | DPLLB_MODE_LVDS | 0x18046000); + read32(pmmio+LVDS); // 0x40000000 + write32(pmmio+LVDS, LVDS_ON | PLL_P1_DIVIDE_BY_TWO | DISPLAY_RATE_SELECT_FPA1 | 0xc0300300); + write32(pmmio+_DPLL_B, DPLL_VCO_ENABLE | DPLL_VGA_MODE_DIS | DPLLB_MODE_LVDS | 0x98046000); + + write32(pmmio + HTOTAL(1), + ((hactive + right_border + hblank - 1) << 16) + | (hactive - 1)); + write32(pmmio + HBLANK(1), + ((hactive + right_border + hblank - 1) << 16) + | (hactive + right_border - 1)); + write32(pmmio + HSYNC(1), + ((hactive + right_border + hfront_porch + hsync - 1) << 16) + | (hactive + right_border + hfront_porch - 1)); + + write32(pmmio + VTOTAL(1), ((vactive + bottom_border + vblank - 1) << 16) + | (vactive - 1)); + write32(pmmio + VBLANK(1), ((vactive + bottom_border + vblank - 1) << 16) + | (vactive + bottom_border - 1)); + write32(pmmio + VSYNC(1), + (vactive + bottom_border + vfront_porch + vsync - 1) + | (vactive + bottom_border + vfront_porch - 1)); + + write32(pmmio + PIPESRC(1), ((hactive - 1) << 16) | (vactive - 1)); + write32(pmmio + PF_CTL(0),0); + write32(pmmio + PF_WIN_SZ(0), 0); + write32(pmmio + PF_WIN_POS(0), 0); + + write32(pmmio+DSPSIZE(0),(hactive - 1) | ((vactive - 1) << 16)); + write32(pmmio+DSPPOS(0),0); + + write32(pmmio+FW_BLC_SELF, FW_BLC_SELF_EN_MASK | 0x80000000); + write32(pmmio+FW_BLC,0x011d011a); + write32(pmmio+FW_BLC2,0x00000102); + write32(pmmio+FW_BLC_SELF, FW_BLC_SELF_EN_MASK | 0x80000000); + write32(pmmio+FW_BLC_SELF,0x0001003f); + write32(pmmio+FW_BLC,0x011d0109); + write32(pmmio+FW_BLC2,0x00000102); + write32(pmmio+FW_BLC_SELF, FW_BLC_SELF_EN_MASK | 0x80008000); + write32(pmmio+PFIT_PGM_RATIOS,0x00000000); + write32(pmmio+PFIT_CONTROL,(PFIT_PIPE_SHIFT & 0x8) | 0x00000008); + read32(pmmio+BLC_PWM_CTL); // 0x00000000 + write32(pmmio+BLC_PWM_CTL,0x00000002); + + target_frequency = IS_DUAL_CHANNEL ? edid.pixel_clock + : (2 * edid.pixel_clock); + + /* Find suitable divisors. */ + for (candp1 = 1; candp1 <= 8; candp1++) { + for (candn = 5; candn <= 10; candn++) { + u32 cur_frequency; + u32 m; /* 77 - 131. */ + u32 denom; /* 35 - 560. */ + u32 current_delta; + + denom = candn * candp1 * 7; + /* Doesnt overflow for up to + 5000000 kHz = 5 GHz. */ + m = (target_frequency * denom + 60000) / 120000; + + if (m < 77 || m > 131) + continue; + + cur_frequency = (120000 * m) / denom; + if (target_frequency > cur_frequency) + current_delta = target_frequency - cur_frequency; + else + current_delta = cur_frequency - target_frequency; + + + if (best_delta > current_delta) { + best_delta = current_delta; + pixel_n = candn; + pixel_p1 = candp1; + pixel_m2 = ((m + 3) % 5) + 7; + pixel_m1 = (m - pixel_m2) / 5; + } + } + }
- vblank = (edid.va - 1) | ((edid.va + edid.vbl - 1) << 16); - printk(BIOS_SPEW, "I915_WRITE(VBLANK(pipe),0x%08x)\n", vblank); + if (best_delta == 0xffffffff) { + printk (BIOS_ERR, "Couldn't find GFX clock divisors\n"); + return -1; + }
- vsync = (edid.va + edid.vso - 1) | - ((edid.va + edid.vso + edid.vspw - 1) << 16); - printk(BIOS_SPEW, "I915_WRITE(VSYNC(pipe),0x%08x)\n", vsync); + write32(pmmio + DSPCNTR(0), DISPPLANE_BGRX888 + | DISPPLANE_SEL_PIPE_B | DISPPLANE_GAMMA_ENABLE); + + mdelay(1); + write32(pmmio + PP_CONTROL, PANEL_UNLOCK_REGS + | (read32(pmmio + PP_CONTROL) & ~PANEL_UNLOCK_MASK)); + write32(pmmio + FP0(1), + ((pixel_n - 2) << 16) + | ((pixel_m1 - 2) << 8) | pixel_m2); + write32(pmmio + DPLL(1), + DPLL_VCO_ENABLE | DPLLB_MODE_LVDS + | (IS_DUAL_CHANNEL ? DPLLB_LVDS_P2_CLOCK_DIV_7 + : DPLLB_LVDS_P2_CLOCK_DIV_14) + | (0x10000 << (pixel_p1 - 1)) + | ((USE_SSC ? 3 : 0) << 13) + | (0x1 << (pixel_p1 - 1))); + mdelay(1); + write32(pmmio + DPLL(1), + DPLL_VCO_ENABLE | DPLLB_MODE_LVDS + | (IS_DUAL_CHANNEL ? DPLLB_LVDS_P2_CLOCK_DIV_7 + : DPLLB_LVDS_P2_CLOCK_DIV_14) + | (0x10000 << (pixel_p1 - 1)) + | ((USE_SSC ? 3 : 0) << 13) + | (0x1 << (pixel_p1 - 1))); + + edid.bytes_per_line = (edid.bytes_per_line + 63) & ~63; + write32(pmmio + DSPADDR(0), 0x20000); + write32(pmmio + DSPSURF(0), 0); + write32(pmmio + DSPSTRIDE(0), edid.bytes_per_line); + write32(pmmio + DSPCNTR(0), DISPLAY_PLANE_ENABLE | DISPPLANE_BGRX888 + | DISPPLANE_SEL_PIPE_B | DISPPLANE_GAMMA_ENABLE); + mdelay(1); + + write32(pmmio + PIPECONF(1), (1 << 31)); + write32(pmmio + LVDS, + LVDS_PORT_ENABLE + | (hpolarity << 20) | (vpolarity << 21) + | (IS_DUAL_CHANNEL ? LVDS_CLOCK_B_POWERUP_ALL + | LVDS_CLOCK_BOTH_POWERUP_ALL : 0) + | LVDS_CLOCK_A_POWERUP_ALL | (1 << 30)); + + write32(pmmio + PP_CONTROL, PANEL_UNLOCK_REGS | PANEL_POWER_OFF); + write32(pmmio + PP_CONTROL, PANEL_UNLOCK_REGS | PANEL_POWER_RESET); + mdelay(1); + write32(pmmio + PP_CONTROL, PANEL_UNLOCK_REGS + | PANEL_POWER_ON | PANEL_POWER_RESET); + + printk (BIOS_DEBUG, "waiting for panel powerup\n"); + while (1) { + u32 reg32; + reg32 = read32(pmmio + PP_STATUS); + if (((reg32 >> 28) & 3) == 0) + break; + } + printk (BIOS_DEBUG, "panel powered up\n");
- printk(BIOS_SPEW, "Table has %d elements\n", niodefs); + write32(pmmio + PP_CONTROL, PANEL_POWER_ON | PANEL_POWER_RESET);
- index = run(0); - printk(BIOS_SPEW, "Run returns %d\n", index); + /* Clear interrupts. */ + write32(pmmio + DEIIR, 0xffffffff); + write32(pmmio + SDEIIR, 0xffffffff); + write32(pmmio + IIR, 0xffffffff); + write32(pmmio + IMR, 0xffffffff);
verbose = 0; /* GTT is the Global Translation Table for the graphics pipeline. @@ -362,8 +487,8 @@ int i915lightup(unsigned int pphysbase, unsigned int piobase, printk(BIOS_ERR, "ERROR: GTT is still Disabled!!!\n");
printk(BIOS_SPEW, "memset %p to 0x00 for %d bytes\n", - (void *)graphics, FRAME_BUFFER_BYTES); - memset((void *)graphics, 0x00, FRAME_BUFFER_BYTES); + (void *)graphics, hactive * vactive * 4); + memset((void *)graphics, 0x00, hactive * vactive * 4);
printk(BIOS_SPEW, "%ld microseconds\n", globalmicroseconds());
diff --git a/src/mainboard/lenovo/x60/i915io.c b/src/mainboard/lenovo/x60/i915io.c index 3552867..def8b57 100644 --- a/src/mainboard/lenovo/x60/i915io.c +++ b/src/mainboard/lenovo/x60/i915io.c @@ -61,84 +61,6 @@ struct iodef iodefs[] = { {M, 1, "vgaarb:device changed decodes:PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem", 0x0, 0x0, 0}, {W, 1, "", VGACNTRL, VGA_DISP_DISABLE | 0x80000000, 0}, {R, 1, "", PFIT_CONTROL, 0x00000000, 0}, -{W, 1, "", 0x5100, 0x00000003, 0}, -{W, 1, "", 0x5104, 0x460100a1, 0}, -{R, 1, "", 0x5108, 0x00004a00, 0}, -{R, 1, "", 0x510c, 0x00000000, 0}, -{R, 1, "", 0x5108, 0x0000c200, 0}, -{W, 1, "", 0x5104, 0x48000000, 0}, -{R, 1, "", 0x5108, 0x00008800, 0}, -{W, 1, "", 0x5100, 0x00000000, 0}, -{W, 1, "", 0x5100, 0x00000003, 0}, -{W, 1, "", 0x5104, 0x468000a1, 0}, -{R, 1, "", 0x5108, 0x00008a08, 0}, -{R, 1, "", 0x510c, 0xffffff00, 0}, -{R, 1, "", 0x5108, 0x00008a0c, 0}, -{R, 1, "", 0x510c, 0x00ffffff, 0}, -{R, 1, "", 0x5108, 0x00008a10, 0}, -{R, 1, "", 0x510c, 0x4000ae30, 0}, -{R, 1, "", 0x5108, 0x00008a14, 0}, -{R, 1, "", 0x510c, 0x00000000, 0}, -{R, 1, "", 0x5108, 0x00008a18, 0}, -{R, 1, "", 0x510c, 0x03010f00, 0}, -{R, 1, "", 0x5108, 0x00008a1c, 0}, -{R, 1, "", 0x510c, 0x78121980, 0}, -{R, 1, "", 0x5108, 0x00008a20, 0}, -{R, 1, "", 0x510c, 0x9175edea, 0}, -{R, 1, "", 0x5108, 0x00008a24, 0}, -{R, 1, "", 0x510c, 0x268b4f57, 0}, -{R, 1, "", 0x5108, 0x00008a28, 0}, -{R, 1, "", 0x510c, 0x21545021, 0}, -{R, 1, "", 0x5108, 0x00008a2c, 0}, -{R, 1, "", 0x510c, 0x01010008, 0}, -{R, 1, "", 0x5108, 0x00008a30, 0}, -{R, 1, "", 0x510c, 0x01010101, 0}, -{R, 1, "", 0x5108, 0x00008a34, 0}, -{R, 1, "", 0x510c, 0x01010101, 0}, -{R, 1, "", 0x5108, 0x00008a38, 0}, -{R, 1, "", 0x510c, 0x01010101, 0}, -{R, 1, "", 0x5108, 0x00008a3c, 0}, -{R, 1, "", 0x510c, 0x15280101, 0}, -{R, 1, "", 0x5108, 0x00008a40, 0}, -{R, 1, "", 0x510c, 0x00414000, 0}, -{R, 1, "", 0x5108, 0x00008a44, 0}, -{R, 1, "", 0x510c, 0x88183026, 0}, -{R, 1, "", 0x5108, 0x00008a48, 0}, -{R, 1, "", 0x510c, 0xb9f60036, 0}, -{R, 1, "", 0x5108, 0x00008a4c, 0}, -{R, 1, "", 0x510c, 0x18000000, 0}, -{R, 1, "", 0x5108, 0x00008a50, 0}, -{R, 1, "", 0x510c, 0x400010ed, 0}, -{R, 1, "", 0x5108, 0x00008a54, 0}, -{R, 1, "", 0x510c, 0x30260041, 0}, -{R, 1, "", 0x5108, 0x00008a58, 0}, -{R, 1, "", 0x510c, 0x00368818, 0}, -{R, 1, "", 0x5108, 0x00008a5c, 0}, -{R, 1, "", 0x510c, 0x0000b9f6, 0}, -{R, 1, "", 0x5108, 0x00008a60, 0}, -{R, 1, "", 0x510c, 0x00001800, 0}, -{R, 1, "", 0x5108, 0x00008a64, 0}, -{R, 1, "", 0x510c, 0x61000f00, 0}, -{R, 1, "", 0x5108, 0x00008a68, 0}, -{R, 1, "", 0x510c, 0x43613243, 0}, -{R, 1, "", 0x5108, 0x00008a6c, 0}, -{R, 1, "", 0x510c, 0x00010f28, 0}, -{R, 1, "", 0x5108, 0x00008a70, 0}, -{R, 1, "", 0x510c, 0x4a58a34c, 0}, -{R, 1, "", 0x5108, 0x00008a74, 0}, -{R, 1, "", 0x510c, 0xfe000000, 0}, -{R, 1, "", 0x5108, 0x00008a78, 0}, -{R, 1, "", 0x510c, 0x4e544c00, 0}, -{R, 1, "", 0x5108, 0x00008a7c, 0}, -{R, 1, "", 0x510c, 0x58313231, 0}, -{R, 1, "", 0x5108, 0x0000ca00, 0}, -{R, 1, "", 0x510c, 0x304c2d4a, 0}, -{R, 1, "", 0x5108, 0x0000ca00, 0}, -{R, 1, "", 0x510c, 0x00000a37, 0}, -{R, 1, "", 0x5108, 0x0000c200, 0}, -{W, 1, "", 0x5104, 0x48000000, 0}, -{R, 1, "", 0x5108, 0x00008800, 0}, -{W, 1, "", 0x5100, 0x00000000, 0}, {R, 1, "", PP_CONTROL, 0x00000000, 0}, {W, 1, "", PP_CONTROL, 0xabcd0000, 0}, {R, 2, "", BLC_PWM_CTL, 0x00000000, 0}, @@ -168,7 +90,6 @@ struct iodef iodefs[] = { {W, 1, "", 0x6104, 0x0000000b, 0}, {W, 1, "", ECOSKPD, 0x00010000, 0}, {M, 1, "[drm] initialized overlay support", 0x0, 0x0, 0}, -{R, 1, "", _PIPEACONF, 0x00000000, 0}, {R, 1, "", _PIPEBCONF, 0x00000000, 0}, {R, 1, "", LVDS, 0x40000000, 0}, {R, 1, "", _FDI_TXB_CTL, 0x00000000, 0}, @@ -176,8 +97,6 @@ struct iodef iodefs[] = { {R, 1, "", LVDS, 0x40000000, 0}, {R, 1, "", _FDI_TXB_CTL, 0x00000000, 0}, {R, 1, "", TV_CTL, 0x00000000, 0}, -{R, 1, "", _PIPEACONF, 0x00000000, 0}, -{W, 1, "", _PIPEACONF, 0x00000000, 0}, {R, 1, "", _DSPACNTR, 0x00000000, 0}, {R, 1, "", _PIPEBCONF, 0x00000000, 0}, {W, 1, "", _PIPEBCONF, 0x00000000, 0}, @@ -188,7 +107,6 @@ struct iodef iodefs[] = { {R, 1, "", LVDS, 0x40000000, 0}, {R, 1, "", _FDI_TXB_CTL, 0x00000000, 0}, {R, 1, "", TV_CTL, 0x00000000, 0}, -{R, 1, "", _PIPEACONF, 0x00000000, 0}, {R, 1, "", _PIPEBCONF, 0x00000000, 0}, {W, 1, "", PORT_HOTPLUG_EN, 0x00000000, 0}, {R, 1, "", PORT_HOTPLUG_STAT, 0x00000000, 0}, @@ -210,45 +128,15 @@ struct iodef iodefs[] = { {R, 1, "", PORT_HOTPLUG_STAT, 0x00000000, 0}, {W, 1, "", PORT_HOTPLUG_STAT, CRT_HOTPLUG_INT_STATUS | 0x00000800, 0}, {W, 1, "", PORT_HOTPLUG_EN, CRT_HOTPLUG_INT_EN | CRT_HOTPLUG_VOLTAGE_COMPARE_50 | 0x00000220, 0}, -{W, 1, "", 0x5100, 0x00000002, 0}, -{W, 1, "", 0x5104, 0x460100a1, 0}, -{R, 2, "", 0x5108, 0x00009c00, 0}, -{W, 1, "", 0x5104, 0x80000000, 0}, -{W, 1, "", 0x5104, 0x00000000, 0}, -{W, 2, "", 0x5100, 0x00000000, 0}, -{R, 1, "", _PIPEACONF, 0x00000000, 0}, -{W, 1, "", _FPA0, 0x00020e08, 0}, -{W, 1, "", _FPA1, 0x00020e08, 0}, -{W, 1, "", _DPLL_A, 0x14020003, 0}, -{W, 2, "", _DPLL_A, 0x94020003, 0}, -{R, 1, "", _PIPEACONF, 0x00000000, 0}, -{W, 1, "", _HTOTAL_A, 0x06af04ff, 0}, -{W, 1, "", _HBLANK_A, 0x06af04ff, 0}, -{W, 1, "", _HSYNC_A, 0x05d70557, 0}, -{W, 1, "", _VTOTAL_A, 0x044f03ff, 0}, -{W, 1, "", _VBLANK_A, 0x044f03ff, 0}, -{W, 1, "", _VSYNC_A, 0x04090402, 0}, -{W, 1, "", _PIPEASRC, 0x04ff03ff, 0}, {W, 1, "", _DSPBSIZE, 0x03ff04ff, 0}, {W, 1, "", _DSPBPOS, 0x00000000, 0}, {W, 1, "", _PIPEACONF, 0x00000000, 0}, -{R, 1, "", _DPLL_A, 0x94020003, 0}, -{R, 1, "", _PIPEACONF, 0x00000000, 0}, -{W, 1, "", _PIPEACONF, PIPECONF_ENABLE | 0x80000000, 0}, -{R, 1, "", _PIPEASTAT, PIPE_GMBUS_INTERRUPT_STATUS | PIPE_VSYNC_INTERRUPT_STATUS | PIPE_VBLANK_INTERRUPT_STATUS | PIPE_OVERLAY_UPDATED_STATUS | 0x00000a03, 0}, -{W, 1, "", _PIPEASTAT, PIPE_GMBUS_INTERRUPT_STATUS | PIPE_VSYNC_INTERRUPT_STATUS | PIPE_VBLANK_INTERRUPT_STATUS | PIPE_OVERLAY_UPDATED_STATUS | 0x00000a03, 0}, -{R, 2, "", _PIPEASTAT, 0x00000000, 0}, -{R, 2, "", _PIPEASTAT, PIPE_VSYNC_INTERRUPT_STATUS | PIPE_VBLANK_INTERRUPT_STATUS | PIPE_OVERLAY_UPDATED_STATUS | 0x00000203, 0}, -{W, 1, "", _PIPEASTAT, PIPE_VSYNC_INTERRUPT_STATUS | PIPE_VBLANK_INTERRUPT_STATUS | PIPE_OVERLAY_UPDATED_STATUS | 0x00000203, 0}, -{R, 1, "", _PIPEASTAT, 0x00000000, 0}, -{R, 1, "", _PIPEASTAT, PIPE_VSYNC_INTERRUPT_STATUS | PIPE_VBLANK_INTERRUPT_STATUS | PIPE_OVERLAY_UPDATED_STATUS | 0x00000203, 0}, {W, 1, "", _DSPBCNTR, 0x40000000, 0}, {R, 1, "", _DSPBCNTR, 0x40000000, 0}, {W, 1, "", _DSPBCNTR, 0x58000000, 0}, -{W, 1, "", _DSPBSTRIDE, 0x00001400, 0}, {W, 1, "", _DSPBADDR, 0x00020000, 0}, {R, 2, "", DSPARB, (DSPARB_CSTART_SHIFT & 0x4) | 0x00001d9c, 0}, -{W, 1, "", INSTPM+0x20, FW_BLC_SELF_EN_MASK | 0x80000000, 0}, +{W, 1, "", FW_BLC_SELF, FW_BLC_SELF_EN_MASK | 0x80000000, 0}, {W, 1, "", FW_BLC, 0x011d011a, 0}, {W, 1, "", FW_BLC2, 0x00000102, 0}, {R, 1, "", TV_CTL, 0x00000000, 0}, @@ -273,242 +161,20 @@ struct iodef iodefs[] = { {W, 1, "", TV_CSC_V2, 0x06d00200, 0}, {W, 1, "", TV_CLR_KNOBS, 0x00606000, 0}, {W, 1, "", TV_CLR_LEVEL, 0x010b00e1, 0}, -{R, 1, "", _PIPEACONF, PIPECONF_ENABLE | 0x80000000, 0}, -{R, 1, "", _DSPBCNTR, 0x58000000, 0}, -{W, 1, "", _DSPBCNTR, 0x58000000, 0}, -{R, 1, "", _DSPBADDR, 0x00020000, 0}, -{W, 1, "", _DSPBADDR, 0x00020000, 0}, -{W, 1, "", _PIPEACONF, 0x00000000, 0}, -{R, 1, "", _PIPEADSL, 0x0000029e, 0}, -{R, 3, "", _PIPEADSL, 0x000003ff, 0}, -{W, 1, "", _PFA_CTL_1, 0x80000000, 0}, -{W, 1, "", _PFA_WIN_POS, 0x00360024, 0}, -{W, 1, "", _PFA_WIN_SZ, 0x02640198, 0}, -{W, 1, "", _PIPEACONF, PIPECONF_ENABLE | 0x80000000, 0}, -{W, 1, "", _DSPBCNTR, 0x58000000, 0}, -{R, 1, "", _DSPBADDR, 0x00020000, 0}, -{W, 1, "", _DSPBADDR, 0x00020000, 0}, -{W, 1, "", TV_H_LUMA_0, 0xb1403000, 0}, -{W, 1, "", TV_H_LUMA_0+0x4, 0x2e203500, 0}, -{W, 1, "", TV_H_LUMA_0+0x8, 0x35002e20, 0}, -{W, 1, "", TV_H_LUMA_0+0xc, 0x3000b140, 0}, -{W, 1, "", TV_H_LUMA_0+0x10, 0x35a0b160, 0}, -{W, 1, "", TV_H_LUMA_0+0x14, 0x2dc02e80, 0}, -{W, 1, "", TV_H_LUMA_0+0x18, 0xb1403480, 0}, -{W, 1, "", TV_H_LUMA_0+0x1c, 0xb1603000, 0}, -{W, 1, "", TV_H_LUMA_0+0x20, 0x2ea03640, 0}, -{W, 1, "", TV_H_LUMA_0+0x24, 0x34002d80, 0}, -{W, 1, "", TV_H_LUMA_0+0x28, 0x3000b120, 0}, -{W, 1, "", TV_H_LUMA_0+0x2c, 0x36e0b160, 0}, -{W, 1, "", TV_H_LUMA_0+0x30, 0x2d202ef0, 0}, -{W, 1, "", TV_H_LUMA_0+0x34, 0xb1203380, 0}, -{W, 1, "", TV_H_LUMA_0+0x38, 0xb1603000, 0}, -{W, 1, "", TV_H_LUMA_0+0x3c, 0x2f303780, 0}, -{W, 1, "", TV_H_LUMA_0+0x40, 0x33002cc0, 0}, -{W, 1, "", TV_H_LUMA_0+0x44, 0x3000b100, 0}, -{W, 1, "", TV_H_LUMA_0+0x48, 0x3820b160, 0}, -{W, 1, "", TV_H_LUMA_0+0x4c, 0x2c802f50, 0}, -{W, 1, "", TV_H_LUMA_0+0x50, 0xb10032a0, 0}, -{W, 1, "", TV_H_LUMA_0+0x54, 0xb1603000, 0}, -{W, 1, "", TV_H_LUMA_0+0x58, 0x2f9038c0, 0}, -{W, 1, "", TV_H_LUMA_0+0x5c, 0x32202c20, 0}, -{W, 1, "", TV_H_LUMA_0+0x60, 0x3000b0e0, 0}, -{W, 1, "", TV_H_LUMA_0+0x64, 0x3980b160, 0}, -{W, 1, "", TV_H_LUMA_0+0x68, 0x2bc02fc0, 0}, -{W, 1, "", TV_H_LUMA_0+0x6c, 0xb0e031c0, 0}, -{W, 1, "", TV_H_LUMA_0+0x70, 0xb1603000, 0}, -{W, 1, "", TV_H_LUMA_0+0x74, 0x2ff03a20, 0}, -{W, 1, "", TV_H_LUMA_0+0x78, 0x31602b60, 0}, -{W, 1, "", TV_H_LUMA_0+0x7c, 0xb020b0c0, 0}, -{W, 1, "", 0x68180, 0x3ae0b160, 0}, -{W, 1, "", 0x68184, 0x2b001810, 0}, -{W, 1, "", 0x68188, 0xb0c03120, 0}, -{W, 1, "", 0x6818c, 0xb140b020, 0}, -{W, 1, "", 0x68190, 0x18283ba0, 0}, -{W, 1, "", 0x68194, 0x30c02a80, 0}, -{W, 1, "", 0x68198, 0xb020b0a0, 0}, -{W, 1, "", 0x6819c, 0x3c60b140, 0}, -{W, 1, "", 0x681a0, 0x2a201838, 0}, -{W, 1, "", 0x681a4, 0xb0a03080, 0}, -{W, 1, "", 0x681a8, 0xb120b020, 0}, -{W, 1, "", 0x681ac, 0x18383d20, 0}, -{W, 1, "", 0x681b0, 0x304029c0, 0}, -{W, 1, "", 0x681b4, 0xb040b080, 0}, -{W, 1, "", 0x681b8, 0x3de0b100, 0}, -{W, 1, "", 0x681bc, 0x29601848, 0}, -{W, 1, "", 0x681c0, 0xb0803000, 0}, -{W, 1, "", 0x681c4, 0xb100b040, 0}, -{W, 1, "", 0x681c8, 0x18483ec0, 0}, -{W, 1, "", 0x681cc, 0xb0402900, 0}, -{W, 1, "", 0x681d0, 0xb040b060, 0}, -{W, 1, "", 0x681d4, 0x3f80b0c0, 0}, -{W, 1, "", 0x681d8, 0x28801858, 0}, -{W, 1, "", 0x681dc, 0xb060b080, 0}, -{W, 1, "", 0x681e0, 0xb0a0b060, 0}, -{W, 1, "", 0x681e4, 0x18602820, 0}, -{W, 1, "", 0x681e8, 0xb0a02820, 0}, -{W, 1, "", TV_H_LUMA_59, 0x0000b060, 0}, -{W, 1, "", TV_H_CHROMA_0, 0xb1403000, 0}, -{W, 1, "", TV_H_CHROMA_0+0x4, 0x2e203500, 0}, -{W, 1, "", TV_H_CHROMA_0+0x8, 0x35002e20, 0}, -{W, 1, "", TV_H_CHROMA_0+0xc, 0x3000b140, 0}, -{W, 1, "", TV_H_CHROMA_0+0x10, 0x35a0b160, 0}, -{W, 1, "", TV_H_CHROMA_0+0x14, 0x2dc02e80, 0}, -{W, 1, "", TV_H_CHROMA_0+0x18, 0xb1403480, 0}, -{W, 1, "", TV_H_CHROMA_0+0x1c, 0xb1603000, 0}, -{W, 1, "", TV_H_CHROMA_0+0x20, 0x2ea03640, 0}, -{W, 1, "", TV_H_CHROMA_0+0x24, 0x34002d80, 0}, -{W, 1, "", TV_H_CHROMA_0+0x28, 0x3000b120, 0}, -{W, 1, "", TV_H_CHROMA_0+0x2c, 0x36e0b160, 0}, -{W, 1, "", TV_H_CHROMA_0+0x30, 0x2d202ef0, 0}, -{W, 1, "", TV_H_CHROMA_0+0x34, 0xb1203380, 0}, -{W, 1, "", TV_H_CHROMA_0+0x38, 0xb1603000, 0}, -{W, 1, "", TV_H_CHROMA_0+0x3c, 0x2f303780, 0}, -{W, 1, "", TV_H_CHROMA_0+0x40, 0x33002cc0, 0}, -{W, 1, "", TV_H_CHROMA_0+0x44, 0x3000b100, 0}, -{W, 1, "", TV_H_CHROMA_0+0x48, 0x3820b160, 0}, -{W, 1, "", TV_H_CHROMA_0+0x4c, 0x2c802f50, 0}, -{W, 1, "", TV_H_CHROMA_0+0x50, 0xb10032a0, 0}, -{W, 1, "", TV_H_CHROMA_0+0x54, 0xb1603000, 0}, -{W, 1, "", TV_H_CHROMA_0+0x58, 0x2f9038c0, 0}, -{W, 1, "", TV_H_CHROMA_0+0x5c, 0x32202c20, 0}, -{W, 1, "", TV_H_CHROMA_0+0x60, 0x3000b0e0, 0}, -{W, 1, "", TV_H_CHROMA_0+0x64, 0x3980b160, 0}, -{W, 1, "", TV_H_CHROMA_0+0x68, 0x2bc02fc0, 0}, -{W, 1, "", TV_H_CHROMA_0+0x6c, 0xb0e031c0, 0}, -{W, 1, "", TV_H_CHROMA_0+0x70, 0xb1603000, 0}, -{W, 1, "", TV_H_CHROMA_0+0x74, 0x2ff03a20, 0}, -{W, 1, "", TV_H_CHROMA_0+0x78, 0x31602b60, 0}, -{W, 1, "", TV_H_CHROMA_0+0x7c, 0xb020b0c0, 0}, -{W, 1, "", 0x68280, 0x3ae0b160, 0}, -{W, 1, "", 0x68284, 0x2b001810, 0}, -{W, 1, "", 0x68288, 0xb0c03120, 0}, -{W, 1, "", 0x6828c, 0xb140b020, 0}, -{W, 1, "", 0x68290, 0x18283ba0, 0}, -{W, 1, "", 0x68294, 0x30c02a80, 0}, -{W, 1, "", 0x68298, 0xb020b0a0, 0}, -{W, 1, "", 0x6829c, 0x3c60b140, 0}, -{W, 1, "", 0x682a0, 0x2a201838, 0}, -{W, 1, "", 0x682a4, 0xb0a03080, 0}, -{W, 1, "", 0x682a8, 0xb120b020, 0}, -{W, 1, "", 0x682ac, 0x18383d20, 0}, -{W, 1, "", 0x682b0, 0x304029c0, 0}, -{W, 1, "", 0x682b4, 0xb040b080, 0}, -{W, 1, "", 0x682b8, 0x3de0b100, 0}, -{W, 1, "", 0x682bc, 0x29601848, 0}, -{W, 1, "", 0x682c0, 0xb0803000, 0}, -{W, 1, "", 0x682c4, 0xb100b040, 0}, -{W, 1, "", 0x682c8, 0x18483ec0, 0}, -{W, 1, "", 0x682cc, 0xb0402900, 0}, -{W, 1, "", 0x682d0, 0xb040b060, 0}, -{W, 1, "", 0x682d4, 0x3f80b0c0, 0}, -{W, 1, "", 0x682d8, 0x28801858, 0}, -{W, 1, "", 0x682dc, 0xb060b080, 0}, -{W, 1, "", 0x682e0, 0xb0a0b060, 0}, -{W, 1, "", 0x682e4, 0x18602820, 0}, -{W, 1, "", 0x682e8, 0xb0a02820, 0}, -{W, 1, "", TV_H_CHROMA_59, 0x0000b060, 0}, -{W, 1, "", TV_V_LUMA_0, 0x36403000, 0}, -{W, 1, "", TV_V_LUMA_0+0x4, 0x2d002cc0, 0}, -{W, 1, "", TV_V_LUMA_0+0x8, 0x30003640, 0}, -{W, 1, "", TV_V_LUMA_0+0xc, 0x2d0036c0, 0}, -{W, 1, "", TV_V_LUMA_0+0x10, 0x35c02cc0, 0}, -{W, 1, "", TV_V_LUMA_0+0x14, 0x37403000, 0}, -{W, 1, "", TV_V_LUMA_0+0x18, 0x2c802d40, 0}, -{W, 1, "", TV_V_LUMA_0+0x1c, 0x30003540, 0}, -{W, 1, "", TV_V_LUMA_0+0x20, 0x2d8037c0, 0}, -{W, 1, "", TV_V_LUMA_0+0x24, 0x34c02c40, 0}, -{W, 1, "", TV_V_LUMA_0+0x28, 0x38403000, 0}, -{W, 1, "", TV_V_LUMA_0+0x2c, 0x2bc02e00, 0}, -{W, 1, "", TV_V_LUMA_0+0x30, 0x30003440, 0}, -{W, 1, "", TV_V_LUMA_0+0x34, 0x2e2038c0, 0}, -{W, 1, "", TV_V_LUMA_0+0x38, 0x34002b80, 0}, -{W, 1, "", TV_V_LUMA_0+0x3c, 0x39803000, 0}, -{W, 1, "", TV_V_LUMA_0+0x40, 0x2b402e40, 0}, -{W, 1, "", TV_V_LUMA_0+0x44, 0x30003380, 0}, -{W, 1, "", TV_V_LUMA_0+0x48, 0x2e603a00, 0}, -{W, 1, "", TV_V_LUMA_0+0x4c, 0x33402b00, 0}, -{W, 1, "", TV_V_LUMA_0+0x50, 0x3a803040, 0}, -{W, 1, "", TV_V_LUMA_0+0x54, 0x2a802ea0, 0}, -{W, 1, "", TV_V_LUMA_0+0x58, 0x30403300, 0}, -{W, 1, "", TV_V_LUMA_0+0x5c, 0x2ec03b40, 0}, -{W, 1, "", TV_V_LUMA_0+0x60, 0x32802a40, 0}, -{W, 1, "", TV_V_LUMA_0+0x64, 0x3c003040, 0}, -{W, 1, "", TV_V_LUMA_0+0x68, 0x2a002ec0, 0}, -{W, 1, "", TV_V_LUMA_0+0x6c, 0x30803240, 0}, -{W, 1, "", TV_V_LUMA_0+0x70, 0x2ec03c80, 0}, -{W, 1, "", TV_V_LUMA_0+0x74, 0x320029c0, 0}, -{W, 1, "", TV_V_LUMA_0+0x78, 0x3d403080, 0}, -{W, 1, "", TV_V_LUMA_0+0x7c, 0x29402f00, 0}, -{W, 1, "", 0x68380, 0x308031c0, 0}, -{W, 1, "", 0x68384, 0x2f203dc0, 0}, -{W, 1, "", 0x68388, 0x31802900, 0}, -{W, 1, "", 0x6838c, 0x3e8030c0, 0}, -{W, 1, "", 0x68390, 0x28802f40, 0}, -{W, 1, "", 0x68394, 0x30c03140, 0}, -{W, 1, "", 0x68398, 0x2f203f40, 0}, -{W, 1, "", 0x6839c, 0x31402840, 0}, -{W, 1, "", 0x683a0, 0x28003100, 0}, -{W, 1, "", 0x683a4, 0x28002f00, 0}, -{W, 1, "", TV_V_LUMA_42, 0x00003100, 0}, -{W, 1, "", TV_V_CHROMA_0, 0x36403000, 0}, -{W, 1, "", TV_V_CHROMA_0+0x4, 0x2d002cc0, 0}, -{W, 1, "", TV_V_CHROMA_0+0x8, 0x30003640, 0}, -{W, 1, "", TV_V_CHROMA_0+0xc, 0x2d0036c0, 0}, -{W, 1, "", TV_V_CHROMA_0+0x10, 0x35c02cc0, 0}, -{W, 1, "", TV_V_CHROMA_0+0x14, 0x37403000, 0}, -{W, 1, "", TV_V_CHROMA_0+0x18, 0x2c802d40, 0}, -{W, 1, "", TV_V_CHROMA_0+0x1c, 0x30003540, 0}, -{W, 1, "", TV_V_CHROMA_0+0x20, 0x2d8037c0, 0}, -{W, 1, "", TV_V_CHROMA_0+0x24, 0x34c02c40, 0}, -{W, 1, "", TV_V_CHROMA_0+0x28, 0x38403000, 0}, -{W, 1, "", TV_V_CHROMA_0+0x2c, 0x2bc02e00, 0}, -{W, 1, "", TV_V_CHROMA_0+0x30, 0x30003440, 0}, -{W, 1, "", TV_V_CHROMA_0+0x34, 0x2e2038c0, 0}, -{W, 1, "", TV_V_CHROMA_0+0x38, 0x34002b80, 0}, -{W, 1, "", TV_V_CHROMA_0+0x3c, 0x39803000, 0}, -{W, 1, "", TV_V_CHROMA_0+0x40, 0x2b402e40, 0}, -{W, 1, "", TV_V_CHROMA_0+0x44, 0x30003380, 0}, -{W, 1, "", TV_V_CHROMA_0+0x48, 0x2e603a00, 0}, -{W, 1, "", TV_V_CHROMA_0+0x4c, 0x33402b00, 0}, -{W, 1, "", TV_V_CHROMA_0+0x50, 0x3a803040, 0}, -{W, 1, "", TV_V_CHROMA_0+0x54, 0x2a802ea0, 0}, -{W, 1, "", TV_V_CHROMA_0+0x58, 0x30403300, 0}, -{W, 1, "", TV_V_CHROMA_0+0x5c, 0x2ec03b40, 0}, -{W, 1, "", TV_V_CHROMA_0+0x60, 0x32802a40, 0}, -{W, 1, "", TV_V_CHROMA_0+0x64, 0x3c003040, 0}, -{W, 1, "", TV_V_CHROMA_0+0x68, 0x2a002ec0, 0}, -{W, 1, "", TV_V_CHROMA_0+0x6c, 0x30803240, 0}, -{W, 1, "", TV_V_CHROMA_0+0x70, 0x2ec03c80, 0}, -{W, 1, "", TV_V_CHROMA_0+0x74, 0x320029c0, 0}, -{W, 1, "", TV_V_CHROMA_0+0x78, 0x3d403080, 0}, -{W, 1, "", TV_V_CHROMA_0+0x7c, 0x29402f00, 0}, -{W, 1, "", 0x68480, 0x308031c0, 0}, -{W, 1, "", 0x68484, 0x2f203dc0, 0}, -{W, 1, "", 0x68488, 0x31802900, 0}, -{W, 1, "", 0x6848c, 0x3e8030c0, 0}, -{W, 1, "", 0x68490, 0x28802f40, 0}, -{W, 1, "", 0x68494, 0x30c03140, 0}, -{W, 1, "", 0x68498, 0x2f203f40, 0}, -{W, 1, "", 0x6849c, 0x31402840, 0}, -{W, 1, "", 0x684a0, 0x28003100, 0}, -{W, 1, "", 0x684a4, 0x28002f00, 0}, -{W, 1, "", TV_V_CHROMA_42, 0x00003100, 0}, +{W, 1, "", _PFA_CTL_1, 0x00000000, 0}, +{W, 1, "", _PFA_WIN_POS, 0x00000000, 0}, +{W, 1, "", _PFA_WIN_SZ, 0x00000000, 0}, {R, 1, "", TV_DAC, 0x70000000, 0}, {W, 1, "", TV_DAC, 0x00000000, 0}, {W, 1, "", TV_CTL, 0x000c0000, 0}, {R, 2, "", DSPARB, (DSPARB_CSTART_SHIFT & 0x4) | 0x00001d9c, 0}, -{W, 1, "", INSTPM+0x20, FW_BLC_SELF_EN_MASK | 0x80000000, 0}, -{W, 1, "", INSTPM+0x20, 0x0001002f, 0}, +{W, 1, "", FW_BLC_SELF, FW_BLC_SELF_EN_MASK | 0x80000000, 0}, +{W, 1, "", FW_BLC_SELF, 0x0001002f, 0}, {W, 1, "", FW_BLC, 0x0101011a, 0}, {W, 1, "", FW_BLC2, 0x00000102, 0}, -{W, 1, "", INSTPM+0x20, FW_BLC_SELF_EN_MASK | 0x80008000, 0}, +{W, 1, "", FW_BLC_SELF, FW_BLC_SELF_EN_MASK | 0x80008000, 0}, {R, 1, "", PP_CONTROL, 0xabcd0000, 0}, {R, 1, "", LVDS, 0x40000000, 0}, -{R, 1, "", _DPLL_A, 0x94020003, 0}, -{W, 3, "", _DPLL_A, 0x94020003, 0}, -{R, 1, "", _DPLL_A, 0x94020003, 0}, -{R, 2, "", _PIPEACONF, PIPECONF_ENABLE | 0x80000000, 0}, {R, 1, "", _DSPBCNTR, 0x58000000, 0}, {W, 1, "", _DSPBCNTR, 0xd8000000, 0}, {R, 1, "", _DSPBADDR, 0x00020000, 0}, @@ -517,262 +183,6 @@ struct iodef iodefs[] = { {W, 1, "", _PIPEASTAT, PIPE_VSYNC_INTERRUPT_STATUS | PIPE_VBLANK_INTERRUPT_STATUS | PIPE_OVERLAY_UPDATED_STATUS | 0x00000203, 0}, {R, 2, "", _PIPEASTAT, 0x00000000, 0}, {R, 1, "", _PIPEASTAT, PIPE_VSYNC_INTERRUPT_STATUS | PIPE_VBLANK_INTERRUPT_STATUS | PIPE_OVERLAY_UPDATED_STATUS | 0x00000203, 0}, -{W, 1, "", _PALETTE_A, 0x00000000, 0}, -{W, 1, "", _PALETTE_A+0x4, 0x00010101, 0}, -{W, 1, "", _PALETTE_A+0x8, 0x00020202, 0}, -{W, 1, "", _PALETTE_A+0xc, 0x00030303, 0}, -{W, 1, "", _PALETTE_A+0x10, 0x00040404, 0}, -{W, 1, "", _PALETTE_A+0x14, 0x00050505, 0}, -{W, 1, "", _PALETTE_A+0x18, 0x00060606, 0}, -{W, 1, "", _PALETTE_A+0x1c, 0x00070707, 0}, -{W, 1, "", _PALETTE_A+0x20, 0x00080808, 0}, -{W, 1, "", _PALETTE_A+0x24, 0x00090909, 0}, -{W, 1, "", _PALETTE_A+0x28, 0x000a0a0a, 0}, -{W, 1, "", _PALETTE_A+0x2c, 0x000b0b0b, 0}, -{W, 1, "", _PALETTE_A+0x30, 0x000c0c0c, 0}, -{W, 1, "", _PALETTE_A+0x34, 0x000d0d0d, 0}, -{W, 1, "", _PALETTE_A+0x38, 0x000e0e0e, 0}, -{W, 1, "", _PALETTE_A+0x3c, 0x000f0f0f, 0}, -{W, 1, "", _PALETTE_A+0x40, 0x00101010, 0}, -{W, 1, "", _PALETTE_A+0x44, 0x00111111, 0}, -{W, 1, "", _PALETTE_A+0x48, 0x00121212, 0}, -{W, 1, "", _PALETTE_A+0x4c, 0x00131313, 0}, -{W, 1, "", _PALETTE_A+0x50, 0x00141414, 0}, -{W, 1, "", _PALETTE_A+0x54, 0x00151515, 0}, -{W, 1, "", _PALETTE_A+0x58, 0x00161616, 0}, -{W, 1, "", _PALETTE_A+0x5c, 0x00171717, 0}, -{W, 1, "", _PALETTE_A+0x60, 0x00181818, 0}, -{W, 1, "", _PALETTE_A+0x64, 0x00191919, 0}, -{W, 1, "", _PALETTE_A+0x68, 0x001a1a1a, 0}, -{W, 1, "", _PALETTE_A+0x6c, 0x001b1b1b, 0}, -{W, 1, "", _PALETTE_A+0x70, 0x001c1c1c, 0}, -{W, 1, "", _PALETTE_A+0x74, 0x001d1d1d, 0}, -{W, 1, "", _PALETTE_A+0x78, 0x001e1e1e, 0}, -{W, 1, "", _PALETTE_A+0x7c, 0x001f1f1f, 0}, -{W, 1, "", 0xa080, 0x00202020, 0}, -{W, 1, "", 0xa084, 0x00212121, 0}, -{W, 1, "", 0xa088, 0x00222222, 0}, -{W, 1, "", 0xa08c, 0x00232323, 0}, -{W, 1, "", 0xa090, 0x00242424, 0}, -{W, 1, "", 0xa094, 0x00252525, 0}, -{W, 1, "", 0xa098, 0x00262626, 0}, -{W, 1, "", 0xa09c, 0x00272727, 0}, -{W, 1, "", 0xa0a0, 0x00282828, 0}, -{W, 1, "", 0xa0a4, 0x00292929, 0}, -{W, 1, "", 0xa0a8, 0x002a2a2a, 0}, -{W, 1, "", 0xa0ac, 0x002b2b2b, 0}, -{W, 1, "", 0xa0b0, 0x002c2c2c, 0}, -{W, 1, "", 0xa0b4, 0x002d2d2d, 0}, -{W, 1, "", 0xa0b8, 0x002e2e2e, 0}, -{W, 1, "", 0xa0bc, 0x002f2f2f, 0}, -{W, 1, "", 0xa0c0, 0x00303030, 0}, -{W, 1, "", 0xa0c4, 0x00313131, 0}, -{W, 1, "", 0xa0c8, 0x00323232, 0}, -{W, 1, "", 0xa0cc, 0x00333333, 0}, -{W, 1, "", 0xa0d0, 0x00343434, 0}, -{W, 1, "", 0xa0d4, 0x00353535, 0}, -{W, 1, "", 0xa0d8, 0x00363636, 0}, -{W, 1, "", 0xa0dc, 0x00373737, 0}, -{W, 1, "", 0xa0e0, 0x00383838, 0}, -{W, 1, "", 0xa0e4, 0x00393939, 0}, -{W, 1, "", 0xa0e8, 0x003a3a3a, 0}, -{W, 1, "", 0xa0ec, 0x003b3b3b, 0}, -{W, 1, "", 0xa0f0, 0x003c3c3c, 0}, -{W, 1, "", 0xa0f4, 0x003d3d3d, 0}, -{W, 1, "", 0xa0f8, 0x003e3e3e, 0}, -{W, 1, "", 0xa0fc, 0x003f3f3f, 0}, -{W, 1, "", 0xa100, 0x00404040, 0}, -{W, 1, "", 0xa104, 0x00414141, 0}, -{W, 1, "", 0xa108, 0x00424242, 0}, -{W, 1, "", 0xa10c, 0x00434343, 0}, -{W, 1, "", 0xa110, 0x00444444, 0}, -{W, 1, "", 0xa114, 0x00454545, 0}, -{W, 1, "", 0xa118, 0x00464646, 0}, -{W, 1, "", 0xa11c, 0x00474747, 0}, -{W, 1, "", 0xa120, 0x00484848, 0}, -{W, 1, "", 0xa124, 0x00494949, 0}, -{W, 1, "", 0xa128, 0x004a4a4a, 0}, -{W, 1, "", 0xa12c, 0x004b4b4b, 0}, -{W, 1, "", 0xa130, 0x004c4c4c, 0}, -{W, 1, "", 0xa134, 0x004d4d4d, 0}, -{W, 1, "", 0xa138, 0x004e4e4e, 0}, -{W, 1, "", 0xa13c, 0x004f4f4f, 0}, -{W, 1, "", 0xa140, 0x00505050, 0}, -{W, 1, "", 0xa144, 0x00515151, 0}, -{W, 1, "", 0xa148, 0x00525252, 0}, -{W, 1, "", 0xa14c, 0x00535353, 0}, -{W, 1, "", 0xa150, 0x00545454, 0}, -{W, 1, "", 0xa154, 0x00555555, 0}, -{W, 1, "", 0xa158, 0x00565656, 0}, -{W, 1, "", 0xa15c, 0x00575757, 0}, -{W, 1, "", 0xa160, 0x00585858, 0}, -{W, 1, "", 0xa164, 0x00595959, 0}, -{W, 1, "", 0xa168, 0x005a5a5a, 0}, -{W, 1, "", 0xa16c, 0x005b5b5b, 0}, -{W, 1, "", 0xa170, 0x005c5c5c, 0}, -{W, 1, "", 0xa174, 0x005d5d5d, 0}, -{W, 1, "", 0xa178, 0x005e5e5e, 0}, -{W, 1, "", 0xa17c, 0x005f5f5f, 0}, -{W, 1, "", 0xa180, 0x00606060, 0}, -{W, 1, "", 0xa184, 0x00616161, 0}, -{W, 1, "", FORCEWAKE_MT, 0x00626262, 0}, -{W, 1, "", FORCEWAKE, 0x00636363, 0}, -{W, 1, "", 0xa190, 0x00646464, 0}, -{W, 1, "", 0xa194, 0x00656565, 0}, -{W, 1, "", 0xa198, 0x00666666, 0}, -{W, 1, "", 0xa19c, 0x00676767, 0}, -{W, 1, "", 0xa1a0, 0x00686868, 0}, -{W, 1, "", 0xa1a4, 0x00696969, 0}, -{W, 1, "", 0xa1a8, 0x006a6a6a, 0}, -{W, 1, "", 0xa1ac, 0x006b6b6b, 0}, -{W, 1, "", 0xa1b0, 0x006c6c6c, 0}, -{W, 1, "", 0xa1b4, 0x006d6d6d, 0}, -{W, 1, "", 0xa1b8, 0x006e6e6e, 0}, -{W, 1, "", 0xa1bc, 0x006f6f6f, 0}, -{W, 1, "", 0xa1c0, 0x00707070, 0}, -{W, 1, "", 0xa1c4, 0x00717171, 0}, -{W, 1, "", 0xa1c8, 0x00727272, 0}, -{W, 1, "", 0xa1cc, 0x00737373, 0}, -{W, 1, "", 0xa1d0, 0x00747474, 0}, -{W, 1, "", 0xa1d4, 0x00757575, 0}, -{W, 1, "", 0xa1d8, 0x00767676, 0}, -{W, 1, "", 0xa1dc, 0x00777777, 0}, -{W, 1, "", 0xa1e0, 0x00787878, 0}, -{W, 1, "", 0xa1e4, 0x00797979, 0}, -{W, 1, "", 0xa1e8, 0x007a7a7a, 0}, -{W, 1, "", 0xa1ec, 0x007b7b7b, 0}, -{W, 1, "", 0xa1f0, 0x007c7c7c, 0}, -{W, 1, "", 0xa1f4, 0x007d7d7d, 0}, -{W, 1, "", 0xa1f8, 0x007e7e7e, 0}, -{W, 1, "", 0xa1fc, 0x007f7f7f, 0}, -{W, 1, "", 0xa200, 0x00808080, 0}, -{W, 1, "", 0xa204, 0x00818181, 0}, -{W, 1, "", 0xa208, 0x00828282, 0}, -{W, 1, "", 0xa20c, 0x00838383, 0}, -{W, 1, "", 0xa210, 0x00848484, 0}, -{W, 1, "", 0xa214, 0x00858585, 0}, -{W, 1, "", 0xa218, 0x00868686, 0}, -{W, 1, "", 0xa21c, 0x00878787, 0}, -{W, 1, "", 0xa220, 0x00888888, 0}, -{W, 1, "", 0xa224, 0x00898989, 0}, -{W, 1, "", 0xa228, 0x008a8a8a, 0}, -{W, 1, "", 0xa22c, 0x008b8b8b, 0}, -{W, 1, "", 0xa230, 0x008c8c8c, 0}, -{W, 1, "", 0xa234, 0x008d8d8d, 0}, -{W, 1, "", 0xa238, 0x008e8e8e, 0}, -{W, 1, "", 0xa23c, 0x008f8f8f, 0}, -{W, 1, "", 0xa240, 0x00909090, 0}, -{W, 1, "", 0xa244, 0x00919191, 0}, -{W, 1, "", 0xa248, 0x00929292, 0}, -{W, 1, "", 0xa24c, 0x00939393, 0}, -{W, 1, "", 0xa250, 0x00949494, 0}, -{W, 1, "", 0xa254, 0x00959595, 0}, -{W, 1, "", 0xa258, 0x00969696, 0}, -{W, 1, "", 0xa25c, 0x00979797, 0}, -{W, 1, "", 0xa260, 0x00989898, 0}, -{W, 1, "", 0xa264, 0x00999999, 0}, -{W, 1, "", 0xa268, 0x009a9a9a, 0}, -{W, 1, "", 0xa26c, 0x009b9b9b, 0}, -{W, 1, "", 0xa270, 0x009c9c9c, 0}, -{W, 1, "", 0xa274, 0x009d9d9d, 0}, -{W, 1, "", 0xa278, 0x009e9e9e, 0}, -{W, 1, "", 0xa27c, 0x009f9f9f, 0}, -{W, 1, "", 0xa280, 0x00a0a0a0, 0}, -{W, 1, "", 0xa284, 0x00a1a1a1, 0}, -{W, 1, "", 0xa288, 0x00a2a2a2, 0}, -{W, 1, "", 0xa28c, 0x00a3a3a3, 0}, -{W, 1, "", 0xa290, 0x00a4a4a4, 0}, -{W, 1, "", 0xa294, 0x00a5a5a5, 0}, -{W, 1, "", 0xa298, 0x00a6a6a6, 0}, -{W, 1, "", 0xa29c, 0x00a7a7a7, 0}, -{W, 1, "", 0xa2a0, 0x00a8a8a8, 0}, -{W, 1, "", 0xa2a4, 0x00a9a9a9, 0}, -{W, 1, "", 0xa2a8, 0x00aaaaaa, 0}, -{W, 1, "", 0xa2ac, 0x00ababab, 0}, -{W, 1, "", 0xa2b0, 0x00acacac, 0}, -{W, 1, "", 0xa2b4, 0x00adadad, 0}, -{W, 1, "", 0xa2b8, 0x00aeaeae, 0}, -{W, 1, "", 0xa2bc, 0x00afafaf, 0}, -{W, 1, "", 0xa2c0, 0x00b0b0b0, 0}, -{W, 1, "", 0xa2c4, 0x00b1b1b1, 0}, -{W, 1, "", 0xa2c8, 0x00b2b2b2, 0}, -{W, 1, "", 0xa2cc, 0x00b3b3b3, 0}, -{W, 1, "", 0xa2d0, 0x00b4b4b4, 0}, -{W, 1, "", 0xa2d4, 0x00b5b5b5, 0}, -{W, 1, "", 0xa2d8, 0x00b6b6b6, 0}, -{W, 1, "", 0xa2dc, 0x00b7b7b7, 0}, -{W, 1, "", 0xa2e0, 0x00b8b8b8, 0}, -{W, 1, "", 0xa2e4, 0x00b9b9b9, 0}, -{W, 1, "", 0xa2e8, 0x00bababa, 0}, -{W, 1, "", 0xa2ec, 0x00bbbbbb, 0}, -{W, 1, "", 0xa2f0, 0x00bcbcbc, 0}, -{W, 1, "", 0xa2f4, 0x00bdbdbd, 0}, -{W, 1, "", 0xa2f8, 0x00bebebe, 0}, -{W, 1, "", 0xa2fc, 0x00bfbfbf, 0}, -{W, 1, "", 0xa300, 0x00c0c0c0, 0}, -{W, 1, "", 0xa304, 0x00c1c1c1, 0}, -{W, 1, "", 0xa308, 0x00c2c2c2, 0}, -{W, 1, "", 0xa30c, 0x00c3c3c3, 0}, -{W, 1, "", 0xa310, 0x00c4c4c4, 0}, -{W, 1, "", 0xa314, 0x00c5c5c5, 0}, -{W, 1, "", 0xa318, 0x00c6c6c6, 0}, -{W, 1, "", 0xa31c, 0x00c7c7c7, 0}, -{W, 1, "", 0xa320, 0x00c8c8c8, 0}, -{W, 1, "", 0xa324, 0x00c9c9c9, 0}, -{W, 1, "", 0xa328, 0x00cacaca, 0}, -{W, 1, "", 0xa32c, 0x00cbcbcb, 0}, -{W, 1, "", 0xa330, 0x00cccccc, 0}, -{W, 1, "", 0xa334, 0x00cdcdcd, 0}, -{W, 1, "", 0xa338, 0x00cecece, 0}, -{W, 1, "", 0xa33c, 0x00cfcfcf, 0}, -{W, 1, "", 0xa340, 0x00d0d0d0, 0}, -{W, 1, "", 0xa344, 0x00d1d1d1, 0}, -{W, 1, "", 0xa348, 0x00d2d2d2, 0}, -{W, 1, "", 0xa34c, 0x00d3d3d3, 0}, -{W, 1, "", 0xa350, 0x00d4d4d4, 0}, -{W, 1, "", 0xa354, 0x00d5d5d5, 0}, -{W, 1, "", 0xa358, 0x00d6d6d6, 0}, -{W, 1, "", 0xa35c, 0x00d7d7d7, 0}, -{W, 1, "", 0xa360, 0x00d8d8d8, 0}, -{W, 1, "", 0xa364, 0x00d9d9d9, 0}, -{W, 1, "", 0xa368, 0x00dadada, 0}, -{W, 1, "", 0xa36c, 0x00dbdbdb, 0}, -{W, 1, "", 0xa370, 0x00dcdcdc, 0}, -{W, 1, "", 0xa374, 0x00dddddd, 0}, -{W, 1, "", 0xa378, 0x00dedede, 0}, -{W, 1, "", 0xa37c, 0x00dfdfdf, 0}, -{W, 1, "", 0xa380, 0x00e0e0e0, 0}, -{W, 1, "", 0xa384, 0x00e1e1e1, 0}, -{W, 1, "", 0xa388, 0x00e2e2e2, 0}, -{W, 1, "", 0xa38c, 0x00e3e3e3, 0}, -{W, 1, "", 0xa390, 0x00e4e4e4, 0}, -{W, 1, "", 0xa394, 0x00e5e5e5, 0}, -{W, 1, "", 0xa398, 0x00e6e6e6, 0}, -{W, 1, "", 0xa39c, 0x00e7e7e7, 0}, -{W, 1, "", 0xa3a0, 0x00e8e8e8, 0}, -{W, 1, "", 0xa3a4, 0x00e9e9e9, 0}, -{W, 1, "", 0xa3a8, 0x00eaeaea, 0}, -{W, 1, "", 0xa3ac, 0x00ebebeb, 0}, -{W, 1, "", 0xa3b0, 0x00ececec, 0}, -{W, 1, "", 0xa3b4, 0x00ededed, 0}, -{W, 1, "", 0xa3b8, 0x00eeeeee, 0}, -{W, 1, "", 0xa3bc, 0x00efefef, 0}, -{W, 1, "", 0xa3c0, 0x00f0f0f0, 0}, -{W, 1, "", 0xa3c4, 0x00f1f1f1, 0}, -{W, 1, "", 0xa3c8, 0x00f2f2f2, 0}, -{W, 1, "", 0xa3cc, 0x00f3f3f3, 0}, -{W, 1, "", 0xa3d0, 0x00f4f4f4, 0}, -{W, 1, "", 0xa3d4, 0x00f5f5f5, 0}, -{W, 1, "", 0xa3d8, 0x00f6f6f6, 0}, -{W, 1, "", 0xa3dc, 0x00f7f7f7, 0}, -{W, 1, "", 0xa3e0, 0x00f8f8f8, 0}, -{W, 1, "", 0xa3e4, 0x00f9f9f9, 0}, -{W, 1, "", 0xa3e8, 0x00fafafa, 0}, -{W, 1, "", 0xa3ec, 0x00fbfbfb, 0}, -{W, 1, "", 0xa3f0, 0x00fcfcfc, 0}, -{W, 1, "", 0xa3f4, 0x00fdfdfd, 0}, -{W, 1, "", 0xa3f8, 0x00fefefe, 0}, -{W, 1, "", 0xa3fc, 0x00ffffff, 0}, {R, 1, "", TV_CTL, 0x000c0000, 0}, {W, 1, "", TV_CTL, 0x800c0000, 0}, {R, 1, "", LVDS, 0x40000000, 0}, @@ -781,7 +191,6 @@ struct iodef iodefs[] = { {R, 1, "", LVDS, 0x40000000, 0}, {R, 1, "", _FDI_TXB_CTL, 0x00000000, 0}, {R, 1, "", TV_CTL, 0x800c0000, 0}, -{R, 1, "", _PIPEACONF, PIPECONF_ENABLE | 0x80000000, 0}, {R, 1, "", _PIPEBCONF, 0x00000000, 0}, {R, 1, "", _PIPEASTAT, PIPE_VSYNC_INTERRUPT_STATUS | PIPE_VBLANK_INTERRUPT_STATUS | PIPE_OVERLAY_UPDATED_STATUS | 0x00000203, 0}, {W, 1, "", _PIPEASTAT, PIPE_VSYNC_INTERRUPT_STATUS | PIPE_VBLANK_INTERRUPT_STATUS | PIPE_OVERLAY_UPDATED_STATUS | 0x00000203, 0}, @@ -805,75 +214,6 @@ struct iodef iodefs[] = { {R, 1, "", TV_CTL, 0x800c0000, 0}, {W, 1, "", TV_CTL, 0x000c0000, 0}, {W, 1, "", INSTPM, 0x08000800, 0}, -{R, 1, "", _PIPEACONF, PIPECONF_ENABLE | 0x80000000, 0}, -{R, 1, "", _PIPEA_FRMCOUNT_GM45, 0x00000000, 0}, -{R, 1, "", _PIPEA_FLIPCOUNT_GM45, 0x62029b1b, 0}, -{R, 1, "", _PIPEA_FRMCOUNT_GM45, 0x00000000, 0}, -{R, 1, "", _PIPEACONF, PIPECONF_ENABLE | 0x80000000, 0}, -{R, 1, "", _VTOTAL_A, 0x044f03ff, 0}, -{R, 1, "", _PIPEA_FLIPCOUNT_GM45, 0x6217572c, 0}, -{R, 1, "", _HTOTAL_A, 0x06af04ff, 0}, -{R, 1, "", _VBLANK_A, 0x044f03ff, 0}, -{R, 1, "", _PIPEACONF, PIPECONF_ENABLE | 0x80000000, 0}, -{R, 1, "", _VTOTAL_A, 0x044f03ff, 0}, -{R, 1, "", _PIPEA_FLIPCOUNT_GM45, 0x63156af7, 0}, -{R, 1, "", _HTOTAL_A, 0x06af04ff, 0}, -{R, 1, "", _VBLANK_A, 0x044f03ff, 0}, -{R, 1, "", _PIPEACONF, PIPECONF_ENABLE | 0x80000000, 0}, -{R, 1, "", _VTOTAL_A, 0x044f03ff, 0}, -{R, 1, "", _PIPEA_FLIPCOUNT_GM45, 0x64137fac, 0}, -{R, 1, "", _HTOTAL_A, 0x06af04ff, 0}, -{R, 1, "", _VBLANK_A, 0x044f03ff, 0}, -{R, 1, "", _PIPEACONF, PIPECONF_ENABLE | 0x80000000, 0}, -{R, 1, "", _PIPEA_FRMCOUNT_GM45, 0x00000000, 0}, -{R, 1, "", _PIPEA_FLIPCOUNT_GM45, 0x6510b8c6, 0}, -{R, 1, "", _PIPEA_FRMCOUNT_GM45, 0x00000000, 0}, -{R, 1, "", _PIPEACONF, PIPECONF_ENABLE | 0x80000000, 0}, -{R, 1, "", _PIPEA_FRMCOUNT_GM45, 0x00000000, 0}, -{R, 1, "", _PIPEA_FLIPCOUNT_GM45, 0x6607c3b5, 0}, -{R, 1, "", _PIPEA_FRMCOUNT_GM45, 0x00000000, 0}, -{R, 1, "", _PIPEACONF, PIPECONF_ENABLE | 0x80000000, 0}, -{R, 1, "", _VTOTAL_A, 0x044f03ff, 0}, -{R, 1, "", _PIPEA_FLIPCOUNT_GM45, 0x661c804f, 0}, -{R, 1, "", _HTOTAL_A, 0x06af04ff, 0}, -{R, 1, "", _VBLANK_A, 0x044f03ff, 0}, -{R, 1, "", _PIPEACONF, PIPECONF_ENABLE | 0x80000000, 0}, -{R, 1, "", _VTOTAL_A, 0x044f03ff, 0}, -{R, 1, "", _PIPEA_FLIPCOUNT_GM45, 0x671a949c, 0}, -{R, 1, "", _HTOTAL_A, 0x06af04ff, 0}, -{R, 1, "", _VBLANK_A, 0x044f03ff, 0}, -{R, 1, "", _PIPEACONF, PIPECONF_ENABLE | 0x80000000, 0}, -{R, 1, "", _VTOTAL_A, 0x044f03ff, 0}, -{R, 1, "", _PIPEA_FLIPCOUNT_GM45, 0x6818a96d, 0}, -{R, 1, "", _HTOTAL_A, 0x06af04ff, 0}, -{R, 1, "", _VBLANK_A, 0x044f03ff, 0}, -{R, 1, "", _PIPEACONF, PIPECONF_ENABLE | 0x80000000, 0}, -{R, 1, "", _PIPEA_FRMCOUNT_GM45, 0x00000000, 0}, -{R, 1, "", _PIPEA_FLIPCOUNT_GM45, 0x6915e1d1, 0}, -{R, 1, "", _PIPEA_FRMCOUNT_GM45, 0x00000000, 0}, -{R, 1, "", _PIPEACONF, PIPECONF_ENABLE | 0x80000000, 0}, -{R, 1, "", _PIPEA_FRMCOUNT_GM45, 0x00000000, 0}, -{R, 1, "", _PIPEA_FLIPCOUNT_GM45, 0x6a0cec77, 0}, -{R, 1, "", _PIPEA_FRMCOUNT_GM45, 0x00000000, 0}, -{R, 1, "", _PIPEACONF, PIPECONF_ENABLE | 0x80000000, 0}, -{R, 1, "", _VTOTAL_A, 0x044f03ff, 0}, -{R, 1, "", _PIPEA_FLIPCOUNT_GM45, 0x6b04d273, 0}, -{R, 1, "", _HTOTAL_A, 0x06af04ff, 0}, -{R, 1, "", _VBLANK_A, 0x044f03ff, 0}, -{R, 1, "", _PIPEACONF, PIPECONF_ENABLE | 0x80000000, 0}, -{R, 1, "", _VTOTAL_A, 0x044f03ff, 0}, -{R, 1, "", _PIPEA_FLIPCOUNT_GM45, 0x6c02e710, 0}, -{R, 1, "", _HTOTAL_A, 0x06af04ff, 0}, -{R, 1, "", _VBLANK_A, 0x044f03ff, 0}, -{R, 1, "", _PIPEACONF, PIPECONF_ENABLE | 0x80000000, 0}, -{R, 1, "", _VTOTAL_A, 0x044f03ff, 0}, -{R, 1, "", _PIPEA_FLIPCOUNT_GM45, 0x6d00fb0c, 0}, -{R, 1, "", _HTOTAL_A, 0x06af04ff, 0}, -{R, 1, "", _VBLANK_A, 0x044f03ff, 0}, -{R, 1, "", _PIPEACONF, PIPECONF_ENABLE | 0x80000000, 0}, -{R, 1, "", _PIPEA_FRMCOUNT_GM45, 0x00000000, 0}, -{R, 1, "", _PIPEA_FLIPCOUNT_GM45, 0x6d1b0b04, 0}, -{R, 1, "", _PIPEA_FRMCOUNT_GM45, 0x00000000, 0}, {R, 1, "", _DSPBCNTR, 0xd8000000, 0}, {W, 1, "", _DSPBCNTR, 0x58000000, 0}, {R, 1, "", _DSPBADDR, 0x00020000, 0}, @@ -884,31 +224,20 @@ struct iodef iodefs[] = { {R, 1, "", _PIPEASTAT, PIPE_VSYNC_INTERRUPT_STATUS | PIPE_VBLANK_INTERRUPT_STATUS | PIPE_OVERLAY_UPDATED_STATUS | 0x00000203, 0}, {R, 1, "", _DSPACNTR, 0x00000000, 0}, {R, 1, "", _DSPBCNTR, 0x58000000, 0}, -{R, 1, "", _PIPEACONF, PIPECONF_ENABLE | 0x80000000, 0}, -{W, 1, "", _PIPEACONF, 0x00000000, 0}, -{R, 2, "", _PIPEADSL, 0x000003ff, 0}, -{R, 1, "", _PIPEACONF, 0x00000000, 0}, -{R, 1, "", _DPLL_A, 0x94020003, 0}, -{W, 1, "", _DPLL_A, 0x14020003, 0}, {R, 2, "", DSPARB, (DSPARB_CSTART_SHIFT & 0x4) | 0x00001d9c, 0}, -{W, 1, "", INSTPM+0x20, FW_BLC_SELF_EN_MASK | 0x80000000, 0}, +{W, 1, "", FW_BLC_SELF, FW_BLC_SELF_EN_MASK | 0x80000000, 0}, {W, 1, "", FW_BLC, 0x011d011a, 0}, {W, 1, "", FW_BLC2, 0x00000102, 0}, -{R, 1, "", _DSPBCNTR, 0x58000000, 0}, -{R, 1, "", _PIPEACONF, 0x00000000, 0}, {R, 1, "", LVDS, 0x40000000, 0}, {R, 1, "", _FDI_TXB_CTL, 0x00000000, 0}, {R, 1, "", TV_CTL, 0x000c0000, 0}, {R, 1, "", LVDS, 0x40000000, 0}, {R, 1, "", _FDI_TXB_CTL, 0x00000000, 0}, {R, 1, "", TV_CTL, 0x000c0000, 0}, -{R, 1, "", _PIPEACONF, 0x00000000, 0}, {R, 1, "", _PIPEBCONF, 0x00000000, 0}, {M, 1, "fbcon:inteldrmfb (fb0) is primary device", 0x0, 0x0, 0}, {R, 1, "", _PIPEBCONF, 0x00000000, 0}, {R, 2, "", LVDS, 0x40000000, 0}, -{W, 1, "", _FPB0, 0x00020e09, 0}, -{W, 1, "", _FPB1, FP_M1_DIV_SHIFT | DPLLA_INPUT_BUFFER_ENABLE | VF_UNIT_CLOCK_GATE_DISABLE | 0x00020e09, 0}, {W, 1, "", _DPLL_B, DPLL_VGA_MODE_DIS | DPLLB_MODE_LVDS | 0x18046000, 0}, {R, 1, "", LVDS, 0x40000000, 0}, {W, 1, "", LVDS, LVDS_ON | PLL_P1_DIVIDE_BY_TWO | DISPLAY_RATE_SELECT_FPA1 | 0xc0300300, 0}, @@ -923,1347 +252,22 @@ struct iodef iodefs[] = { {W, 1, "", _PIPEBSRC, 0x03ff02ff, 0}, {W, 1, "", _DSPASIZE, 0x02ff03ff, 0}, {W, 1, "", _DSPASTRIDE+0x4, 0x00000000, 0}, -{W, 1, "", _PIPEBCONF, 0x00000000, 0}, -{R, 1, "", _DPLL_B, DPLL_VCO_ENABLE | DPLL_VGA_MODE_DIS | DPLLB_MODE_LVDS | 0x98046000, 0}, -{R, 1, "", _PIPEBCONF, 0x00000000, 0}, -{W, 1, "", _PIPEBCONF, 0x80000000, 0}, -{R, 1, "", _PIPEBSTAT, 0x00000040, 0}, -{W, 1, "", _PIPEBSTAT, 0x00000042, 0}, -{R, 1, "", _PIPEBSTAT, 0x00000000, 0}, -{R, 2, "", _PIPEBSTAT, 0x00000202, 0}, -{W, 1, "", _PIPEBSTAT, 0x00000202, 0}, -{R, 3, "", _PIPEBSTAT, 0x00000000, 0}, -{R, 1, "", _PIPEBSTAT, 0x00000202, 0}, -{W, 1, "", _DSPACNTR, 0x41000000, 0}, -{R, 1, "", _DSPACNTR, 0x41000000, 0}, -{W, 1, "", _DSPACNTR, 0x59000000, 0}, -{W, 1, "", _DSPASTRIDE, 0x00001000, 0}, -{W, 1, "", _DSPAADDR, 0x00020000, 0}, {R, 2, "", DSPARB, (DSPARB_CSTART_SHIFT & 0x4) | 0x00001d9c, 0}, -{W, 1, "", INSTPM+0x20, FW_BLC_SELF_EN_MASK | 0x80000000, 0}, +{W, 1, "", FW_BLC_SELF, FW_BLC_SELF_EN_MASK | 0x80000000, 0}, {W, 1, "", FW_BLC, 0x011d011a, 0}, {W, 1, "", FW_BLC2, 0x00000102, 0}, {R, 2, "", DSPARB, (DSPARB_CSTART_SHIFT & 0x4) | 0x00001d9c, 0}, -{W, 1, "", INSTPM+0x20, FW_BLC_SELF_EN_MASK | 0x80000000, 0}, -{W, 1, "", INSTPM+0x20, 0x0001003f, 0}, +{W, 1, "", FW_BLC_SELF, FW_BLC_SELF_EN_MASK | 0x80000000, 0}, +{W, 1, "", FW_BLC_SELF, 0x0001003f, 0}, {W, 1, "", FW_BLC, 0x011d0109, 0}, {W, 1, "", FW_BLC2, 0x00000102, 0}, -{W, 1, "", INSTPM+0x20, FW_BLC_SELF_EN_MASK | 0x80008000, 0}, -{R, 1, "", PP_CONTROL, 0xabcd0000, 0}, -{R, 1, "", LVDS, LVDS_ON | PLL_P1_DIVIDE_BY_TWO | DISPLAY_RATE_SELECT_FPA1 | 0xc0300300, 0}, -{R, 1, "", _DPLL_B, DPLL_VCO_ENABLE | DPLL_VGA_MODE_DIS | DPLLB_MODE_LVDS | 0x98046000, 0}, -{W, 3, "", _DPLL_B, DPLL_VCO_ENABLE | DPLL_VGA_MODE_DIS | DPLLB_MODE_LVDS | 0x98046000, 0}, -{R, 1, "", _DPLL_B, DPLL_VCO_ENABLE | DPLL_VGA_MODE_DIS | DPLLB_MODE_LVDS | 0x98046000, 0}, -{R, 2, "", _PIPEBCONF, 0x80000000, 0}, -{R, 1, "", _DSPACNTR, 0x59000000, 0}, -{W, 1, "", _DSPACNTR, 0xd9000000, 0}, -{R, 1, "", _DSPAADDR, 0x00020000, 0}, -{W, 1, "", _DSPAADDR, 0x00020000, 0}, -{R, 1, "", _PIPEBSTAT, 0x00000202, 0}, -{W, 1, "", _PIPEBSTAT, 0x00000202, 0}, -{R, 3, "", _PIPEBSTAT, 0x00000000, 0}, -{R, 1, "", _PIPEBSTAT, 0x00000202, 0}, -{W, 1, "", _PALETTE_B, 0x00000000, 0}, -{W, 1, "", _PALETTE_B+0x4, 0x00010101, 0}, -{W, 1, "", _PALETTE_B+0x8, 0x00020202, 0}, -{W, 1, "", _PALETTE_B+0xc, 0x00030303, 0}, -{W, 1, "", _PALETTE_B+0x10, 0x00040404, 0}, -{W, 1, "", _PALETTE_B+0x14, 0x00050505, 0}, -{W, 1, "", _PALETTE_B+0x18, 0x00060606, 0}, -{W, 1, "", _PALETTE_B+0x1c, 0x00070707, 0}, -{W, 1, "", _PALETTE_B+0x20, 0x00080808, 0}, -{W, 1, "", _PALETTE_B+0x24, 0x00090909, 0}, -{W, 1, "", _PALETTE_B+0x28, 0x000a0a0a, 0}, -{W, 1, "", _PALETTE_B+0x2c, 0x000b0b0b, 0}, -{W, 1, "", _PALETTE_B+0x30, 0x000c0c0c, 0}, -{W, 1, "", _PALETTE_B+0x34, 0x000d0d0d, 0}, -{W, 1, "", _PALETTE_B+0x38, 0x000e0e0e, 0}, -{W, 1, "", _PALETTE_B+0x3c, 0x000f0f0f, 0}, -{W, 1, "", _PALETTE_B+0x40, 0x00101010, 0}, -{W, 1, "", _PALETTE_B+0x44, 0x00111111, 0}, -{W, 1, "", _PALETTE_B+0x48, 0x00121212, 0}, -{W, 1, "", _PALETTE_B+0x4c, 0x00131313, 0}, -{W, 1, "", _PALETTE_B+0x50, 0x00141414, 0}, -{W, 1, "", _PALETTE_B+0x54, 0x00151515, 0}, -{W, 1, "", _PALETTE_B+0x58, 0x00161616, 0}, -{W, 1, "", _PALETTE_B+0x5c, 0x00171717, 0}, -{W, 1, "", _PALETTE_B+0x60, 0x00181818, 0}, -{W, 1, "", _PALETTE_B+0x64, 0x00191919, 0}, -{W, 1, "", _PALETTE_B+0x68, 0x001a1a1a, 0}, -{W, 1, "", _PALETTE_B+0x6c, 0x001b1b1b, 0}, -{W, 1, "", _PALETTE_B+0x70, 0x001c1c1c, 0}, -{W, 1, "", _PALETTE_B+0x74, 0x001d1d1d, 0}, -{W, 1, "", _PALETTE_B+0x78, 0x001e1e1e, 0}, -{W, 1, "", _PALETTE_B+0x7c, 0x001f1f1f, 0}, -{W, 1, "", 0xa880, 0x00202020, 0}, -{W, 1, "", 0xa884, 0x00212121, 0}, -{W, 1, "", 0xa888, 0x00222222, 0}, -{W, 1, "", 0xa88c, 0x00232323, 0}, -{W, 1, "", 0xa890, 0x00242424, 0}, -{W, 1, "", 0xa894, 0x00252525, 0}, -{W, 1, "", 0xa898, 0x00262626, 0}, -{W, 1, "", 0xa89c, 0x00272727, 0}, -{W, 1, "", 0xa8a0, 0x00282828, 0}, -{W, 1, "", 0xa8a4, 0x00292929, 0}, -{W, 1, "", 0xa8a8, 0x002a2a2a, 0}, -{W, 1, "", 0xa8ac, 0x002b2b2b, 0}, -{W, 1, "", 0xa8b0, 0x002c2c2c, 0}, -{W, 1, "", 0xa8b4, 0x002d2d2d, 0}, -{W, 1, "", 0xa8b8, 0x002e2e2e, 0}, -{W, 1, "", 0xa8bc, 0x002f2f2f, 0}, -{W, 1, "", 0xa8c0, 0x00303030, 0}, -{W, 1, "", 0xa8c4, 0x00313131, 0}, -{W, 1, "", 0xa8c8, 0x00323232, 0}, -{W, 1, "", 0xa8cc, 0x00333333, 0}, -{W, 1, "", 0xa8d0, 0x00343434, 0}, -{W, 1, "", 0xa8d4, 0x00353535, 0}, -{W, 1, "", 0xa8d8, 0x00363636, 0}, -{W, 1, "", 0xa8dc, 0x00373737, 0}, -{W, 1, "", 0xa8e0, 0x00383838, 0}, -{W, 1, "", 0xa8e4, 0x00393939, 0}, -{W, 1, "", 0xa8e8, 0x003a3a3a, 0}, -{W, 1, "", 0xa8ec, 0x003b3b3b, 0}, -{W, 1, "", 0xa8f0, 0x003c3c3c, 0}, -{W, 1, "", 0xa8f4, 0x003d3d3d, 0}, -{W, 1, "", 0xa8f8, 0x003e3e3e, 0}, -{W, 1, "", 0xa8fc, 0x003f3f3f, 0}, -{W, 1, "", 0xa900, 0x00404040, 0}, -{W, 1, "", 0xa904, 0x00414141, 0}, -{W, 1, "", 0xa908, 0x00424242, 0}, -{W, 1, "", 0xa90c, 0x00434343, 0}, -{W, 1, "", 0xa910, 0x00444444, 0}, -{W, 1, "", 0xa914, 0x00454545, 0}, -{W, 1, "", 0xa918, 0x00464646, 0}, -{W, 1, "", 0xa91c, 0x00474747, 0}, -{W, 1, "", 0xa920, 0x00484848, 0}, -{W, 1, "", 0xa924, 0x00494949, 0}, -{W, 1, "", 0xa928, 0x004a4a4a, 0}, -{W, 1, "", 0xa92c, 0x004b4b4b, 0}, -{W, 1, "", 0xa930, 0x004c4c4c, 0}, -{W, 1, "", 0xa934, 0x004d4d4d, 0}, -{W, 1, "", 0xa938, 0x004e4e4e, 0}, -{W, 1, "", 0xa93c, 0x004f4f4f, 0}, -{W, 1, "", 0xa940, 0x00505050, 0}, -{W, 1, "", 0xa944, 0x00515151, 0}, -{W, 1, "", 0xa948, 0x00525252, 0}, -{W, 1, "", 0xa94c, 0x00535353, 0}, -{W, 1, "", 0xa950, 0x00545454, 0}, -{W, 1, "", 0xa954, 0x00555555, 0}, -{W, 1, "", 0xa958, 0x00565656, 0}, -{W, 1, "", 0xa95c, 0x00575757, 0}, -{W, 1, "", 0xa960, 0x00585858, 0}, -{W, 1, "", 0xa964, 0x00595959, 0}, -{W, 1, "", 0xa968, 0x005a5a5a, 0}, -{W, 1, "", 0xa96c, 0x005b5b5b, 0}, -{W, 1, "", 0xa970, 0x005c5c5c, 0}, -{W, 1, "", 0xa974, 0x005d5d5d, 0}, -{W, 1, "", 0xa978, 0x005e5e5e, 0}, -{W, 1, "", 0xa97c, 0x005f5f5f, 0}, -{W, 1, "", 0xa980, 0x00606060, 0}, -{W, 1, "", 0xa984, 0x00616161, 0}, -{W, 1, "", 0xa988, 0x00626262, 0}, -{W, 1, "", 0xa98c, 0x00636363, 0}, -{W, 1, "", 0xa990, 0x00646464, 0}, -{W, 1, "", 0xa994, 0x00656565, 0}, -{W, 1, "", 0xa998, 0x00666666, 0}, -{W, 1, "", 0xa99c, 0x00676767, 0}, -{W, 1, "", 0xa9a0, 0x00686868, 0}, -{W, 1, "", 0xa9a4, 0x00696969, 0}, -{W, 1, "", 0xa9a8, 0x006a6a6a, 0}, -{W, 1, "", 0xa9ac, 0x006b6b6b, 0}, -{W, 1, "", 0xa9b0, 0x006c6c6c, 0}, -{W, 1, "", 0xa9b4, 0x006d6d6d, 0}, -{W, 1, "", 0xa9b8, 0x006e6e6e, 0}, -{W, 1, "", 0xa9bc, 0x006f6f6f, 0}, -{W, 1, "", 0xa9c0, 0x00707070, 0}, -{W, 1, "", 0xa9c4, 0x00717171, 0}, -{W, 1, "", 0xa9c8, 0x00727272, 0}, -{W, 1, "", 0xa9cc, 0x00737373, 0}, -{W, 1, "", 0xa9d0, 0x00747474, 0}, -{W, 1, "", 0xa9d4, 0x00757575, 0}, -{W, 1, "", 0xa9d8, 0x00767676, 0}, -{W, 1, "", 0xa9dc, 0x00777777, 0}, -{W, 1, "", 0xa9e0, 0x00787878, 0}, -{W, 1, "", 0xa9e4, 0x00797979, 0}, -{W, 1, "", 0xa9e8, 0x007a7a7a, 0}, -{W, 1, "", 0xa9ec, 0x007b7b7b, 0}, -{W, 1, "", 0xa9f0, 0x007c7c7c, 0}, -{W, 1, "", 0xa9f4, 0x007d7d7d, 0}, -{W, 1, "", 0xa9f8, 0x007e7e7e, 0}, -{W, 1, "", 0xa9fc, 0x007f7f7f, 0}, -{W, 1, "", 0xaa00, 0x00808080, 0}, -{W, 1, "", 0xaa04, 0x00818181, 0}, -{W, 1, "", 0xaa08, 0x00828282, 0}, -{W, 1, "", 0xaa0c, 0x00838383, 0}, -{W, 1, "", 0xaa10, 0x00848484, 0}, -{W, 1, "", 0xaa14, 0x00858585, 0}, -{W, 1, "", 0xaa18, 0x00868686, 0}, -{W, 1, "", 0xaa1c, 0x00878787, 0}, -{W, 1, "", 0xaa20, 0x00888888, 0}, -{W, 1, "", 0xaa24, 0x00898989, 0}, -{W, 1, "", 0xaa28, 0x008a8a8a, 0}, -{W, 1, "", 0xaa2c, 0x008b8b8b, 0}, -{W, 1, "", 0xaa30, 0x008c8c8c, 0}, -{W, 1, "", 0xaa34, 0x008d8d8d, 0}, -{W, 1, "", 0xaa38, 0x008e8e8e, 0}, -{W, 1, "", 0xaa3c, 0x008f8f8f, 0}, -{W, 1, "", 0xaa40, 0x00909090, 0}, -{W, 1, "", 0xaa44, 0x00919191, 0}, -{W, 1, "", 0xaa48, 0x00929292, 0}, -{W, 1, "", 0xaa4c, 0x00939393, 0}, -{W, 1, "", 0xaa50, 0x00949494, 0}, -{W, 1, "", 0xaa54, 0x00959595, 0}, -{W, 1, "", 0xaa58, 0x00969696, 0}, -{W, 1, "", 0xaa5c, 0x00979797, 0}, -{W, 1, "", 0xaa60, 0x00989898, 0}, -{W, 1, "", 0xaa64, 0x00999999, 0}, -{W, 1, "", 0xaa68, 0x009a9a9a, 0}, -{W, 1, "", 0xaa6c, 0x009b9b9b, 0}, -{W, 1, "", 0xaa70, 0x009c9c9c, 0}, -{W, 1, "", 0xaa74, 0x009d9d9d, 0}, -{W, 1, "", 0xaa78, 0x009e9e9e, 0}, -{W, 1, "", 0xaa7c, 0x009f9f9f, 0}, -{W, 1, "", 0xaa80, 0x00a0a0a0, 0}, -{W, 1, "", 0xaa84, 0x00a1a1a1, 0}, -{W, 1, "", 0xaa88, 0x00a2a2a2, 0}, -{W, 1, "", 0xaa8c, 0x00a3a3a3, 0}, -{W, 1, "", 0xaa90, 0x00a4a4a4, 0}, -{W, 1, "", 0xaa94, 0x00a5a5a5, 0}, -{W, 1, "", 0xaa98, 0x00a6a6a6, 0}, -{W, 1, "", 0xaa9c, 0x00a7a7a7, 0}, -{W, 1, "", 0xaaa0, 0x00a8a8a8, 0}, -{W, 1, "", 0xaaa4, 0x00a9a9a9, 0}, -{W, 1, "", 0xaaa8, 0x00aaaaaa, 0}, -{W, 1, "", 0xaaac, 0x00ababab, 0}, -{W, 1, "", 0xaab0, 0x00acacac, 0}, -{W, 1, "", 0xaab4, 0x00adadad, 0}, -{W, 1, "", 0xaab8, 0x00aeaeae, 0}, -{W, 1, "", 0xaabc, 0x00afafaf, 0}, -{W, 1, "", 0xaac0, 0x00b0b0b0, 0}, -{W, 1, "", 0xaac4, 0x00b1b1b1, 0}, -{W, 1, "", 0xaac8, 0x00b2b2b2, 0}, -{W, 1, "", 0xaacc, 0x00b3b3b3, 0}, -{W, 1, "", 0xaad0, 0x00b4b4b4, 0}, -{W, 1, "", 0xaad4, 0x00b5b5b5, 0}, -{W, 1, "", 0xaad8, 0x00b6b6b6, 0}, -{W, 1, "", 0xaadc, 0x00b7b7b7, 0}, -{W, 1, "", 0xaae0, 0x00b8b8b8, 0}, -{W, 1, "", 0xaae4, 0x00b9b9b9, 0}, -{W, 1, "", 0xaae8, 0x00bababa, 0}, -{W, 1, "", 0xaaec, 0x00bbbbbb, 0}, -{W, 1, "", 0xaaf0, 0x00bcbcbc, 0}, -{W, 1, "", 0xaaf4, 0x00bdbdbd, 0}, -{W, 1, "", 0xaaf8, 0x00bebebe, 0}, -{W, 1, "", 0xaafc, 0x00bfbfbf, 0}, -{W, 1, "", 0xab00, 0x00c0c0c0, 0}, -{W, 1, "", 0xab04, 0x00c1c1c1, 0}, -{W, 1, "", 0xab08, 0x00c2c2c2, 0}, -{W, 1, "", 0xab0c, 0x00c3c3c3, 0}, -{W, 1, "", 0xab10, 0x00c4c4c4, 0}, -{W, 1, "", 0xab14, 0x00c5c5c5, 0}, -{W, 1, "", 0xab18, 0x00c6c6c6, 0}, -{W, 1, "", 0xab1c, 0x00c7c7c7, 0}, -{W, 1, "", 0xab20, 0x00c8c8c8, 0}, -{W, 1, "", 0xab24, 0x00c9c9c9, 0}, -{W, 1, "", 0xab28, 0x00cacaca, 0}, -{W, 1, "", 0xab2c, 0x00cbcbcb, 0}, -{W, 1, "", 0xab30, 0x00cccccc, 0}, -{W, 1, "", 0xab34, 0x00cdcdcd, 0}, -{W, 1, "", 0xab38, 0x00cecece, 0}, -{W, 1, "", 0xab3c, 0x00cfcfcf, 0}, -{W, 1, "", 0xab40, 0x00d0d0d0, 0}, -{W, 1, "", 0xab44, 0x00d1d1d1, 0}, -{W, 1, "", 0xab48, 0x00d2d2d2, 0}, -{W, 1, "", 0xab4c, 0x00d3d3d3, 0}, -{W, 1, "", 0xab50, 0x00d4d4d4, 0}, -{W, 1, "", 0xab54, 0x00d5d5d5, 0}, -{W, 1, "", 0xab58, 0x00d6d6d6, 0}, -{W, 1, "", 0xab5c, 0x00d7d7d7, 0}, -{W, 1, "", 0xab60, 0x00d8d8d8, 0}, -{W, 1, "", 0xab64, 0x00d9d9d9, 0}, -{W, 1, "", 0xab68, 0x00dadada, 0}, -{W, 1, "", 0xab6c, 0x00dbdbdb, 0}, -{W, 1, "", 0xab70, 0x00dcdcdc, 0}, -{W, 1, "", 0xab74, 0x00dddddd, 0}, -{W, 1, "", 0xab78, 0x00dedede, 0}, -{W, 1, "", 0xab7c, 0x00dfdfdf, 0}, -{W, 1, "", 0xab80, 0x00e0e0e0, 0}, -{W, 1, "", 0xab84, 0x00e1e1e1, 0}, -{W, 1, "", 0xab88, 0x00e2e2e2, 0}, -{W, 1, "", 0xab8c, 0x00e3e3e3, 0}, -{W, 1, "", 0xab90, 0x00e4e4e4, 0}, -{W, 1, "", 0xab94, 0x00e5e5e5, 0}, -{W, 1, "", 0xab98, 0x00e6e6e6, 0}, -{W, 1, "", 0xab9c, 0x00e7e7e7, 0}, -{W, 1, "", 0xaba0, 0x00e8e8e8, 0}, -{W, 1, "", 0xaba4, 0x00e9e9e9, 0}, -{W, 1, "", 0xaba8, 0x00eaeaea, 0}, -{W, 1, "", 0xabac, 0x00ebebeb, 0}, -{W, 1, "", 0xabb0, 0x00ececec, 0}, -{W, 1, "", 0xabb4, 0x00ededed, 0}, -{W, 1, "", 0xabb8, 0x00eeeeee, 0}, -{W, 1, "", 0xabbc, 0x00efefef, 0}, -{W, 1, "", 0xabc0, 0x00f0f0f0, 0}, -{W, 1, "", 0xabc4, 0x00f1f1f1, 0}, -{W, 1, "", 0xabc8, 0x00f2f2f2, 0}, -{W, 1, "", 0xabcc, 0x00f3f3f3, 0}, -{W, 1, "", 0xabd0, 0x00f4f4f4, 0}, -{W, 1, "", 0xabd4, 0x00f5f5f5, 0}, -{W, 1, "", 0xabd8, 0x00f6f6f6, 0}, -{W, 1, "", 0xabdc, 0x00f7f7f7, 0}, -{W, 1, "", 0xabe0, 0x00f8f8f8, 0}, -{W, 1, "", 0xabe4, 0x00f9f9f9, 0}, -{W, 1, "", 0xabe8, 0x00fafafa, 0}, -{W, 1, "", 0xabec, 0x00fbfbfb, 0}, -{W, 1, "", 0xabf0, 0x00fcfcfc, 0}, -{W, 1, "", 0xabf4, 0x00fdfdfd, 0}, -{W, 1, "", 0xabf8, 0x00fefefe, 0}, -{W, 1, "", 0xabfc, 0x00ffffff, 0}, -{R, 1, "", LVDS, LVDS_ON | PLL_P1_DIVIDE_BY_TWO | DISPLAY_RATE_SELECT_FPA1 | 0xc0300300, 0}, -{W, 1, "", LVDS, LVDS_ON | PLL_P1_DIVIDE_BY_TWO | DISPLAY_RATE_SELECT_FPA1 | 0xc0300300, 0}, +{W, 1, "", FW_BLC_SELF, FW_BLC_SELF_EN_MASK | 0x80008000, 0}, {W, 1, "", PFIT_PGM_RATIOS, 0x00000000, 0}, {W, 1, "", PFIT_CONTROL, (PFIT_PIPE_SHIFT & 0x8) | 0x00000008, 0}, -{R, 1, "", PP_CONTROL, 0xabcd0000, 0}, -{W, 1, "", PP_CONTROL, POWER_TARGET_ON | 0xabcd0001, 0}, -{R, 1, "", PP_STATUS, PP_READY | (PP_SEQUENCE_SHIFT & 0x8) | 0x4000000a, 0}, -{R, 1, "", PP_STATUS, PP_ON | PP_READY | PP_SEQUENCE_POWER_UP | (PP_SEQUENCE_SHIFT & 0x8) | 0xd000000a, 0}, -{R, 1, "", BLC_PWM_CTL, 0x00000000, 0}, {M, 1, "i915:fixme:max PWM is zero", 0x0, 0x0, 0}, {R, 1, "", BLC_PWM_CTL, 0x00000000, 0}, {W, 1, "", BLC_PWM_CTL, 0x00000002, 0}, -{R, 2, "", LVDS, LVDS_ON | PLL_P1_DIVIDE_BY_TWO | DISPLAY_RATE_SELECT_FPA1 | 0xc0300300, 0}, -{R, 1, "", _FDI_TXB_CTL, 0x00000000, 0}, -{R, 1, "", TV_CTL, 0x000c0000, 0}, -{R, 1, "", LVDS, LVDS_ON | PLL_P1_DIVIDE_BY_TWO | DISPLAY_RATE_SELECT_FPA1 | 0xc0300300, 0}, -{R, 1, "", _FDI_TXB_CTL, 0x00000000, 0}, -{R, 1, "", TV_CTL, 0x000c0000, 0}, -{R, 1, "", _PIPEACONF, 0x00000000, 0}, -{R, 1, "", _PIPEBCONF, 0x80000000, 0}, -{W, 1, "", _PALETTE_B, 0x00000000, 0}, -{W, 1, "", _PALETTE_B+0x4, 0x00010101, 0}, -{W, 1, "", _PALETTE_B+0x8, 0x00020202, 0}, -{W, 1, "", _PALETTE_B+0xc, 0x00030303, 0}, -{W, 1, "", _PALETTE_B+0x10, 0x00040404, 0}, -{W, 1, "", _PALETTE_B+0x14, 0x00050505, 0}, -{W, 1, "", _PALETTE_B+0x18, 0x00060606, 0}, -{W, 1, "", _PALETTE_B+0x1c, 0x00070707, 0}, -{W, 1, "", _PALETTE_B+0x20, 0x00080808, 0}, -{W, 1, "", _PALETTE_B+0x24, 0x00090909, 0}, -{W, 1, "", _PALETTE_B+0x28, 0x000a0a0a, 0}, -{W, 1, "", _PALETTE_B+0x2c, 0x000b0b0b, 0}, -{W, 1, "", _PALETTE_B+0x30, 0x000c0c0c, 0}, -{W, 1, "", _PALETTE_B+0x34, 0x000d0d0d, 0}, -{W, 1, "", _PALETTE_B+0x38, 0x000e0e0e, 0}, -{W, 1, "", _PALETTE_B+0x3c, 0x000f0f0f, 0}, -{W, 1, "", _PALETTE_B+0x40, 0x00101010, 0}, -{W, 1, "", _PALETTE_B+0x44, 0x00111111, 0}, -{W, 1, "", _PALETTE_B+0x48, 0x00121212, 0}, -{W, 1, "", _PALETTE_B+0x4c, 0x00131313, 0}, -{W, 1, "", _PALETTE_B+0x50, 0x00141414, 0}, -{W, 1, "", _PALETTE_B+0x54, 0x00151515, 0}, -{W, 1, "", _PALETTE_B+0x58, 0x00161616, 0}, -{W, 1, "", _PALETTE_B+0x5c, 0x00171717, 0}, -{W, 1, "", _PALETTE_B+0x60, 0x00181818, 0}, -{W, 1, "", _PALETTE_B+0x64, 0x00191919, 0}, -{W, 1, "", _PALETTE_B+0x68, 0x001a1a1a, 0}, -{W, 1, "", _PALETTE_B+0x6c, 0x001b1b1b, 0}, -{W, 1, "", _PALETTE_B+0x70, 0x001c1c1c, 0}, -{W, 1, "", _PALETTE_B+0x74, 0x001d1d1d, 0}, -{W, 1, "", _PALETTE_B+0x78, 0x001e1e1e, 0}, -{W, 1, "", _PALETTE_B+0x7c, 0x001f1f1f, 0}, -{W, 1, "", 0xa880, 0x00202020, 0}, -{W, 1, "", 0xa884, 0x00212121, 0}, -{W, 1, "", 0xa888, 0x00222222, 0}, -{W, 1, "", 0xa88c, 0x00232323, 0}, -{W, 1, "", 0xa890, 0x00242424, 0}, -{W, 1, "", 0xa894, 0x00252525, 0}, -{W, 1, "", 0xa898, 0x00262626, 0}, -{W, 1, "", 0xa89c, 0x00272727, 0}, -{W, 1, "", 0xa8a0, 0x00282828, 0}, -{W, 1, "", 0xa8a4, 0x00292929, 0}, -{W, 1, "", 0xa8a8, 0x002a2a2a, 0}, -{W, 1, "", 0xa8ac, 0x002b2b2b, 0}, -{W, 1, "", 0xa8b0, 0x002c2c2c, 0}, -{W, 1, "", 0xa8b4, 0x002d2d2d, 0}, -{W, 1, "", 0xa8b8, 0x002e2e2e, 0}, -{W, 1, "", 0xa8bc, 0x002f2f2f, 0}, -{W, 1, "", 0xa8c0, 0x00303030, 0}, -{W, 1, "", 0xa8c4, 0x00313131, 0}, -{W, 1, "", 0xa8c8, 0x00323232, 0}, -{W, 1, "", 0xa8cc, 0x00333333, 0}, -{W, 1, "", 0xa8d0, 0x00343434, 0}, -{W, 1, "", 0xa8d4, 0x00353535, 0}, -{W, 1, "", 0xa8d8, 0x00363636, 0}, -{W, 1, "", 0xa8dc, 0x00373737, 0}, -{W, 1, "", 0xa8e0, 0x00383838, 0}, -{W, 1, "", 0xa8e4, 0x00393939, 0}, -{W, 1, "", 0xa8e8, 0x003a3a3a, 0}, -{W, 1, "", 0xa8ec, 0x003b3b3b, 0}, -{W, 1, "", 0xa8f0, 0x003c3c3c, 0}, -{W, 1, "", 0xa8f4, 0x003d3d3d, 0}, -{W, 1, "", 0xa8f8, 0x003e3e3e, 0}, -{W, 1, "", 0xa8fc, 0x003f3f3f, 0}, -{W, 1, "", 0xa900, 0x00404040, 0}, -{W, 1, "", 0xa904, 0x00414141, 0}, -{W, 1, "", 0xa908, 0x00424242, 0}, -{W, 1, "", 0xa90c, 0x00434343, 0}, -{W, 1, "", 0xa910, 0x00444444, 0}, -{W, 1, "", 0xa914, 0x00454545, 0}, -{W, 1, "", 0xa918, 0x00464646, 0}, -{W, 1, "", 0xa91c, 0x00474747, 0}, -{W, 1, "", 0xa920, 0x00484848, 0}, -{W, 1, "", 0xa924, 0x00494949, 0}, -{W, 1, "", 0xa928, 0x004a4a4a, 0}, -{W, 1, "", 0xa92c, 0x004b4b4b, 0}, -{W, 1, "", 0xa930, 0x004c4c4c, 0}, -{W, 1, "", 0xa934, 0x004d4d4d, 0}, -{W, 1, "", 0xa938, 0x004e4e4e, 0}, -{W, 1, "", 0xa93c, 0x004f4f4f, 0}, -{W, 1, "", 0xa940, 0x00505050, 0}, -{W, 1, "", 0xa944, 0x00515151, 0}, -{W, 1, "", 0xa948, 0x00525252, 0}, -{W, 1, "", 0xa94c, 0x00535353, 0}, -{W, 1, "", 0xa950, 0x00545454, 0}, -{W, 1, "", 0xa954, 0x00555555, 0}, -{W, 1, "", 0xa958, 0x00565656, 0}, -{W, 1, "", 0xa95c, 0x00575757, 0}, -{W, 1, "", 0xa960, 0x00585858, 0}, -{W, 1, "", 0xa964, 0x00595959, 0}, -{W, 1, "", 0xa968, 0x005a5a5a, 0}, -{W, 1, "", 0xa96c, 0x005b5b5b, 0}, -{W, 1, "", 0xa970, 0x005c5c5c, 0}, -{W, 1, "", 0xa974, 0x005d5d5d, 0}, -{W, 1, "", 0xa978, 0x005e5e5e, 0}, -{W, 1, "", 0xa97c, 0x005f5f5f, 0}, -{W, 1, "", 0xa980, 0x00606060, 0}, -{W, 1, "", 0xa984, 0x00616161, 0}, -{W, 1, "", 0xa988, 0x00626262, 0}, -{W, 1, "", 0xa98c, 0x00636363, 0}, -{W, 1, "", 0xa990, 0x00646464, 0}, -{W, 1, "", 0xa994, 0x00656565, 0}, -{W, 1, "", 0xa998, 0x00666666, 0}, -{W, 1, "", 0xa99c, 0x00676767, 0}, -{W, 1, "", 0xa9a0, 0x00686868, 0}, -{W, 1, "", 0xa9a4, 0x00696969, 0}, -{W, 1, "", 0xa9a8, 0x006a6a6a, 0}, -{W, 1, "", 0xa9ac, 0x006b6b6b, 0}, -{W, 1, "", 0xa9b0, 0x006c6c6c, 0}, -{W, 1, "", 0xa9b4, 0x006d6d6d, 0}, -{W, 1, "", 0xa9b8, 0x006e6e6e, 0}, -{W, 1, "", 0xa9bc, 0x006f6f6f, 0}, -{W, 1, "", 0xa9c0, 0x00707070, 0}, -{W, 1, "", 0xa9c4, 0x00717171, 0}, -{W, 1, "", 0xa9c8, 0x00727272, 0}, -{W, 1, "", 0xa9cc, 0x00737373, 0}, -{W, 1, "", 0xa9d0, 0x00747474, 0}, -{W, 1, "", 0xa9d4, 0x00757575, 0}, -{W, 1, "", 0xa9d8, 0x00767676, 0}, -{W, 1, "", 0xa9dc, 0x00777777, 0}, -{W, 1, "", 0xa9e0, 0x00787878, 0}, -{W, 1, "", 0xa9e4, 0x00797979, 0}, -{W, 1, "", 0xa9e8, 0x007a7a7a, 0}, -{W, 1, "", 0xa9ec, 0x007b7b7b, 0}, -{W, 1, "", 0xa9f0, 0x007c7c7c, 0}, -{W, 1, "", 0xa9f4, 0x007d7d7d, 0}, -{W, 1, "", 0xa9f8, 0x007e7e7e, 0}, -{W, 1, "", 0xa9fc, 0x007f7f7f, 0}, -{W, 1, "", 0xaa00, 0x00808080, 0}, -{W, 1, "", 0xaa04, 0x00818181, 0}, -{W, 1, "", 0xaa08, 0x00828282, 0}, -{W, 1, "", 0xaa0c, 0x00838383, 0}, -{W, 1, "", 0xaa10, 0x00848484, 0}, -{W, 1, "", 0xaa14, 0x00858585, 0}, -{W, 1, "", 0xaa18, 0x00868686, 0}, -{W, 1, "", 0xaa1c, 0x00878787, 0}, -{W, 1, "", 0xaa20, 0x00888888, 0}, -{W, 1, "", 0xaa24, 0x00898989, 0}, -{W, 1, "", 0xaa28, 0x008a8a8a, 0}, -{W, 1, "", 0xaa2c, 0x008b8b8b, 0}, -{W, 1, "", 0xaa30, 0x008c8c8c, 0}, -{W, 1, "", 0xaa34, 0x008d8d8d, 0}, -{W, 1, "", 0xaa38, 0x008e8e8e, 0}, -{W, 1, "", 0xaa3c, 0x008f8f8f, 0}, -{W, 1, "", 0xaa40, 0x00909090, 0}, -{W, 1, "", 0xaa44, 0x00919191, 0}, -{W, 1, "", 0xaa48, 0x00929292, 0}, -{W, 1, "", 0xaa4c, 0x00939393, 0}, -{W, 1, "", 0xaa50, 0x00949494, 0}, -{W, 1, "", 0xaa54, 0x00959595, 0}, -{W, 1, "", 0xaa58, 0x00969696, 0}, -{W, 1, "", 0xaa5c, 0x00979797, 0}, -{W, 1, "", 0xaa60, 0x00989898, 0}, -{W, 1, "", 0xaa64, 0x00999999, 0}, -{W, 1, "", 0xaa68, 0x009a9a9a, 0}, -{W, 1, "", 0xaa6c, 0x009b9b9b, 0}, -{W, 1, "", 0xaa70, 0x009c9c9c, 0}, -{W, 1, "", 0xaa74, 0x009d9d9d, 0}, -{W, 1, "", 0xaa78, 0x009e9e9e, 0}, -{W, 1, "", 0xaa7c, 0x009f9f9f, 0}, -{W, 1, "", 0xaa80, 0x00a0a0a0, 0}, -{W, 1, "", 0xaa84, 0x00a1a1a1, 0}, -{W, 1, "", 0xaa88, 0x00a2a2a2, 0}, -{W, 1, "", 0xaa8c, 0x00a3a3a3, 0}, -{W, 1, "", 0xaa90, 0x00a4a4a4, 0}, -{W, 1, "", 0xaa94, 0x00a5a5a5, 0}, -{W, 1, "", 0xaa98, 0x00a6a6a6, 0}, -{W, 1, "", 0xaa9c, 0x00a7a7a7, 0}, -{W, 1, "", 0xaaa0, 0x00a8a8a8, 0}, -{W, 1, "", 0xaaa4, 0x00a9a9a9, 0}, -{W, 1, "", 0xaaa8, 0x00aaaaaa, 0}, -{W, 1, "", 0xaaac, 0x00ababab, 0}, -{W, 1, "", 0xaab0, 0x00acacac, 0}, -{W, 1, "", 0xaab4, 0x00adadad, 0}, -{W, 1, "", 0xaab8, 0x00aeaeae, 0}, -{W, 1, "", 0xaabc, 0x00afafaf, 0}, -{W, 1, "", 0xaac0, 0x00b0b0b0, 0}, -{W, 1, "", 0xaac4, 0x00b1b1b1, 0}, -{W, 1, "", 0xaac8, 0x00b2b2b2, 0}, -{W, 1, "", 0xaacc, 0x00b3b3b3, 0}, -{W, 1, "", 0xaad0, 0x00b4b4b4, 0}, -{W, 1, "", 0xaad4, 0x00b5b5b5, 0}, -{W, 1, "", 0xaad8, 0x00b6b6b6, 0}, -{W, 1, "", 0xaadc, 0x00b7b7b7, 0}, -{W, 1, "", 0xaae0, 0x00b8b8b8, 0}, -{W, 1, "", 0xaae4, 0x00b9b9b9, 0}, -{W, 1, "", 0xaae8, 0x00bababa, 0}, -{W, 1, "", 0xaaec, 0x00bbbbbb, 0}, -{W, 1, "", 0xaaf0, 0x00bcbcbc, 0}, -{W, 1, "", 0xaaf4, 0x00bdbdbd, 0}, -{W, 1, "", 0xaaf8, 0x00bebebe, 0}, -{W, 1, "", 0xaafc, 0x00bfbfbf, 0}, -{W, 1, "", 0xab00, 0x00c0c0c0, 0}, -{W, 1, "", 0xab04, 0x00c1c1c1, 0}, -{W, 1, "", 0xab08, 0x00c2c2c2, 0}, -{W, 1, "", 0xab0c, 0x00c3c3c3, 0}, -{W, 1, "", 0xab10, 0x00c4c4c4, 0}, -{W, 1, "", 0xab14, 0x00c5c5c5, 0}, -{W, 1, "", 0xab18, 0x00c6c6c6, 0}, -{W, 1, "", 0xab1c, 0x00c7c7c7, 0}, -{W, 1, "", 0xab20, 0x00c8c8c8, 0}, -{W, 1, "", 0xab24, 0x00c9c9c9, 0}, -{W, 1, "", 0xab28, 0x00cacaca, 0}, -{W, 1, "", 0xab2c, 0x00cbcbcb, 0}, -{W, 1, "", 0xab30, 0x00cccccc, 0}, -{W, 1, "", 0xab34, 0x00cdcdcd, 0}, -{W, 1, "", 0xab38, 0x00cecece, 0}, -{W, 1, "", 0xab3c, 0x00cfcfcf, 0}, -{W, 1, "", 0xab40, 0x00d0d0d0, 0}, -{W, 1, "", 0xab44, 0x00d1d1d1, 0}, -{W, 1, "", 0xab48, 0x00d2d2d2, 0}, -{W, 1, "", 0xab4c, 0x00d3d3d3, 0}, -{W, 1, "", 0xab50, 0x00d4d4d4, 0}, -{W, 1, "", 0xab54, 0x00d5d5d5, 0}, -{W, 1, "", 0xab58, 0x00d6d6d6, 0}, -{W, 1, "", 0xab5c, 0x00d7d7d7, 0}, -{W, 1, "", 0xab60, 0x00d8d8d8, 0}, -{W, 1, "", 0xab64, 0x00d9d9d9, 0}, -{W, 1, "", 0xab68, 0x00dadada, 0}, -{W, 1, "", 0xab6c, 0x00dbdbdb, 0}, -{W, 1, "", 0xab70, 0x00dcdcdc, 0}, -{W, 1, "", 0xab74, 0x00dddddd, 0}, -{W, 1, "", 0xab78, 0x00dedede, 0}, -{W, 1, "", 0xab7c, 0x00dfdfdf, 0}, -{W, 1, "", 0xab80, 0x00e0e0e0, 0}, -{W, 1, "", 0xab84, 0x00e1e1e1, 0}, -{W, 1, "", 0xab88, 0x00e2e2e2, 0}, -{W, 1, "", 0xab8c, 0x00e3e3e3, 0}, -{W, 1, "", 0xab90, 0x00e4e4e4, 0}, -{W, 1, "", 0xab94, 0x00e5e5e5, 0}, -{W, 1, "", 0xab98, 0x00e6e6e6, 0}, -{W, 1, "", 0xab9c, 0x00e7e7e7, 0}, -{W, 1, "", 0xaba0, 0x00e8e8e8, 0}, -{W, 1, "", 0xaba4, 0x00e9e9e9, 0}, -{W, 1, "", 0xaba8, 0x00eaeaea, 0}, -{W, 1, "", 0xabac, 0x00ebebeb, 0}, -{W, 1, "", 0xabb0, 0x00ececec, 0}, -{W, 1, "", 0xabb4, 0x00ededed, 0}, -{W, 1, "", 0xabb8, 0x00eeeeee, 0}, -{W, 1, "", 0xabbc, 0x00efefef, 0}, -{W, 1, "", 0xabc0, 0x00f0f0f0, 0}, -{W, 1, "", 0xabc4, 0x00f1f1f1, 0}, -{W, 1, "", 0xabc8, 0x00f2f2f2, 0}, -{W, 1, "", 0xabcc, 0x00f3f3f3, 0}, -{W, 1, "", 0xabd0, 0x00f4f4f4, 0}, -{W, 1, "", 0xabd4, 0x00f5f5f5, 0}, -{W, 1, "", 0xabd8, 0x00f6f6f6, 0}, -{W, 1, "", 0xabdc, 0x00f7f7f7, 0}, -{W, 1, "", 0xabe0, 0x00f8f8f8, 0}, -{W, 1, "", 0xabe4, 0x00f9f9f9, 0}, -{W, 1, "", 0xabe8, 0x00fafafa, 0}, -{W, 1, "", 0xabec, 0x00fbfbfb, 0}, -{W, 1, "", 0xabf0, 0x00fcfcfc, 0}, -{W, 1, "", 0xabf4, 0x00fdfdfd, 0}, -{W, 1, "", 0xabf8, 0x00fefefe, 0}, -{W, 1, "", 0xabfc, 0x00ffffff, 0}, -{W, 1, "", _PALETTE_B, 0x00000000, 0}, -{W, 1, "", _PALETTE_B+0x4, 0x00010101, 0}, -{W, 1, "", _PALETTE_B+0x8, 0x00020202, 0}, -{W, 1, "", _PALETTE_B+0xc, 0x00030303, 0}, -{W, 1, "", _PALETTE_B+0x10, 0x00040404, 0}, -{W, 1, "", _PALETTE_B+0x14, 0x00050505, 0}, -{W, 1, "", _PALETTE_B+0x18, 0x00060606, 0}, -{W, 1, "", _PALETTE_B+0x1c, 0x00070707, 0}, -{W, 1, "", _PALETTE_B+0x20, 0x00080808, 0}, -{W, 1, "", _PALETTE_B+0x24, 0x00090909, 0}, -{W, 1, "", _PALETTE_B+0x28, 0x000a0a0a, 0}, -{W, 1, "", _PALETTE_B+0x2c, 0x000b0b0b, 0}, -{W, 1, "", _PALETTE_B+0x30, 0x000c0c0c, 0}, -{W, 1, "", _PALETTE_B+0x34, 0x000d0d0d, 0}, -{W, 1, "", _PALETTE_B+0x38, 0x000e0e0e, 0}, -{W, 1, "", _PALETTE_B+0x3c, 0x000f0f0f, 0}, -{W, 1, "", _PALETTE_B+0x40, 0x00101010, 0}, -{W, 1, "", _PALETTE_B+0x44, 0x00111111, 0}, -{W, 1, "", _PALETTE_B+0x48, 0x00121212, 0}, -{W, 1, "", _PALETTE_B+0x4c, 0x00131313, 0}, -{W, 1, "", _PALETTE_B+0x50, 0x00141414, 0}, -{W, 1, "", _PALETTE_B+0x54, 0x00151515, 0}, -{W, 1, "", _PALETTE_B+0x58, 0x00161616, 0}, -{W, 1, "", _PALETTE_B+0x5c, 0x00171717, 0}, -{W, 1, "", _PALETTE_B+0x60, 0x00181818, 0}, -{W, 1, "", _PALETTE_B+0x64, 0x00191919, 0}, -{W, 1, "", _PALETTE_B+0x68, 0x001a1a1a, 0}, -{W, 1, "", _PALETTE_B+0x6c, 0x001b1b1b, 0}, -{W, 1, "", _PALETTE_B+0x70, 0x001c1c1c, 0}, -{W, 1, "", _PALETTE_B+0x74, 0x001d1d1d, 0}, -{W, 1, "", _PALETTE_B+0x78, 0x001e1e1e, 0}, -{W, 1, "", _PALETTE_B+0x7c, 0x001f1f1f, 0}, -{W, 1, "", 0xa880, 0x00202020, 0}, -{W, 1, "", 0xa884, 0x00212121, 0}, -{W, 1, "", 0xa888, 0x00222222, 0}, -{W, 1, "", 0xa88c, 0x00232323, 0}, -{W, 1, "", 0xa890, 0x00242424, 0}, -{W, 1, "", 0xa894, 0x00252525, 0}, -{W, 1, "", 0xa898, 0x00262626, 0}, -{W, 1, "", 0xa89c, 0x00272727, 0}, -{W, 1, "", 0xa8a0, 0x00282828, 0}, -{W, 1, "", 0xa8a4, 0x00292929, 0}, -{W, 1, "", 0xa8a8, 0x002a2a2a, 0}, -{W, 1, "", 0xa8ac, 0x002b2b2b, 0}, -{W, 1, "", 0xa8b0, 0x002c2c2c, 0}, -{W, 1, "", 0xa8b4, 0x002d2d2d, 0}, -{W, 1, "", 0xa8b8, 0x002e2e2e, 0}, -{W, 1, "", 0xa8bc, 0x002f2f2f, 0}, -{W, 1, "", 0xa8c0, 0x00303030, 0}, -{W, 1, "", 0xa8c4, 0x00313131, 0}, -{W, 1, "", 0xa8c8, 0x00323232, 0}, -{W, 1, "", 0xa8cc, 0x00333333, 0}, -{W, 1, "", 0xa8d0, 0x00343434, 0}, -{W, 1, "", 0xa8d4, 0x00353535, 0}, -{W, 1, "", 0xa8d8, 0x00363636, 0}, -{W, 1, "", 0xa8dc, 0x00373737, 0}, -{W, 1, "", 0xa8e0, 0x00383838, 0}, -{W, 1, "", 0xa8e4, 0x00393939, 0}, -{W, 1, "", 0xa8e8, 0x003a3a3a, 0}, -{W, 1, "", 0xa8ec, 0x003b3b3b, 0}, -{W, 1, "", 0xa8f0, 0x003c3c3c, 0}, -{W, 1, "", 0xa8f4, 0x003d3d3d, 0}, -{W, 1, "", 0xa8f8, 0x003e3e3e, 0}, -{W, 1, "", 0xa8fc, 0x003f3f3f, 0}, -{W, 1, "", 0xa900, 0x00404040, 0}, -{W, 1, "", 0xa904, 0x00414141, 0}, -{W, 1, "", 0xa908, 0x00424242, 0}, -{W, 1, "", 0xa90c, 0x00434343, 0}, -{W, 1, "", 0xa910, 0x00444444, 0}, -{W, 1, "", 0xa914, 0x00454545, 0}, -{W, 1, "", 0xa918, 0x00464646, 0}, -{W, 1, "", 0xa91c, 0x00474747, 0}, -{W, 1, "", 0xa920, 0x00484848, 0}, -{W, 1, "", 0xa924, 0x00494949, 0}, -{W, 1, "", 0xa928, 0x004a4a4a, 0}, -{W, 1, "", 0xa92c, 0x004b4b4b, 0}, -{W, 1, "", 0xa930, 0x004c4c4c, 0}, -{W, 1, "", 0xa934, 0x004d4d4d, 0}, -{W, 1, "", 0xa938, 0x004e4e4e, 0}, -{W, 1, "", 0xa93c, 0x004f4f4f, 0}, -{W, 1, "", 0xa940, 0x00505050, 0}, -{W, 1, "", 0xa944, 0x00515151, 0}, -{W, 1, "", 0xa948, 0x00525252, 0}, -{W, 1, "", 0xa94c, 0x00535353, 0}, -{W, 1, "", 0xa950, 0x00545454, 0}, -{W, 1, "", 0xa954, 0x00555555, 0}, -{W, 1, "", 0xa958, 0x00565656, 0}, -{W, 1, "", 0xa95c, 0x00575757, 0}, -{W, 1, "", 0xa960, 0x00585858, 0}, -{W, 1, "", 0xa964, 0x00595959, 0}, -{W, 1, "", 0xa968, 0x005a5a5a, 0}, -{W, 1, "", 0xa96c, 0x005b5b5b, 0}, -{W, 1, "", 0xa970, 0x005c5c5c, 0}, -{W, 1, "", 0xa974, 0x005d5d5d, 0}, -{W, 1, "", 0xa978, 0x005e5e5e, 0}, -{W, 1, "", 0xa97c, 0x005f5f5f, 0}, -{W, 1, "", 0xa980, 0x00606060, 0}, -{W, 1, "", 0xa984, 0x00616161, 0}, -{W, 1, "", 0xa988, 0x00626262, 0}, -{W, 1, "", 0xa98c, 0x00636363, 0}, -{W, 1, "", 0xa990, 0x00646464, 0}, -{W, 1, "", 0xa994, 0x00656565, 0}, -{W, 1, "", 0xa998, 0x00666666, 0}, -{W, 1, "", 0xa99c, 0x00676767, 0}, -{W, 1, "", 0xa9a0, 0x00686868, 0}, -{W, 1, "", 0xa9a4, 0x00696969, 0}, -{W, 1, "", 0xa9a8, 0x006a6a6a, 0}, -{W, 1, "", 0xa9ac, 0x006b6b6b, 0}, -{W, 1, "", 0xa9b0, 0x006c6c6c, 0}, -{W, 1, "", 0xa9b4, 0x006d6d6d, 0}, -{W, 1, "", 0xa9b8, 0x006e6e6e, 0}, -{W, 1, "", 0xa9bc, 0x006f6f6f, 0}, -{W, 1, "", 0xa9c0, 0x00707070, 0}, -{W, 1, "", 0xa9c4, 0x00717171, 0}, -{W, 1, "", 0xa9c8, 0x00727272, 0}, -{W, 1, "", 0xa9cc, 0x00737373, 0}, -{W, 1, "", 0xa9d0, 0x00747474, 0}, -{W, 1, "", 0xa9d4, 0x00757575, 0}, -{W, 1, "", 0xa9d8, 0x00767676, 0}, -{W, 1, "", 0xa9dc, 0x00777777, 0}, -{W, 1, "", 0xa9e0, 0x00787878, 0}, -{W, 1, "", 0xa9e4, 0x00797979, 0}, -{W, 1, "", 0xa9e8, 0x007a7a7a, 0}, -{W, 1, "", 0xa9ec, 0x007b7b7b, 0}, -{W, 1, "", 0xa9f0, 0x007c7c7c, 0}, -{W, 1, "", 0xa9f4, 0x007d7d7d, 0}, -{W, 1, "", 0xa9f8, 0x007e7e7e, 0}, -{W, 1, "", 0xa9fc, 0x007f7f7f, 0}, -{W, 1, "", 0xaa00, 0x00808080, 0}, -{W, 1, "", 0xaa04, 0x00818181, 0}, -{W, 1, "", 0xaa08, 0x00828282, 0}, -{W, 1, "", 0xaa0c, 0x00838383, 0}, -{W, 1, "", 0xaa10, 0x00848484, 0}, -{W, 1, "", 0xaa14, 0x00858585, 0}, -{W, 1, "", 0xaa18, 0x00868686, 0}, -{W, 1, "", 0xaa1c, 0x00878787, 0}, -{W, 1, "", 0xaa20, 0x00888888, 0}, -{W, 1, "", 0xaa24, 0x00898989, 0}, -{W, 1, "", 0xaa28, 0x008a8a8a, 0}, -{W, 1, "", 0xaa2c, 0x008b8b8b, 0}, -{W, 1, "", 0xaa30, 0x008c8c8c, 0}, -{W, 1, "", 0xaa34, 0x008d8d8d, 0}, -{W, 1, "", 0xaa38, 0x008e8e8e, 0}, -{W, 1, "", 0xaa3c, 0x008f8f8f, 0}, -{W, 1, "", 0xaa40, 0x00909090, 0}, -{W, 1, "", 0xaa44, 0x00919191, 0}, -{W, 1, "", 0xaa48, 0x00929292, 0}, -{W, 1, "", 0xaa4c, 0x00939393, 0}, -{W, 1, "", 0xaa50, 0x00949494, 0}, -{W, 1, "", 0xaa54, 0x00959595, 0}, -{W, 1, "", 0xaa58, 0x00969696, 0}, -{W, 1, "", 0xaa5c, 0x00979797, 0}, -{W, 1, "", 0xaa60, 0x00989898, 0}, -{W, 1, "", 0xaa64, 0x00999999, 0}, -{W, 1, "", 0xaa68, 0x009a9a9a, 0}, -{W, 1, "", 0xaa6c, 0x009b9b9b, 0}, -{W, 1, "", 0xaa70, 0x009c9c9c, 0}, -{W, 1, "", 0xaa74, 0x009d9d9d, 0}, -{W, 1, "", 0xaa78, 0x009e9e9e, 0}, -{W, 1, "", 0xaa7c, 0x009f9f9f, 0}, -{W, 1, "", 0xaa80, 0x00a0a0a0, 0}, -{W, 1, "", 0xaa84, 0x00a1a1a1, 0}, -{W, 1, "", 0xaa88, 0x00a2a2a2, 0}, -{W, 1, "", 0xaa8c, 0x00a3a3a3, 0}, -{W, 1, "", 0xaa90, 0x00a4a4a4, 0}, -{W, 1, "", 0xaa94, 0x00a5a5a5, 0}, -{W, 1, "", 0xaa98, 0x00a6a6a6, 0}, -{W, 1, "", 0xaa9c, 0x00a7a7a7, 0}, -{W, 1, "", 0xaaa0, 0x00a8a8a8, 0}, -{W, 1, "", 0xaaa4, 0x00a9a9a9, 0}, -{W, 1, "", 0xaaa8, 0x00aaaaaa, 0}, -{W, 1, "", 0xaaac, 0x00ababab, 0}, -{W, 1, "", 0xaab0, 0x00acacac, 0}, -{W, 1, "", 0xaab4, 0x00adadad, 0}, -{W, 1, "", 0xaab8, 0x00aeaeae, 0}, -{W, 1, "", 0xaabc, 0x00afafaf, 0}, -{W, 1, "", 0xaac0, 0x00b0b0b0, 0}, -{W, 1, "", 0xaac4, 0x00b1b1b1, 0}, -{W, 1, "", 0xaac8, 0x00b2b2b2, 0}, -{W, 1, "", 0xaacc, 0x00b3b3b3, 0}, -{W, 1, "", 0xaad0, 0x00b4b4b4, 0}, -{W, 1, "", 0xaad4, 0x00b5b5b5, 0}, -{W, 1, "", 0xaad8, 0x00b6b6b6, 0}, -{W, 1, "", 0xaadc, 0x00b7b7b7, 0}, -{W, 1, "", 0xaae0, 0x00b8b8b8, 0}, -{W, 1, "", 0xaae4, 0x00b9b9b9, 0}, -{W, 1, "", 0xaae8, 0x00bababa, 0}, -{W, 1, "", 0xaaec, 0x00bbbbbb, 0}, -{W, 1, "", 0xaaf0, 0x00bcbcbc, 0}, -{W, 1, "", 0xaaf4, 0x00bdbdbd, 0}, -{W, 1, "", 0xaaf8, 0x00bebebe, 0}, -{W, 1, "", 0xaafc, 0x00bfbfbf, 0}, -{W, 1, "", 0xab00, 0x00c0c0c0, 0}, -{W, 1, "", 0xab04, 0x00c1c1c1, 0}, -{W, 1, "", 0xab08, 0x00c2c2c2, 0}, -{W, 1, "", 0xab0c, 0x00c3c3c3, 0}, -{W, 1, "", 0xab10, 0x00c4c4c4, 0}, -{W, 1, "", 0xab14, 0x00c5c5c5, 0}, -{W, 1, "", 0xab18, 0x00c6c6c6, 0}, -{W, 1, "", 0xab1c, 0x00c7c7c7, 0}, -{W, 1, "", 0xab20, 0x00c8c8c8, 0}, -{W, 1, "", 0xab24, 0x00c9c9c9, 0}, -{W, 1, "", 0xab28, 0x00cacaca, 0}, -{W, 1, "", 0xab2c, 0x00cbcbcb, 0}, -{W, 1, "", 0xab30, 0x00cccccc, 0}, -{W, 1, "", 0xab34, 0x00cdcdcd, 0}, -{W, 1, "", 0xab38, 0x00cecece, 0}, -{W, 1, "", 0xab3c, 0x00cfcfcf, 0}, -{W, 1, "", 0xab40, 0x00d0d0d0, 0}, -{W, 1, "", 0xab44, 0x00d1d1d1, 0}, -{W, 1, "", 0xab48, 0x00d2d2d2, 0}, -{W, 1, "", 0xab4c, 0x00d3d3d3, 0}, -{W, 1, "", 0xab50, 0x00d4d4d4, 0}, -{W, 1, "", 0xab54, 0x00d5d5d5, 0}, -{W, 1, "", 0xab58, 0x00d6d6d6, 0}, -{W, 1, "", 0xab5c, 0x00d7d7d7, 0}, -{W, 1, "", 0xab60, 0x00d8d8d8, 0}, -{W, 1, "", 0xab64, 0x00d9d9d9, 0}, -{W, 1, "", 0xab68, 0x00dadada, 0}, -{W, 1, "", 0xab6c, 0x00dbdbdb, 0}, -{W, 1, "", 0xab70, 0x00dcdcdc, 0}, -{W, 1, "", 0xab74, 0x00dddddd, 0}, -{W, 1, "", 0xab78, 0x00dedede, 0}, -{W, 1, "", 0xab7c, 0x00dfdfdf, 0}, -{W, 1, "", 0xab80, 0x00e0e0e0, 0}, -{W, 1, "", 0xab84, 0x00e1e1e1, 0}, -{W, 1, "", 0xab88, 0x00e2e2e2, 0}, -{W, 1, "", 0xab8c, 0x00e3e3e3, 0}, -{W, 1, "", 0xab90, 0x00e4e4e4, 0}, -{W, 1, "", 0xab94, 0x00e5e5e5, 0}, -{W, 1, "", 0xab98, 0x00e6e6e6, 0}, -{W, 1, "", 0xab9c, 0x00e7e7e7, 0}, -{W, 1, "", 0xaba0, 0x00e8e8e8, 0}, -{W, 1, "", 0xaba4, 0x00e9e9e9, 0}, -{W, 1, "", 0xaba8, 0x00eaeaea, 0}, -{W, 1, "", 0xabac, 0x00ebebeb, 0}, -{W, 1, "", 0xabb0, 0x00ececec, 0}, -{W, 1, "", 0xabb4, 0x00ededed, 0}, -{W, 1, "", 0xabb8, 0x00eeeeee, 0}, -{W, 1, "", 0xabbc, 0x00efefef, 0}, -{W, 1, "", 0xabc0, 0x00f0f0f0, 0}, -{W, 1, "", 0xabc4, 0x00f1f1f1, 0}, -{W, 1, "", 0xabc8, 0x00f2f2f2, 0}, -{W, 1, "", 0xabcc, 0x00f3f3f3, 0}, -{W, 1, "", 0xabd0, 0x00f4f4f4, 0}, -{W, 1, "", 0xabd4, 0x00f5f5f5, 0}, -{W, 1, "", 0xabd8, 0x00f6f6f6, 0}, -{W, 1, "", 0xabdc, 0x00f7f7f7, 0}, -{W, 1, "", 0xabe0, 0x00f8f8f8, 0}, -{W, 1, "", 0xabe4, 0x00f9f9f9, 0}, -{W, 1, "", 0xabe8, 0x00fafafa, 0}, -{W, 1, "", 0xabec, 0x00fbfbfb, 0}, -{W, 1, "", 0xabf0, 0x00fcfcfc, 0}, -{W, 1, "", 0xabf4, 0x00fdfdfd, 0}, -{W, 1, "", 0xabf8, 0x00fefefe, 0}, -{W, 1, "", 0xabfc, 0x00ffffff, 0}, {M, 1, "Console:switching to colour frame buffer device 128x48", 0x0, 0x0, 0}, -{W, 1, "", _PALETTE_B, 0x00000000, 0}, -{W, 1, "", _PALETTE_B+0x4, 0x00010101, 0}, -{W, 1, "", _PALETTE_B+0x8, 0x00020202, 0}, -{W, 1, "", _PALETTE_B+0xc, 0x00030303, 0}, -{W, 1, "", _PALETTE_B+0x10, 0x00040404, 0}, -{W, 1, "", _PALETTE_B+0x14, 0x00050505, 0}, -{W, 1, "", _PALETTE_B+0x18, 0x00060606, 0}, -{W, 1, "", _PALETTE_B+0x1c, 0x00070707, 0}, -{W, 1, "", _PALETTE_B+0x20, 0x00080808, 0}, -{W, 1, "", _PALETTE_B+0x24, 0x00090909, 0}, -{W, 1, "", _PALETTE_B+0x28, 0x000a0a0a, 0}, -{W, 1, "", _PALETTE_B+0x2c, 0x000b0b0b, 0}, -{W, 1, "", _PALETTE_B+0x30, 0x000c0c0c, 0}, -{W, 1, "", _PALETTE_B+0x34, 0x000d0d0d, 0}, -{W, 1, "", _PALETTE_B+0x38, 0x000e0e0e, 0}, -{W, 1, "", _PALETTE_B+0x3c, 0x000f0f0f, 0}, -{W, 1, "", _PALETTE_B+0x40, 0x00101010, 0}, -{W, 1, "", _PALETTE_B+0x44, 0x00111111, 0}, -{W, 1, "", _PALETTE_B+0x48, 0x00121212, 0}, -{W, 1, "", _PALETTE_B+0x4c, 0x00131313, 0}, -{W, 1, "", _PALETTE_B+0x50, 0x00141414, 0}, -{W, 1, "", _PALETTE_B+0x54, 0x00151515, 0}, -{W, 1, "", _PALETTE_B+0x58, 0x00161616, 0}, -{W, 1, "", _PALETTE_B+0x5c, 0x00171717, 0}, -{W, 1, "", _PALETTE_B+0x60, 0x00181818, 0}, -{W, 1, "", _PALETTE_B+0x64, 0x00191919, 0}, -{W, 1, "", _PALETTE_B+0x68, 0x001a1a1a, 0}, -{W, 1, "", _PALETTE_B+0x6c, 0x001b1b1b, 0}, -{W, 1, "", _PALETTE_B+0x70, 0x001c1c1c, 0}, -{W, 1, "", _PALETTE_B+0x74, 0x001d1d1d, 0}, -{W, 1, "", _PALETTE_B+0x78, 0x001e1e1e, 0}, -{W, 1, "", _PALETTE_B+0x7c, 0x001f1f1f, 0}, -{W, 1, "", 0xa880, 0x00202020, 0}, -{W, 1, "", 0xa884, 0x00212121, 0}, -{W, 1, "", 0xa888, 0x00222222, 0}, -{W, 1, "", 0xa88c, 0x00232323, 0}, -{W, 1, "", 0xa890, 0x00242424, 0}, -{W, 1, "", 0xa894, 0x00252525, 0}, -{W, 1, "", 0xa898, 0x00262626, 0}, -{W, 1, "", 0xa89c, 0x00272727, 0}, -{W, 1, "", 0xa8a0, 0x00282828, 0}, -{W, 1, "", 0xa8a4, 0x00292929, 0}, -{W, 1, "", 0xa8a8, 0x002a2a2a, 0}, -{W, 1, "", 0xa8ac, 0x002b2b2b, 0}, -{W, 1, "", 0xa8b0, 0x002c2c2c, 0}, -{W, 1, "", 0xa8b4, 0x002d2d2d, 0}, -{W, 1, "", 0xa8b8, 0x002e2e2e, 0}, -{W, 1, "", 0xa8bc, 0x002f2f2f, 0}, -{W, 1, "", 0xa8c0, 0x00303030, 0}, -{W, 1, "", 0xa8c4, 0x00313131, 0}, -{W, 1, "", 0xa8c8, 0x00323232, 0}, -{W, 1, "", 0xa8cc, 0x00333333, 0}, -{W, 1, "", 0xa8d0, 0x00343434, 0}, -{W, 1, "", 0xa8d4, 0x00353535, 0}, -{W, 1, "", 0xa8d8, 0x00363636, 0}, -{W, 1, "", 0xa8dc, 0x00373737, 0}, -{W, 1, "", 0xa8e0, 0x00383838, 0}, -{W, 1, "", 0xa8e4, 0x00393939, 0}, -{W, 1, "", 0xa8e8, 0x003a3a3a, 0}, -{W, 1, "", 0xa8ec, 0x003b3b3b, 0}, -{W, 1, "", 0xa8f0, 0x003c3c3c, 0}, -{W, 1, "", 0xa8f4, 0x003d3d3d, 0}, -{W, 1, "", 0xa8f8, 0x003e3e3e, 0}, -{W, 1, "", 0xa8fc, 0x003f3f3f, 0}, -{W, 1, "", 0xa900, 0x00404040, 0}, -{W, 1, "", 0xa904, 0x00414141, 0}, -{W, 1, "", 0xa908, 0x00424242, 0}, -{W, 1, "", 0xa90c, 0x00434343, 0}, -{W, 1, "", 0xa910, 0x00444444, 0}, -{W, 1, "", 0xa914, 0x00454545, 0}, -{W, 1, "", 0xa918, 0x00464646, 0}, -{W, 1, "", 0xa91c, 0x00474747, 0}, -{W, 1, "", 0xa920, 0x00484848, 0}, -{W, 1, "", 0xa924, 0x00494949, 0}, -{W, 1, "", 0xa928, 0x004a4a4a, 0}, -{W, 1, "", 0xa92c, 0x004b4b4b, 0}, -{W, 1, "", 0xa930, 0x004c4c4c, 0}, -{W, 1, "", 0xa934, 0x004d4d4d, 0}, -{W, 1, "", 0xa938, 0x004e4e4e, 0}, -{W, 1, "", 0xa93c, 0x004f4f4f, 0}, -{W, 1, "", 0xa940, 0x00505050, 0}, -{W, 1, "", 0xa944, 0x00515151, 0}, -{W, 1, "", 0xa948, 0x00525252, 0}, -{W, 1, "", 0xa94c, 0x00535353, 0}, -{W, 1, "", 0xa950, 0x00545454, 0}, -{W, 1, "", 0xa954, 0x00555555, 0}, -{W, 1, "", 0xa958, 0x00565656, 0}, -{W, 1, "", 0xa95c, 0x00575757, 0}, -{W, 1, "", 0xa960, 0x00585858, 0}, -{W, 1, "", 0xa964, 0x00595959, 0}, -{W, 1, "", 0xa968, 0x005a5a5a, 0}, -{W, 1, "", 0xa96c, 0x005b5b5b, 0}, -{W, 1, "", 0xa970, 0x005c5c5c, 0}, -{W, 1, "", 0xa974, 0x005d5d5d, 0}, -{W, 1, "", 0xa978, 0x005e5e5e, 0}, -{W, 1, "", 0xa97c, 0x005f5f5f, 0}, -{W, 1, "", 0xa980, 0x00606060, 0}, -{W, 1, "", 0xa984, 0x00616161, 0}, -{W, 1, "", 0xa988, 0x00626262, 0}, -{W, 1, "", 0xa98c, 0x00636363, 0}, -{W, 1, "", 0xa990, 0x00646464, 0}, -{W, 1, "", 0xa994, 0x00656565, 0}, -{W, 1, "", 0xa998, 0x00666666, 0}, -{W, 1, "", 0xa99c, 0x00676767, 0}, -{W, 1, "", 0xa9a0, 0x00686868, 0}, -{W, 1, "", 0xa9a4, 0x00696969, 0}, -{W, 1, "", 0xa9a8, 0x006a6a6a, 0}, -{W, 1, "", 0xa9ac, 0x006b6b6b, 0}, -{W, 1, "", 0xa9b0, 0x006c6c6c, 0}, -{W, 1, "", 0xa9b4, 0x006d6d6d, 0}, -{W, 1, "", 0xa9b8, 0x006e6e6e, 0}, -{W, 1, "", 0xa9bc, 0x006f6f6f, 0}, -{W, 1, "", 0xa9c0, 0x00707070, 0}, -{W, 1, "", 0xa9c4, 0x00717171, 0}, -{W, 1, "", 0xa9c8, 0x00727272, 0}, -{W, 1, "", 0xa9cc, 0x00737373, 0}, -{W, 1, "", 0xa9d0, 0x00747474, 0}, -{W, 1, "", 0xa9d4, 0x00757575, 0}, -{W, 1, "", 0xa9d8, 0x00767676, 0}, -{W, 1, "", 0xa9dc, 0x00777777, 0}, -{W, 1, "", 0xa9e0, 0x00787878, 0}, -{W, 1, "", 0xa9e4, 0x00797979, 0}, -{W, 1, "", 0xa9e8, 0x007a7a7a, 0}, -{W, 1, "", 0xa9ec, 0x007b7b7b, 0}, -{W, 1, "", 0xa9f0, 0x007c7c7c, 0}, -{W, 1, "", 0xa9f4, 0x007d7d7d, 0}, -{W, 1, "", 0xa9f8, 0x007e7e7e, 0}, -{W, 1, "", 0xa9fc, 0x007f7f7f, 0}, -{W, 1, "", 0xaa00, 0x00808080, 0}, -{W, 1, "", 0xaa04, 0x00818181, 0}, -{W, 1, "", 0xaa08, 0x00828282, 0}, -{W, 1, "", 0xaa0c, 0x00838383, 0}, -{W, 1, "", 0xaa10, 0x00848484, 0}, -{W, 1, "", 0xaa14, 0x00858585, 0}, -{W, 1, "", 0xaa18, 0x00868686, 0}, -{W, 1, "", 0xaa1c, 0x00878787, 0}, -{W, 1, "", 0xaa20, 0x00888888, 0}, -{W, 1, "", 0xaa24, 0x00898989, 0}, -{W, 1, "", 0xaa28, 0x008a8a8a, 0}, -{W, 1, "", 0xaa2c, 0x008b8b8b, 0}, -{W, 1, "", 0xaa30, 0x008c8c8c, 0}, -{W, 1, "", 0xaa34, 0x008d8d8d, 0}, -{W, 1, "", 0xaa38, 0x008e8e8e, 0}, -{W, 1, "", 0xaa3c, 0x008f8f8f, 0}, -{W, 1, "", 0xaa40, 0x00909090, 0}, -{W, 1, "", 0xaa44, 0x00919191, 0}, -{W, 1, "", 0xaa48, 0x00929292, 0}, -{W, 1, "", 0xaa4c, 0x00939393, 0}, -{W, 1, "", 0xaa50, 0x00949494, 0}, -{W, 1, "", 0xaa54, 0x00959595, 0}, -{W, 1, "", 0xaa58, 0x00969696, 0}, -{W, 1, "", 0xaa5c, 0x00979797, 0}, -{W, 1, "", 0xaa60, 0x00989898, 0}, -{W, 1, "", 0xaa64, 0x00999999, 0}, -{W, 1, "", 0xaa68, 0x009a9a9a, 0}, -{W, 1, "", 0xaa6c, 0x009b9b9b, 0}, -{W, 1, "", 0xaa70, 0x009c9c9c, 0}, -{W, 1, "", 0xaa74, 0x009d9d9d, 0}, -{W, 1, "", 0xaa78, 0x009e9e9e, 0}, -{W, 1, "", 0xaa7c, 0x009f9f9f, 0}, -{W, 1, "", 0xaa80, 0x00a0a0a0, 0}, -{W, 1, "", 0xaa84, 0x00a1a1a1, 0}, -{W, 1, "", 0xaa88, 0x00a2a2a2, 0}, -{W, 1, "", 0xaa8c, 0x00a3a3a3, 0}, -{W, 1, "", 0xaa90, 0x00a4a4a4, 0}, -{W, 1, "", 0xaa94, 0x00a5a5a5, 0}, -{W, 1, "", 0xaa98, 0x00a6a6a6, 0}, -{W, 1, "", 0xaa9c, 0x00a7a7a7, 0}, -{W, 1, "", 0xaaa0, 0x00a8a8a8, 0}, -{W, 1, "", 0xaaa4, 0x00a9a9a9, 0}, -{W, 1, "", 0xaaa8, 0x00aaaaaa, 0}, -{W, 1, "", 0xaaac, 0x00ababab, 0}, -{W, 1, "", 0xaab0, 0x00acacac, 0}, -{W, 1, "", 0xaab4, 0x00adadad, 0}, -{W, 1, "", 0xaab8, 0x00aeaeae, 0}, -{W, 1, "", 0xaabc, 0x00afafaf, 0}, -{W, 1, "", 0xaac0, 0x00b0b0b0, 0}, -{W, 1, "", 0xaac4, 0x00b1b1b1, 0}, -{W, 1, "", 0xaac8, 0x00b2b2b2, 0}, -{W, 1, "", 0xaacc, 0x00b3b3b3, 0}, -{W, 1, "", 0xaad0, 0x00b4b4b4, 0}, -{W, 1, "", 0xaad4, 0x00b5b5b5, 0}, -{W, 1, "", 0xaad8, 0x00b6b6b6, 0}, -{W, 1, "", 0xaadc, 0x00b7b7b7, 0}, -{W, 1, "", 0xaae0, 0x00b8b8b8, 0}, -{W, 1, "", 0xaae4, 0x00b9b9b9, 0}, -{W, 1, "", 0xaae8, 0x00bababa, 0}, -{W, 1, "", 0xaaec, 0x00bbbbbb, 0}, -{W, 1, "", 0xaaf0, 0x00bcbcbc, 0}, -{W, 1, "", 0xaaf4, 0x00bdbdbd, 0}, -{W, 1, "", 0xaaf8, 0x00bebebe, 0}, -{W, 1, "", 0xaafc, 0x00bfbfbf, 0}, -{W, 1, "", 0xab00, 0x00c0c0c0, 0}, -{W, 1, "", 0xab04, 0x00c1c1c1, 0}, -{W, 1, "", 0xab08, 0x00c2c2c2, 0}, -{W, 1, "", 0xab0c, 0x00c3c3c3, 0}, -{W, 1, "", 0xab10, 0x00c4c4c4, 0}, -{W, 1, "", 0xab14, 0x00c5c5c5, 0}, -{W, 1, "", 0xab18, 0x00c6c6c6, 0}, -{W, 1, "", 0xab1c, 0x00c7c7c7, 0}, -{W, 1, "", 0xab20, 0x00c8c8c8, 0}, -{W, 1, "", 0xab24, 0x00c9c9c9, 0}, -{W, 1, "", 0xab28, 0x00cacaca, 0}, -{W, 1, "", 0xab2c, 0x00cbcbcb, 0}, -{W, 1, "", 0xab30, 0x00cccccc, 0}, -{W, 1, "", 0xab34, 0x00cdcdcd, 0}, -{W, 1, "", 0xab38, 0x00cecece, 0}, -{W, 1, "", 0xab3c, 0x00cfcfcf, 0}, -{W, 1, "", 0xab40, 0x00d0d0d0, 0}, -{W, 1, "", 0xab44, 0x00d1d1d1, 0}, -{W, 1, "", 0xab48, 0x00d2d2d2, 0}, -{W, 1, "", 0xab4c, 0x00d3d3d3, 0}, -{W, 1, "", 0xab50, 0x00d4d4d4, 0}, -{W, 1, "", 0xab54, 0x00d5d5d5, 0}, -{W, 1, "", 0xab58, 0x00d6d6d6, 0}, -{W, 1, "", 0xab5c, 0x00d7d7d7, 0}, -{W, 1, "", 0xab60, 0x00d8d8d8, 0}, -{W, 1, "", 0xab64, 0x00d9d9d9, 0}, -{W, 1, "", 0xab68, 0x00dadada, 0}, -{W, 1, "", 0xab6c, 0x00dbdbdb, 0}, -{W, 1, "", 0xab70, 0x00dcdcdc, 0}, -{W, 1, "", 0xab74, 0x00dddddd, 0}, -{W, 1, "", 0xab78, 0x00dedede, 0}, -{W, 1, "", 0xab7c, 0x00dfdfdf, 0}, -{W, 1, "", 0xab80, 0x00e0e0e0, 0}, -{W, 1, "", 0xab84, 0x00e1e1e1, 0}, -{W, 1, "", 0xab88, 0x00e2e2e2, 0}, -{W, 1, "", 0xab8c, 0x00e3e3e3, 0}, -{W, 1, "", 0xab90, 0x00e4e4e4, 0}, -{W, 1, "", 0xab94, 0x00e5e5e5, 0}, -{W, 1, "", 0xab98, 0x00e6e6e6, 0}, -{W, 1, "", 0xab9c, 0x00e7e7e7, 0}, -{W, 1, "", 0xaba0, 0x00e8e8e8, 0}, -{W, 1, "", 0xaba4, 0x00e9e9e9, 0}, -{W, 1, "", 0xaba8, 0x00eaeaea, 0}, -{W, 1, "", 0xabac, 0x00ebebeb, 0}, -{W, 1, "", 0xabb0, 0x00ececec, 0}, -{W, 1, "", 0xabb4, 0x00ededed, 0}, -{W, 1, "", 0xabb8, 0x00eeeeee, 0}, -{W, 1, "", 0xabbc, 0x00efefef, 0}, -{W, 1, "", 0xabc0, 0x00f0f0f0, 0}, -{W, 1, "", 0xabc4, 0x00f1f1f1, 0}, -{W, 1, "", 0xabc8, 0x00f2f2f2, 0}, -{W, 1, "", 0xabcc, 0x00f3f3f3, 0}, -{W, 1, "", 0xabd0, 0x00f4f4f4, 0}, -{W, 1, "", 0xabd4, 0x00f5f5f5, 0}, -{W, 1, "", 0xabd8, 0x00f6f6f6, 0}, -{W, 1, "", 0xabdc, 0x00f7f7f7, 0}, -{W, 1, "", 0xabe0, 0x00f8f8f8, 0}, -{W, 1, "", 0xabe4, 0x00f9f9f9, 0}, -{W, 1, "", 0xabe8, 0x00fafafa, 0}, -{W, 1, "", 0xabec, 0x00fbfbfb, 0}, -{W, 1, "", 0xabf0, 0x00fcfcfc, 0}, -{W, 1, "", 0xabf4, 0x00fdfdfd, 0}, -{W, 1, "", 0xabf8, 0x00fefefe, 0}, -{W, 1, "", 0xabfc, 0x00ffffff, 0}, -{W, 1, "", _PALETTE_B, 0x00000000, 0}, -{W, 1, "", _PALETTE_B+0x4, 0x00010101, 0}, -{W, 1, "", _PALETTE_B+0x8, 0x00020202, 0}, -{W, 1, "", _PALETTE_B+0xc, 0x00030303, 0}, -{W, 1, "", _PALETTE_B+0x10, 0x00040404, 0}, -{W, 1, "", _PALETTE_B+0x14, 0x00050505, 0}, -{W, 1, "", _PALETTE_B+0x18, 0x00060606, 0}, -{W, 1, "", _PALETTE_B+0x1c, 0x00070707, 0}, -{W, 1, "", _PALETTE_B+0x20, 0x00080808, 0}, -{W, 1, "", _PALETTE_B+0x24, 0x00090909, 0}, -{W, 1, "", _PALETTE_B+0x28, 0x000a0a0a, 0}, -{W, 1, "", _PALETTE_B+0x2c, 0x000b0b0b, 0}, -{W, 1, "", _PALETTE_B+0x30, 0x000c0c0c, 0}, -{W, 1, "", _PALETTE_B+0x34, 0x000d0d0d, 0}, -{W, 1, "", _PALETTE_B+0x38, 0x000e0e0e, 0}, -{W, 1, "", _PALETTE_B+0x3c, 0x000f0f0f, 0}, -{W, 1, "", _PALETTE_B+0x40, 0x00101010, 0}, -{W, 1, "", _PALETTE_B+0x44, 0x00111111, 0}, -{W, 1, "", _PALETTE_B+0x48, 0x00121212, 0}, -{W, 1, "", _PALETTE_B+0x4c, 0x00131313, 0}, -{W, 1, "", _PALETTE_B+0x50, 0x00141414, 0}, -{W, 1, "", _PALETTE_B+0x54, 0x00151515, 0}, -{W, 1, "", _PALETTE_B+0x58, 0x00161616, 0}, -{W, 1, "", _PALETTE_B+0x5c, 0x00171717, 0}, -{W, 1, "", _PALETTE_B+0x60, 0x00181818, 0}, -{W, 1, "", _PALETTE_B+0x64, 0x00191919, 0}, -{W, 1, "", _PALETTE_B+0x68, 0x001a1a1a, 0}, -{W, 1, "", _PALETTE_B+0x6c, 0x001b1b1b, 0}, -{W, 1, "", _PALETTE_B+0x70, 0x001c1c1c, 0}, -{W, 1, "", _PALETTE_B+0x74, 0x001d1d1d, 0}, -{W, 1, "", _PALETTE_B+0x78, 0x001e1e1e, 0}, -{W, 1, "", _PALETTE_B+0x7c, 0x001f1f1f, 0}, -{W, 1, "", 0xa880, 0x00202020, 0}, -{W, 1, "", 0xa884, 0x00212121, 0}, -{W, 1, "", 0xa888, 0x00222222, 0}, -{W, 1, "", 0xa88c, 0x00232323, 0}, -{W, 1, "", 0xa890, 0x00242424, 0}, -{W, 1, "", 0xa894, 0x00252525, 0}, -{W, 1, "", 0xa898, 0x00262626, 0}, -{W, 1, "", 0xa89c, 0x00272727, 0}, -{W, 1, "", 0xa8a0, 0x00282828, 0}, -{W, 1, "", 0xa8a4, 0x00292929, 0}, -{W, 1, "", 0xa8a8, 0x002a2a2a, 0}, -{W, 1, "", 0xa8ac, 0x002b2b2b, 0}, -{W, 1, "", 0xa8b0, 0x002c2c2c, 0}, -{W, 1, "", 0xa8b4, 0x002d2d2d, 0}, -{W, 1, "", 0xa8b8, 0x002e2e2e, 0}, -{W, 1, "", 0xa8bc, 0x002f2f2f, 0}, -{W, 1, "", 0xa8c0, 0x00303030, 0}, -{W, 1, "", 0xa8c4, 0x00313131, 0}, -{W, 1, "", 0xa8c8, 0x00323232, 0}, -{W, 1, "", 0xa8cc, 0x00333333, 0}, -{W, 1, "", 0xa8d0, 0x00343434, 0}, -{W, 1, "", 0xa8d4, 0x00353535, 0}, -{W, 1, "", 0xa8d8, 0x00363636, 0}, -{W, 1, "", 0xa8dc, 0x00373737, 0}, -{W, 1, "", 0xa8e0, 0x00383838, 0}, -{W, 1, "", 0xa8e4, 0x00393939, 0}, -{W, 1, "", 0xa8e8, 0x003a3a3a, 0}, -{W, 1, "", 0xa8ec, 0x003b3b3b, 0}, -{W, 1, "", 0xa8f0, 0x003c3c3c, 0}, -{W, 1, "", 0xa8f4, 0x003d3d3d, 0}, -{W, 1, "", 0xa8f8, 0x003e3e3e, 0}, -{W, 1, "", 0xa8fc, 0x003f3f3f, 0}, -{W, 1, "", 0xa900, 0x00404040, 0}, -{W, 1, "", 0xa904, 0x00414141, 0}, -{W, 1, "", 0xa908, 0x00424242, 0}, -{W, 1, "", 0xa90c, 0x00434343, 0}, -{W, 1, "", 0xa910, 0x00444444, 0}, -{W, 1, "", 0xa914, 0x00454545, 0}, -{W, 1, "", 0xa918, 0x00464646, 0}, -{W, 1, "", 0xa91c, 0x00474747, 0}, -{W, 1, "", 0xa920, 0x00484848, 0}, -{W, 1, "", 0xa924, 0x00494949, 0}, -{W, 1, "", 0xa928, 0x004a4a4a, 0}, -{W, 1, "", 0xa92c, 0x004b4b4b, 0}, -{W, 1, "", 0xa930, 0x004c4c4c, 0}, -{W, 1, "", 0xa934, 0x004d4d4d, 0}, -{W, 1, "", 0xa938, 0x004e4e4e, 0}, -{W, 1, "", 0xa93c, 0x004f4f4f, 0}, -{W, 1, "", 0xa940, 0x00505050, 0}, -{W, 1, "", 0xa944, 0x00515151, 0}, -{W, 1, "", 0xa948, 0x00525252, 0}, -{W, 1, "", 0xa94c, 0x00535353, 0}, -{W, 1, "", 0xa950, 0x00545454, 0}, -{W, 1, "", 0xa954, 0x00555555, 0}, -{W, 1, "", 0xa958, 0x00565656, 0}, -{W, 1, "", 0xa95c, 0x00575757, 0}, -{W, 1, "", 0xa960, 0x00585858, 0}, -{W, 1, "", 0xa964, 0x00595959, 0}, -{W, 1, "", 0xa968, 0x005a5a5a, 0}, -{W, 1, "", 0xa96c, 0x005b5b5b, 0}, -{W, 1, "", 0xa970, 0x005c5c5c, 0}, -{W, 1, "", 0xa974, 0x005d5d5d, 0}, -{W, 1, "", 0xa978, 0x005e5e5e, 0}, -{W, 1, "", 0xa97c, 0x005f5f5f, 0}, -{W, 1, "", 0xa980, 0x00606060, 0}, -{W, 1, "", 0xa984, 0x00616161, 0}, -{W, 1, "", 0xa988, 0x00626262, 0}, -{W, 1, "", 0xa98c, 0x00636363, 0}, -{W, 1, "", 0xa990, 0x00646464, 0}, -{W, 1, "", 0xa994, 0x00656565, 0}, -{W, 1, "", 0xa998, 0x00666666, 0}, -{W, 1, "", 0xa99c, 0x00676767, 0}, -{W, 1, "", 0xa9a0, 0x00686868, 0}, -{W, 1, "", 0xa9a4, 0x00696969, 0}, -{W, 1, "", 0xa9a8, 0x006a6a6a, 0}, -{W, 1, "", 0xa9ac, 0x006b6b6b, 0}, -{W, 1, "", 0xa9b0, 0x006c6c6c, 0}, -{W, 1, "", 0xa9b4, 0x006d6d6d, 0}, -{W, 1, "", 0xa9b8, 0x006e6e6e, 0}, -{W, 1, "", 0xa9bc, 0x006f6f6f, 0}, -{W, 1, "", 0xa9c0, 0x00707070, 0}, -{W, 1, "", 0xa9c4, 0x00717171, 0}, -{W, 1, "", 0xa9c8, 0x00727272, 0}, -{W, 1, "", 0xa9cc, 0x00737373, 0}, -{W, 1, "", 0xa9d0, 0x00747474, 0}, -{W, 1, "", 0xa9d4, 0x00757575, 0}, -{W, 1, "", 0xa9d8, 0x00767676, 0}, -{W, 1, "", 0xa9dc, 0x00777777, 0}, -{W, 1, "", 0xa9e0, 0x00787878, 0}, -{W, 1, "", 0xa9e4, 0x00797979, 0}, -{W, 1, "", 0xa9e8, 0x007a7a7a, 0}, -{W, 1, "", 0xa9ec, 0x007b7b7b, 0}, -{W, 1, "", 0xa9f0, 0x007c7c7c, 0}, -{W, 1, "", 0xa9f4, 0x007d7d7d, 0}, -{W, 1, "", 0xa9f8, 0x007e7e7e, 0}, -{W, 1, "", 0xa9fc, 0x007f7f7f, 0}, -{W, 1, "", 0xaa00, 0x00808080, 0}, -{W, 1, "", 0xaa04, 0x00818181, 0}, -{W, 1, "", 0xaa08, 0x00828282, 0}, -{W, 1, "", 0xaa0c, 0x00838383, 0}, -{W, 1, "", 0xaa10, 0x00848484, 0}, -{W, 1, "", 0xaa14, 0x00858585, 0}, -{W, 1, "", 0xaa18, 0x00868686, 0}, -{W, 1, "", 0xaa1c, 0x00878787, 0}, -{W, 1, "", 0xaa20, 0x00888888, 0}, -{W, 1, "", 0xaa24, 0x00898989, 0}, -{W, 1, "", 0xaa28, 0x008a8a8a, 0}, -{W, 1, "", 0xaa2c, 0x008b8b8b, 0}, -{W, 1, "", 0xaa30, 0x008c8c8c, 0}, -{W, 1, "", 0xaa34, 0x008d8d8d, 0}, -{W, 1, "", 0xaa38, 0x008e8e8e, 0}, -{W, 1, "", 0xaa3c, 0x008f8f8f, 0}, -{W, 1, "", 0xaa40, 0x00909090, 0}, -{W, 1, "", 0xaa44, 0x00919191, 0}, -{W, 1, "", 0xaa48, 0x00929292, 0}, -{W, 1, "", 0xaa4c, 0x00939393, 0}, -{W, 1, "", 0xaa50, 0x00949494, 0}, -{W, 1, "", 0xaa54, 0x00959595, 0}, -{W, 1, "", 0xaa58, 0x00969696, 0}, -{W, 1, "", 0xaa5c, 0x00979797, 0}, -{W, 1, "", 0xaa60, 0x00989898, 0}, -{W, 1, "", 0xaa64, 0x00999999, 0}, -{W, 1, "", 0xaa68, 0x009a9a9a, 0}, -{W, 1, "", 0xaa6c, 0x009b9b9b, 0}, -{W, 1, "", 0xaa70, 0x009c9c9c, 0}, -{W, 1, "", 0xaa74, 0x009d9d9d, 0}, -{W, 1, "", 0xaa78, 0x009e9e9e, 0}, -{W, 1, "", 0xaa7c, 0x009f9f9f, 0}, -{W, 1, "", 0xaa80, 0x00a0a0a0, 0}, -{W, 1, "", 0xaa84, 0x00a1a1a1, 0}, -{W, 1, "", 0xaa88, 0x00a2a2a2, 0}, -{W, 1, "", 0xaa8c, 0x00a3a3a3, 0}, -{W, 1, "", 0xaa90, 0x00a4a4a4, 0}, -{W, 1, "", 0xaa94, 0x00a5a5a5, 0}, -{W, 1, "", 0xaa98, 0x00a6a6a6, 0}, -{W, 1, "", 0xaa9c, 0x00a7a7a7, 0}, -{W, 1, "", 0xaaa0, 0x00a8a8a8, 0}, -{W, 1, "", 0xaaa4, 0x00a9a9a9, 0}, -{W, 1, "", 0xaaa8, 0x00aaaaaa, 0}, -{W, 1, "", 0xaaac, 0x00ababab, 0}, -{W, 1, "", 0xaab0, 0x00acacac, 0}, -{W, 1, "", 0xaab4, 0x00adadad, 0}, -{W, 1, "", 0xaab8, 0x00aeaeae, 0}, -{W, 1, "", 0xaabc, 0x00afafaf, 0}, -{W, 1, "", 0xaac0, 0x00b0b0b0, 0}, -{W, 1, "", 0xaac4, 0x00b1b1b1, 0}, -{W, 1, "", 0xaac8, 0x00b2b2b2, 0}, -{W, 1, "", 0xaacc, 0x00b3b3b3, 0}, -{W, 1, "", 0xaad0, 0x00b4b4b4, 0}, -{W, 1, "", 0xaad4, 0x00b5b5b5, 0}, -{W, 1, "", 0xaad8, 0x00b6b6b6, 0}, -{W, 1, "", 0xaadc, 0x00b7b7b7, 0}, -{W, 1, "", 0xaae0, 0x00b8b8b8, 0}, -{W, 1, "", 0xaae4, 0x00b9b9b9, 0}, -{W, 1, "", 0xaae8, 0x00bababa, 0}, -{W, 1, "", 0xaaec, 0x00bbbbbb, 0}, -{W, 1, "", 0xaaf0, 0x00bcbcbc, 0}, -{W, 1, "", 0xaaf4, 0x00bdbdbd, 0}, -{W, 1, "", 0xaaf8, 0x00bebebe, 0}, -{W, 1, "", 0xaafc, 0x00bfbfbf, 0}, -{W, 1, "", 0xab00, 0x00c0c0c0, 0}, -{W, 1, "", 0xab04, 0x00c1c1c1, 0}, -{W, 1, "", 0xab08, 0x00c2c2c2, 0}, -{W, 1, "", 0xab0c, 0x00c3c3c3, 0}, -{W, 1, "", 0xab10, 0x00c4c4c4, 0}, -{W, 1, "", 0xab14, 0x00c5c5c5, 0}, -{W, 1, "", 0xab18, 0x00c6c6c6, 0}, -{W, 1, "", 0xab1c, 0x00c7c7c7, 0}, -{W, 1, "", 0xab20, 0x00c8c8c8, 0}, -{W, 1, "", 0xab24, 0x00c9c9c9, 0}, -{W, 1, "", 0xab28, 0x00cacaca, 0}, -{W, 1, "", 0xab2c, 0x00cbcbcb, 0}, -{W, 1, "", 0xab30, 0x00cccccc, 0}, -{W, 1, "", 0xab34, 0x00cdcdcd, 0}, -{W, 1, "", 0xab38, 0x00cecece, 0}, -{W, 1, "", 0xab3c, 0x00cfcfcf, 0}, -{W, 1, "", 0xab40, 0x00d0d0d0, 0}, -{W, 1, "", 0xab44, 0x00d1d1d1, 0}, -{W, 1, "", 0xab48, 0x00d2d2d2, 0}, -{W, 1, "", 0xab4c, 0x00d3d3d3, 0}, -{W, 1, "", 0xab50, 0x00d4d4d4, 0}, -{W, 1, "", 0xab54, 0x00d5d5d5, 0}, -{W, 1, "", 0xab58, 0x00d6d6d6, 0}, -{W, 1, "", 0xab5c, 0x00d7d7d7, 0}, -{W, 1, "", 0xab60, 0x00d8d8d8, 0}, -{W, 1, "", 0xab64, 0x00d9d9d9, 0}, -{W, 1, "", 0xab68, 0x00dadada, 0}, -{W, 1, "", 0xab6c, 0x00dbdbdb, 0}, -{W, 1, "", 0xab70, 0x00dcdcdc, 0}, -{W, 1, "", 0xab74, 0x00dddddd, 0}, -{W, 1, "", 0xab78, 0x00dedede, 0}, -{W, 1, "", 0xab7c, 0x00dfdfdf, 0}, -{W, 1, "", 0xab80, 0x00e0e0e0, 0}, -{W, 1, "", 0xab84, 0x00e1e1e1, 0}, -{W, 1, "", 0xab88, 0x00e2e2e2, 0}, -{W, 1, "", 0xab8c, 0x00e3e3e3, 0}, -{W, 1, "", 0xab90, 0x00e4e4e4, 0}, -{W, 1, "", 0xab94, 0x00e5e5e5, 0}, -{W, 1, "", 0xab98, 0x00e6e6e6, 0}, -{W, 1, "", 0xab9c, 0x00e7e7e7, 0}, -{W, 1, "", 0xaba0, 0x00e8e8e8, 0}, -{W, 1, "", 0xaba4, 0x00e9e9e9, 0}, -{W, 1, "", 0xaba8, 0x00eaeaea, 0}, -{W, 1, "", 0xabac, 0x00ebebeb, 0}, -{W, 1, "", 0xabb0, 0x00ececec, 0}, -{W, 1, "", 0xabb4, 0x00ededed, 0}, -{W, 1, "", 0xabb8, 0x00eeeeee, 0}, -{W, 1, "", 0xabbc, 0x00efefef, 0}, -{W, 1, "", 0xabc0, 0x00f0f0f0, 0}, -{W, 1, "", 0xabc4, 0x00f1f1f1, 0}, -{W, 1, "", 0xabc8, 0x00f2f2f2, 0}, -{W, 1, "", 0xabcc, 0x00f3f3f3, 0}, -{W, 1, "", 0xabd0, 0x00f4f4f4, 0}, -{W, 1, "", 0xabd4, 0x00f5f5f5, 0}, -{W, 1, "", 0xabd8, 0x00f6f6f6, 0}, -{W, 1, "", 0xabdc, 0x00f7f7f7, 0}, -{W, 1, "", 0xabe0, 0x00f8f8f8, 0}, -{W, 1, "", 0xabe4, 0x00f9f9f9, 0}, -{W, 1, "", 0xabe8, 0x00fafafa, 0}, -{W, 1, "", 0xabec, 0x00fbfbfb, 0}, -{W, 1, "", 0xabf0, 0x00fcfcfc, 0}, -{W, 1, "", 0xabf4, 0x00fdfdfd, 0}, -{W, 1, "", 0xabf8, 0x00fefefe, 0}, -{W, 1, "", 0xabfc, 0x00ffffff, 0}, {M, 1, "i915 0000:00:02.0:fb0:inteldrmfb frame buffer device", 0x0, 0x0, 0}, {M, 1, "i915 0000:00:02.0:registered panic notifier", 0x0, 0x0, 0}, {M, 1, "[drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0", 0x0, 0x0, 0}, diff --git a/src/northbridge/intel/i945/gma.c b/src/northbridge/intel/i945/gma.c index 433152c..ad63c97 100644 --- a/src/northbridge/intel/i945/gma.c +++ b/src/northbridge/intel/i945/gma.c @@ -40,8 +40,8 @@ static void gma_func0_init(struct device *dev)
/* IGD needs to be Bus Master */ reg32 = pci_read_config32(dev, PCI_COMMAND); - pci_write_config32(dev, PCI_COMMAND, reg32 | PCI_COMMAND_MASTER); - + pci_write_config32(dev, PCI_COMMAND, reg32 | PCI_COMMAND_MASTER + | PCI_COMMAND_IO | PCI_COMMAND_MEMORY);
#if !CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT /* PCI Init, will run VBIOS */ @@ -92,7 +92,7 @@ static void gma_func1_init(struct device *dev) /* IGD needs to be Bus Master, also enable IO accesss */ reg32 = pci_read_config32(dev, PCI_COMMAND); pci_write_config32(dev, PCI_COMMAND, reg32 | - PCI_COMMAND_MASTER | PCI_COMMAND_IO); + PCI_COMMAND_MASTER | PCI_COMMAND_MEMORY | PCI_COMMAND_IO);
if (get_option(&val, "tft_brightness") == CB_SUCCESS) pci_write_config8(dev, 0xf4, val);