summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mainboard/intel/emeraldlake2/mainboard.c66
-rw-r--r--src/mainboard/kontron/986lcd-m/mainboard.c57
-rw-r--r--src/mainboard/roda/rk886ex/mainboard.c57
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)
{