diff options
Diffstat (limited to 'src/mainboard/siemens/sitemp_g1p1')
-rw-r--r-- | src/mainboard/siemens/sitemp_g1p1/int15_func.c | 78 | ||||
-rw-r--r-- | src/mainboard/siemens/sitemp_g1p1/int15_func.h | 10 | ||||
-rw-r--r-- | src/mainboard/siemens/sitemp_g1p1/mainboard.c | 38 |
3 files changed, 62 insertions, 64 deletions
diff --git a/src/mainboard/siemens/sitemp_g1p1/int15_func.c b/src/mainboard/siemens/sitemp_g1p1/int15_func.c index f2455bee6c..b01a292411 100644 --- a/src/mainboard/siemens/sitemp_g1p1/int15_func.c +++ b/src/mainboard/siemens/sitemp_g1p1/int15_func.c @@ -32,11 +32,11 @@ static INT15_function_extensions __int15_func; /* System BIOS int15 function */ int sbios_INT15_handler(void) { - int res = -1; + int res = -1; - printk(BIOS_DEBUG, "System BIOS INT 15h\n"); + printk(BIOS_DEBUG, "System BIOS INT 15h\n"); - switch (X86_EAX & 0xffff) { + switch (X86_EAX & 0xffff) { #define BOOT_DISPLAY_DEFAULT 0 #define BOOT_DISPLAY_CRT (1 << 0) #define BOOT_DISPLAY_TV (1 << 1) @@ -57,45 +57,45 @@ int sbios_INT15_handler(void) printk(BIOS_DEBUG, "DISPLAY=%x\n", X86_ECX); res = 0; break; - case 0x4e08: - switch (X86_EBX & 0xff) { - case 0x00: - X86_EAX &= ~(0xff); - X86_EBX = (X86_EBX & ~(0xff)) | __int15_func.regs.func00_LCD_panel_id; - printk(BIOS_DEBUG, "DISPLAY = %x\n", X86_EBX & 0xff); - res = 0; - break; - case 0x02: - break; - case 0x05: - X86_EAX &= ~(0xff); - X86_EBX = (X86_EBX & ~(0xff)) | __int15_func.regs.func05_TV_standard; - printk(BIOS_DEBUG, "TV = %x\n", X86_EBX & 0xff); - res = 0; - break; - case 0x80: - X86_EAX &= ~(0xff); - X86_EBX &= ~(0xff); - printk(BIOS_DEBUG, "Integrated System Information = %x:%x\n", X86_EDX, X86_EDI); - vgainfo_addr = (X86_EDX * 16) + X86_EDI; - res = 0; - break; - case 0x89: - X86_EAX &= ~(0xff); - X86_EBX &= ~(0xff); - printk(BIOS_DEBUG, "Get supported display device information\n"); - res = 0; - break; - default: - break; - } - break; + case 0x4e08: + switch (X86_EBX & 0xff) { + case 0x00: + X86_EAX &= ~(0xff); + X86_EBX = (X86_EBX & ~(0xff)) | __int15_func.regs.func00_LCD_panel_id; + printk(BIOS_DEBUG, "DISPLAY = %x\n", X86_EBX & 0xff); + res = 0; + break; + case 0x02: + break; + case 0x05: + X86_EAX &= ~(0xff); + X86_EBX = (X86_EBX & ~(0xff)) | __int15_func.regs.func05_TV_standard; + printk(BIOS_DEBUG, "TV = %x\n", X86_EBX & 0xff); + res = 0; + break; + case 0x80: + X86_EAX &= ~(0xff); + X86_EBX &= ~(0xff); + printk(BIOS_DEBUG, "Integrated System Information = %x:%x\n", X86_EDX, X86_EDI); + vgainfo_addr = (X86_EDX * 16) + X86_EDI; + res = 0; + break; + case 0x89: + X86_EAX &= ~(0xff); + X86_EBX &= ~(0xff); + printk(BIOS_DEBUG, "Get supported display device information\n"); + res = 0; + break; + default: + break; + } + break; default: - printk(BIOS_DEBUG, "Unknown INT15 function %04x!\n", X86_EAX & 0xffff); + printk(BIOS_DEBUG, "Unknown INT15 function %04x!\n", X86_EAX & 0xffff); break; - } + } - return res; + return res; } /* Initialization VBIOS function extensions */ diff --git a/src/mainboard/siemens/sitemp_g1p1/int15_func.h b/src/mainboard/siemens/sitemp_g1p1/int15_func.h index 317436ea50..298b9d1690 100644 --- a/src/mainboard/siemens/sitemp_g1p1/int15_func.h +++ b/src/mainboard/siemens/sitemp_g1p1/int15_func.h @@ -18,14 +18,14 @@ */ typedef struct { - u8 func00_LCD_panel_id; // Callback Sub-Function 00h - Get LCD Panel ID - u8 func02_set_expansion; - u8 func05_TV_standard; // Callback Sub-Function 05h - Select Boot-up TV Standard - u16 func80_sysinfo_table; + u8 func00_LCD_panel_id; // Callback Sub-Function 00h - Get LCD Panel ID + u8 func02_set_expansion; + u8 func05_TV_standard; // Callback Sub-Function 05h - Select Boot-up TV Standard + u16 func80_sysinfo_table; }INT15_regs; typedef struct { - INT15_regs regs; + INT15_regs regs; }INT15_function_extensions; extern void install_INT15_function_extensions(INT15_function_extensions *); diff --git a/src/mainboard/siemens/sitemp_g1p1/mainboard.c b/src/mainboard/siemens/sitemp_g1p1/mainboard.c index 8c65972f31..736ef3431e 100644 --- a/src/mainboard/siemens/sitemp_g1p1/mainboard.c +++ b/src/mainboard/siemens/sitemp_g1p1/mainboard.c @@ -335,27 +335,25 @@ static void cable_detect(void) static const char * adt7475_detect( void ) { - int vendid, devid, devid2; - const char *name = NULL; - - vendid = adt7475_read_byte(REG_VENDID); - devid2 = adt7475_read_byte(REG_DEVID2); - if (vendid != 0x41 || /* Analog Devices */ - (devid2 & 0xf8) != 0x68) { - return name; - } + int vendid, devid, devid2; + const char *name = NULL; - devid = adt7475_read_byte(REG_DEVID); - if (devid == 0x73) - name = "adt7473"; - else if (devid == 0x75 && adt7475_address == 0x2e) - name = "adt7475"; - else if (devid == 0x76) - name = "adt7476"; - else if ((devid2 & 0xfc) == 0x6c) - name = "adt7490"; - - return name; + vendid = adt7475_read_byte(REG_VENDID); + devid2 = adt7475_read_byte(REG_DEVID2); + if (vendid != 0x41 || (devid2 & 0xf8) != 0x68) /* Analog Devices */ + return name; + + devid = adt7475_read_byte(REG_DEVID); + if (devid == 0x73) + name = "adt7473"; + else if (devid == 0x75 && adt7475_address == 0x2e) + name = "adt7475"; + else if (devid == 0x76) + name = "adt7476"; + else if ((devid2 & 0xfc) == 0x6c) + name = "adt7490"; + + return name; } // thermal control defaults |