diff options
Diffstat (limited to 'src/mainboard')
-rw-r--r-- | src/mainboard/intel/emeraldlake2/mainboard.c | 66 | ||||
-rw-r--r-- | src/mainboard/kontron/986lcd-m/mainboard.c | 57 | ||||
-rw-r--r-- | src/mainboard/roda/rk886ex/mainboard.c | 57 |
3 files changed, 26 insertions, 154 deletions
diff --git a/src/mainboard/intel/emeraldlake2/mainboard.c b/src/mainboard/intel/emeraldlake2/mainboard.c index f6fe405549..5d9e96a2a8 100644 --- a/src/mainboard/intel/emeraldlake2/mainboard.c +++ b/src/mainboard/intel/emeraldlake2/mainboard.c @@ -42,13 +42,13 @@ void mainboard_suspend_resume(void) outb(0xcb, 0xb2); } -#if defined(CONFIG_PCI_OPTION_ROM_RUN_REALMODE) && CONFIG_PCI_OPTION_ROM_RUN_REALMODE +#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN static int int15_handler(void) { int res=0; - printk(BIOS_DEBUG, "%s: INT15 function %04x!\n", - __func__, X86_EAX & 0xffff); + printk(BIOS_DEBUG, "%s: AX=%04x BX=%04x CX=%04x DX=%04x\n", + __func__, X86_AX, X86_BX, X86_CX, X86_DX); switch(X86_EAX & 0xffff) { case 0x5f34: @@ -140,66 +140,6 @@ static int int15_handler(void) } #endif -#if defined(CONFIG_PCI_OPTION_ROM_RUN_YABEL) && CONFIG_PCI_OPTION_ROM_RUN_YABEL -static int int15_handler(void) -{ - printk(BIOS_DEBUG, "%s: AX=%04x BX=%04x CX=%04x DX=%04x\n", - __func__, X86_AX, X86_BX, X86_CX, X86_DX); - - switch (X86_AX) { - case 0x5f34: - /* - * Set Panel Fitting Hook: - * bit 2 = Graphics Stretching - * bit 1 = Text Stretching - * bit 0 = Centering (do not set with bit1 or bit2) - */ - X86_AX = 0x005f; - X86_CX = 0x0001; - break; - case 0x5f35: - /* - * Boot Display Device Hook: - * bit 0 = CRT - * bit 1 = TV (eDP) * - * bit 2 = EFP * - * bit 3 = LFP - * bit 4 = CRT2 - * bit 5 = TV2 (eDP) * - * bit 6 = EFP2 * - * bit 7 = LFP2 - */ - X86_AX = 0x005f; - X86_CX = 0x0000; - break; - case 0x5f51: - /* - * Hook to select active LFP configuration: - * 00h = No LVDS, VBIOS does not enable LVDS - * 01h = Int-LVDS, LFP driven by integrated LVDS decoder - * 02h = SVDO-LVDS, LFP driven by SVDO decoder - * 03h = eDP, LFP Driven by Int-DisplayPort encoder - */ - X86_AX = 0x005f; - X86_CX = 3; - break; - case 0x5f70: - /* Unknown */ - X86_AX = 0x005f; - X86_CX = 0; - break; - default: - /* Interrupt was not handled */ - printk(BIOS_DEBUG, "Unknown INT15 function: 0x%04x\n", - X86_AX); - return 0; - } - - /* Interrupt handled */ - return 1; -} -#endif - /* Audio Setup */ extern const u32 * cim_verb_data; diff --git a/src/mainboard/kontron/986lcd-m/mainboard.c b/src/mainboard/kontron/986lcd-m/mainboard.c index e96cd2e145..061944ad82 100644 --- a/src/mainboard/kontron/986lcd-m/mainboard.c +++ b/src/mainboard/kontron/986lcd-m/mainboard.c @@ -27,9 +27,6 @@ #include <arch/io.h> #include <arch/interrupt.h> -#if CONFIG_PCI_OPTION_ROM_RUN_YABEL -static int int15_handler(void) -{ #define BOOT_DISPLAY_DEFAULT 0 #define BOOT_DISPLAY_CRT (1 << 0) #define BOOT_DISPLAY_TV (1 << 1) @@ -40,6 +37,14 @@ 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. + */ printk(BIOS_DEBUG, "%s: AX=%04x BX=%04x CX=%04x DX=%04x\n", __func__, X86_AX, X86_BX, X86_CX, X86_DX); @@ -49,12 +54,14 @@ static int int15_handler(void) X86_CL = BOOT_DISPLAY_CRT; break; case 0x5f40: /* Boot Panel Type */ - // M.x86.R_AX = 0x015f; // Supported but failed + // X86_AX = 0x015f; // Supported but failed X86_AX = 0x005f; // Success X86_CL = 3; // 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; } @@ -63,48 +70,6 @@ static int int15_handler(void) } #endif -#if defined(CONFIG_PCI_OPTION_ROM_RUN_REALMODE) && 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 - - /* Hardware Monitor */ static u16 hwm_base = 0xa00; 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) { |