diff options
Diffstat (limited to 'src/mainboard/roda')
-rw-r--r-- | src/mainboard/roda/rk886ex/mainboard.c | 57 |
1 files changed, 12 insertions, 45 deletions
diff --git a/src/mainboard/roda/rk886ex/mainboard.c b/src/mainboard/roda/rk886ex/mainboard.c index b7594c9862..575aa9b24e 100644 --- a/src/mainboard/roda/rk886ex/mainboard.c +++ b/src/mainboard/roda/rk886ex/mainboard.c @@ -50,10 +50,6 @@ static void backlight_enable(void) printk(BIOS_DEBUG, "Display I/O: 0x%02x\n", inb(0x60f)); } -#if CONFIG_PCI_OPTION_ROM_RUN_YABEL -static int int15_handler(void) -{ - u8 display_id; #define BOOT_DISPLAY_DEFAULT 0 #define BOOT_DISPLAY_CRT (1 << 0) #define BOOT_DISPLAY_TV (1 << 1) @@ -64,6 +60,16 @@ static int int15_handler(void) #define BOOT_DISPLAY_EFP2 (1 << 6) #define BOOT_DISPLAY_LCD2 (1 << 7) +#if CONFIG_VGA_ROM_RUN +static int int15_handler(void) +{ + /* This int15 handler is Intel IGD. specific. Other chipsets need other + * handlers. The right way to do this is to move this handler code into + * the mainboard or northbridge code. + * TODO: completely move to mainboards / chipsets. + */ + u8 display_id; + printk(BIOS_DEBUG, "%s: AX=%04x BX=%04x CX=%04x DX=%04x\n", __func__, X86_AX, X86_BX, X86_CX, X86_DX); @@ -79,9 +85,11 @@ static int int15_handler(void) // M.x86.R_AX = 0x015f; // Supported but failed X86_AX = 0x005f; // Success X86_CL = display_id; + printk(BIOS_DEBUG, "DISPLAY=%x\n", X86_CL); break; default: /* Interrupt was not handled */ + printk(BIOS_DEBUG, "Unknown INT15 function %04x!\n", X86_AX); return 0; } @@ -90,47 +98,6 @@ static int int15_handler(void) } #endif -#if CONFIG_PCI_OPTION_ROM_RUN_REALMODE -static int int15_handler(void) -{ - int res = 0; - - /* This int15 handler is Intel IGD. specific. Other chipsets need other - * handlers. The right way to do this is to move this handler code into - * the mainboard or northbridge code. - * TODO: completely move to mainboards / chipsets. - */ - switch (X86_EAX & 0xffff) { - /* And now Intel IGD code */ -#define BOOT_DISPLAY_DEFAULT 0 -#define BOOT_DISPLAY_CRT (1 << 0) -#define BOOT_DISPLAY_TV (1 << 1) -#define BOOT_DISPLAY_EFP (1 << 2) -#define BOOT_DISPLAY_LCD (1 << 3) -#define BOOT_DISPLAY_CRT2 (1 << 4) -#define BOOT_DISPLAY_TV2 (1 << 5) -#define BOOT_DISPLAY_EFP2 (1 << 6) -#define BOOT_DISPLAY_LCD2 (1 << 7) - case 0x5f35: - X86_EAX = 0x5f; - X86_ECX = BOOT_DISPLAY_DEFAULT; - res = 1; - break; - case 0x5f40: - X86_EAX = 0x5f; - X86_ECX = 3; // This is mainboard specific - printk(BIOS_DEBUG, "DISPLAY=%x\n", X86_ECX); - res = 1; - break; - default: - printk(BIOS_DEBUG, "Unknown INT15 function %04x!\n", - X86_EAX & 0xffff); - } - - return res; -} -#endif - #if DUMP_RUNTIME_REGISTERS static void dump_runtime_registers(void) { |