diff options
-rw-r--r-- | util/flashrom/board_enable.c | 464 |
1 files changed, 43 insertions, 421 deletions
diff --git a/util/flashrom/board_enable.c b/util/flashrom/board_enable.c index 9e1ab505e6..48092e5303 100644 --- a/util/flashrom/board_enable.c +++ b/util/flashrom/board_enable.c @@ -618,9 +618,18 @@ static int board_msi_kt4v(const char *name) * the basis of subsystem/card IDs. As not every vendor handles * subsystem/card IDs in a sane manner. * - * Keep the second set NULLed if it should be ignored. + * Keep the second set NULLed if it should be ignored. Keep the subsystem IDs + * NULLed if they don't identify the board fully. But please take care to + * provide an as complete set of pci ids as possible; autodetection is the + * preferred behaviour and we would like to make sure that matches are unique. * - * Keep the subsystem IDs NULLed if they don't identify the board fully. + * The coreboot ids are used two fold. When running with a coreboot firmware, + * the ids uniquely matches the coreboot board identification string. When a + * legacy bios is installed and when autodetection is not possible, these ids + * can be used to identify the board through the -m command line argument. + * + * When a board is identified through its coreboot ids (in both cases), the + * main pci ids are still required to match, as a safeguard. */ struct board_pciid_enable { /* Any device, but make it sensible, like the ISA bridge. */ @@ -629,7 +638,7 @@ struct board_pciid_enable { uint16_t first_card_vendor; uint16_t first_card_device; - /* Any device, but make it sensible, like + /* Any device, but make it sensible, like * the host bridge. May be NULL. */ uint16_t second_vendor; @@ -646,425 +655,38 @@ struct board_pciid_enable { }; struct board_pciid_enable board_pciid_enables[] = { - { - .first_vendor = 0x1106, - .first_device = 0x0571, - .first_card_vendor = 0x1462, - .first_card_device = 0x7120, - .second_vendor = 0x0000, - .second_device = 0x0000, - .second_card_vendor = 0x0000, - .second_card_device = 0x0000, - .lb_vendor = "msi", - .lb_part = "kt4v", - .name = "MSI KT4V", - .enable = board_msi_kt4v, - }, - { - .first_vendor = 0x8086, - .first_device = 0x1a30, - .first_card_vendor = 0x1043, - .first_card_device = 0x8070, - .second_vendor = 0x8086, - .second_device = 0x244b, - .second_card_vendor = 0x1043, - .second_card_device = 0x8028, - .lb_vendor = NULL, - .lb_part = NULL, - .name = "ASUS P4B266", - .enable = ich2_gpio22_raise, - }, - { - .first_vendor = 0x10de, - .first_device = 0x0360, - .first_card_vendor = 0x0000, - .first_card_device = 0x0000, - .second_vendor = 0x0000, - .second_device = 0x0000, - .second_card_vendor = 0x0000, - .second_card_device = 0x0000, - .lb_vendor = "gigabyte", - .lb_part = "m57sli", - .name = "GIGABYTE GA-M57SLI-S4", - .enable = it87xx_probe_spi_flash, - }, - { - .first_vendor = 0x10de, - .first_device = 0x03e0, - .first_card_vendor = 0x0000, - .first_card_device = 0x0000, - .second_vendor = 0x0000, - .second_device = 0x0000, - .second_card_vendor = 0x0000, - .second_card_device = 0x0000, - .lb_vendor = "gigabyte", - .lb_part = "m61p", - .name = "GIGABYTE GA-M61P-S3", - .enable = it87xx_probe_spi_flash, - }, - { - .first_vendor = 0x1002, - .first_device = 0x4398, - .first_card_vendor = 0x1458, - .first_card_device = 0x5004, - .second_vendor = 0x1002, - .second_device = 0x4385, - .second_card_vendor = 0x1458, - .second_card_device = 0x4385, - .lb_vendor = NULL, - .lb_part = NULL, - .name = "GIGABYTE GA-MA78G-DS3H", - .enable = it87xx_probe_spi_flash, - }, - { - .first_vendor = 0x1039, - .first_device = 0x0761, - .first_card_vendor = 0x0000, - .first_card_device = 0x0000, - .second_vendor = 0x0000, - .second_device = 0x0000, - .second_card_vendor = 0x0000, - .second_card_device = 0x0000, - .lb_vendor = "gigabyte", - .lb_part = "2761gxdk", - .name = "GIGABYTE GA-2761GXDK", - .enable = it87xx_probe_spi_flash, - }, - { - .first_vendor = 0x1022, - .first_device = 0x7468, - .first_card_vendor = 0x0000, - .first_card_device = 0x0000, - .second_vendor = 0x0000, - .second_device = 0x0000, - .second_card_vendor = 0x0000, - .second_card_device = 0x0000, - .lb_vendor = "iwill", - .lb_part = "dk8_htx", - .name = "IWILL DK8-HTX", - .enable = w83627hf_gpio24_raise_2e, - }, - { - .first_vendor = 0x10de, - .first_device = 0x005e, - .first_card_vendor = 0x0000, - .first_card_device = 0x0000, - .second_vendor = 0x0000, - .second_device = 0x0000, - .second_card_vendor = 0x0000, - .second_card_device = 0x0000, - .lb_vendor = "msi", - .lb_part = "k8n-neo3", - .name = "MSI K8N Neo3", - .enable = w83627thf_gpio4_4_raise_4e, - }, - { - .first_vendor = 0x1022, - .first_device = 0x746B, - .first_card_vendor = 0x1022, - .first_card_device = 0x36C0, - .second_vendor = 0x0000, - .second_device = 0x0000, - .second_card_vendor = 0x0000, - .second_card_device = 0x0000, - .lb_vendor = "AGAMI", - .lb_part = "ARUMA", - .name = "agami Aruma", - .enable = w83627hf_gpio24_raise_2e, - }, - { - .first_vendor = 0x1106, - .first_device = 0x3177, - .first_card_vendor = 0x1106, - .first_card_device = 0xAA01, - .second_vendor = 0x1106, - .second_device = 0x3123, - .second_card_vendor = 0x1106, - .second_card_device = 0xAA01, - .lb_vendor = NULL, - .lb_part = NULL, - .name = "VIA EPIA M/MII/...", - .enable = board_via_epia_m, - }, - { - .first_vendor = 0x1106, - .first_device = 0x3177, - .first_card_vendor = 0x1043, - .first_card_device = 0x80A1, - .second_vendor = 0x1106, - .second_device = 0x3205, - .second_card_vendor = 0x1043, - .second_card_device = 0x8118, - .lb_vendor = NULL, - .lb_part = NULL, - .name = "ASUS A7V8-MX SE", - .enable = board_asus_a7v8x_mx, - }, - { - .first_vendor = 0x1106, - .first_device = 0x3227, - .first_card_vendor = 0x1106, - .first_card_device = 0xAA01, - .second_vendor = 0x1106, - .second_device = 0x0259, - .second_card_vendor = 0x1106, - .second_card_device = 0xAA01, - .lb_vendor = NULL, - .lb_part = NULL, - .name = "VIA EPIA SP", - .enable = board_via_epia_sp, - }, - { - .first_vendor = 0x1106, - .first_device = 0x0314, - .first_card_vendor = 0x1106, - .first_card_device = 0xaa08, - .second_vendor = 0x1106, - .second_device = 0x3227, - .second_card_vendor = 0x1106, - .second_card_device = 0xAA08, - .lb_vendor = NULL, - .lb_part = NULL, - .name = "VIA EPIA-CN", - .enable = board_via_epia_sp, - }, - { - .first_vendor = 0x8086, - .first_device = 0x1076, - .first_card_vendor = 0x8086, - .first_card_device = 0x1176, - .second_vendor = 0x1106, - .second_device = 0x3059, - .second_card_vendor = 0x10f1, - .second_card_device = 0x2498, - .lb_vendor = NULL, - .lb_part = NULL, - .name = "Tyan Tomcat K7M", - .enable = board_asus_a7v8x_mx, - }, - { - .first_vendor = 0x10B9, - .first_device = 0x1541, - .first_card_vendor = 0x0000, - .first_card_device = 0x0000, - .second_vendor = 0x10B9, - .second_device = 0x1533, - .second_card_vendor = 0x0000, - .second_card_device = 0x0000, - .lb_vendor = "asus", - .lb_part = "p5a", - .name = "ASUS P5A", - .enable = board_asus_p5a, - }, - { - .first_vendor = 0x1166, - .first_device = 0x0205, - .first_card_vendor = 0x1014, - .first_card_device = 0x0347, - .second_vendor = 0x0000, - .second_device = 0x0000, - .second_card_vendor = 0x0000, - .second_card_device = 0x0000, - .lb_vendor = "ibm", - .lb_part = "x3455", - .name = "IBM x3455", - .enable = board_ibm_x3455, - }, - { - .first_vendor = 0x8086, - .first_device = 0x7110, - .first_card_vendor = 0x0000, - .first_card_device = 0x0000, - .second_vendor = 0x8086, - .second_device = 0x7190, - .second_card_vendor = 0x0000, - .second_card_device = 0x0000, - .lb_vendor = "epox", - .lb_part = "ep-bx3", - .name = "EPoX EP-BX3", - .enable = board_epox_ep_bx3, - }, - { - .first_vendor = 0x8086, - .first_device = 0x1130, - .first_card_vendor = 0x0000, - .first_card_device = 0x0000, - .second_vendor = 0x105a, - .second_device = 0x0d30, - .second_card_vendor = 0x105a, - .second_card_device = 0x4d33, - .lb_vendor = "acorp", - .lb_part = "6a815epd", - .name = "Acorp 6A815EPD", - .enable = board_acorp_6a815epd, - }, - { - .first_vendor = 0x1022, - .first_device = 0x2090, - .first_card_vendor = 0x0000, - .first_card_device = 0x0000, - .second_vendor = 0x1022, - .second_device = 0x2080, - .second_card_vendor = 0x0000, - .second_card_device = 0x0000, - .lb_vendor = "artecgroup", - .lb_part = "dbe61", - .name = "Artec Group DBE61", - .enable = board_artecgroup_dbe6x, - }, - { - .first_vendor = 0x1022, - .first_device = 0x2090, - .first_card_vendor = 0x0000, - .first_card_device = 0x0000, - .second_vendor = 0x1022, - .second_device = 0x2080, - .second_card_vendor = 0x0000, - .second_card_device = 0x0000, - .lb_vendor = "artecgroup", - .lb_part = "dbe62", - .name = "Artec Group DBE62", - .enable = board_artecgroup_dbe6x, - }, + /* first pci-id set [4], second pci-id set [4], coreboot id [2], boardname, flash enable */ + {0x1106, 0x0571, 0x1462, 0x7120, 0, 0, 0, 0, "msi", "kt4v", "MSI KT4V", board_msi_kt4v}, + {0x8086, 0x1a30, 0x1043, 0x8070, 0x8086, 0x244b, 0x1043, 0x8028, NULL, NULL, "ASUS P4B266", ich2_gpio22_raise}, + {0x10de, 0x0360, 0, 0, 0, 0, 0, 0, "gigabyte", "m57sli", "GIGABYTE GA-M57SLI-S4", it87xx_probe_spi_flash}, + {0x10de, 0x03e0, 0, 0, 0, 0, 0, 0, "gigabyte", "m61p", "GIGABYTE GA-M61P-S3", it87xx_probe_spi_flash}, + {0x1002, 0x4398, 0x1458, 0x5004, 0x1002, 0x4385, 0x1458, 0x4385, NULL, NULL, "GIGABYTE GA-MA78G-DS3H", it87xx_probe_spi_flash}, + {0x1039, 0x0761, 0, 0, 0, 0, 0, 0, "gigabyte", "2761gxdk", "GIGABYTE GA-2761GXDK", it87xx_probe_spi_flash}, + {0x1022, 0x7468, 0, 0, 0, 0, 0, 0, "iwill", "dk8_htx", "IWILL DK8-HTX", w83627hf_gpio24_raise_2e}, + {0x10de, 0x005e, 0, 0, 0, 0, 0, 0, "msi", "k8n-neo3", "MSI K8N Neo3", w83627thf_gpio4_4_raise_4e}, + {0x1022, 0x746B, 0x1022, 0x36C0, 0, 0, 0, 0, "AGAMI", "ARUMA", "agami Aruma", w83627hf_gpio24_raise_2e}, + {0x1106, 0x3177, 0x1106, 0xAA01, 0x1106, 0x3123, 0x1106, 0xAA01, NULL, NULL, "VIA EPIA M/MII/...", board_via_epia_m}, + {0x1106, 0x3177, 0x1043, 0x80A1, 0x1106, 0x3205, 0x1043, 0x8118, NULL, NULL, "ASUS A7V8-MX SE", board_asus_a7v8x_mx}, + {0x1106, 0x3227, 0x1106, 0xAA01, 0x1106, 0x0259, 0x1106, 0xAA01, NULL, NULL, "VIA EPIA SP", board_via_epia_sp}, + {0x1106, 0x0314, 0x1106, 0xaa08, 0x1106, 0x3227, 0x1106, 0xAA08, NULL, NULL, "VIA EPIA-CN", board_via_epia_sp}, + {0x8086, 0x1076, 0x8086, 0x1176, 0x1106, 0x3059, 0x10f1, 0x2498, NULL, NULL, "Tyan Tomcat K7M", board_asus_a7v8x_mx}, + {0x10B9, 0x1541, 0, 0, 0x10B9, 0x1533, 0, 0, "asus", "p5a", "ASUS P5A", board_asus_p5a}, + {0x1166, 0x0205, 0x1014, 0x0347, 0, 0, 0, 0, "ibm", "x3455", "IBM x3455", board_ibm_x3455}, + {0x8086, 0x7110, 0, 0, 0x8086, 0x7190, 0, 0, "epox", "ep-bx3", "EPoX EP-BX3", board_epox_ep_bx3}, + {0x8086, 0x1130, 0, 0, 0x105a, 0x0d30, 0x105a, 0x4d33, "acorp", "6a815epd", "Acorp 6A815EPD", board_acorp_6a815epd}, + {0x1022, 0x2090, 0, 0, 0x1022, 0x2080, 0, 0, "artecgroup", "dbe61", "Artec Group DBE61", board_artecgroup_dbe6x}, + {0x1022, 0x2090, 0, 0, 0x1022, 0x2080, 0, 0, "artecgroup", "dbe62", "Artec Group DBE62", board_artecgroup_dbe6x}, /* Note: There are >= 2 version of the Kontron 986LCD-M/mITX! */ - { - .first_vendor = 0x8086, - .first_device = 0x27b8, - .first_card_vendor = 0x0000, - .first_card_device = 0x0000, - .second_vendor = 0x0000, - .second_device = 0x0000, - .second_card_vendor = 0x0000, - .second_card_device = 0x0000, - .lb_vendor = "kontron", - .lb_part = "986lcd-m", - .name = "Kontron 986LCD-M", - .enable = board_kontron_986lcd_m, - }, - { - .first_vendor = 0x10ec, - .first_device = 0x8168, - .first_card_vendor = 0x10ec, - .first_card_device = 0x8168, - .second_vendor = 0x104c, - .second_device = 0x8023, - .second_card_vendor = 0x104c, - .second_card_device = 0x8019, - .lb_vendor = "kontron", - .lb_part = "986lcd-m", - .name = "Kontron 986LCD-M", - .enable = board_kontron_986lcd_m, - }, - { - .first_vendor = 0x1106, - .first_device = 0x3149, - .first_card_vendor = 0x1565, - .first_card_device = 0x3206, - .second_vendor = 0x1106, - .second_device = 0x3344, - .second_card_vendor = 0x1565, - .second_card_device = 0x1202, - .lb_vendor = NULL, - .lb_part = NULL, - .name = "BioStar P4M80-M4", - .enable = board_biostar_p4m80_m4, - }, - { - .first_vendor = 0x1106, - .first_device = 0x3227, - .first_card_vendor = 0x1458, - .first_card_device = 0x5001, - .second_vendor = 0x10ec, - .second_device = 0x8139, - .second_card_vendor = 0x1458, - .second_card_device = 0xe000, - .lb_vendor = NULL, - .lb_part = NULL, - .name = "GIGABYTE GA-7VT600", - .enable = board_biostar_p4m80_m4, - }, - { - .first_vendor = 0x1106, - .first_device = 0x3149, - .first_card_vendor = 0x1462, - .first_card_device = 0x7094, - .second_vendor = 0x10ec, - .second_device = 0x8167, - .second_card_vendor = 0x1462, - .second_card_device = 0x094c, - .lb_vendor = NULL, - .lb_part = NULL, - .name = "MSI K8T Neo2", - .enable = w83627thf_gpio4_4_raise_2e, - }, - { - .first_vendor = 0x1039, - .first_device = 0x5513, - .first_card_vendor = 0x8086, - .first_card_device = 0xd61f, - .second_vendor = 0x1039, - .second_device = 0x6330, - .second_card_vendor = 0x8086, - .second_card_device = 0xd61f, - .lb_vendor = NULL, - .lb_part = NULL, - .name = "Intel Desktop Board D201GLY", - .enable = wbsio_check_for_spi, - }, - { - .first_vendor = 0x8086, - .first_device = 0x2658, - .first_card_vendor = 0x1462, - .first_card_device = 0x7046, - .second_vendor = 0x1106, - .second_device = 0x3044, - .second_card_vendor = 0x1462, - .second_card_device = 0x046d, - .lb_vendor = NULL, - .lb_part = NULL, - .name = "MSI MS-7046", - .enable = ich6_gpio19_raise, - }, - { - .first_vendor = 0x1166, - .first_device = 0x0223, - .first_card_vendor = 0x103c, - .first_card_device = 0x320d, - .second_vendor = 0x102b, - .second_device = 0x0522, - .second_card_vendor = 0x103c, - .second_card_device = 0x31fa, - .lb_vendor = "hp", - .lb_part = "dl145_g3", - .name = "HP DL145 G3", - .enable = board_hp_dl145_g3_enable, - }, - { - .first_vendor = 0x1106, - .first_device = 0x5337, - .first_card_vendor = 0x1458, - .first_card_device = 0xb003, - .second_vendor = 0x1106, - .second_device = 0x287e, - .second_card_vendor = 0x1106, - .second_card_device = 0x337e, - .lb_vendor = "via", - .lb_part = "pc3500g", - .name = "VIA PC3500G", - .enable = it87xx_probe_spi_flash, - }, - { - .first_vendor = 0, - .first_device = 0, - .first_card_vendor = 0, - .first_card_device = 0, - .second_vendor = 0, - .second_device = 0, - .second_card_vendor = 0, - .second_card_device = 0, - .lb_vendor = NULL, - .lb_part = NULL, - } /* Keep this */ + {0x8086, 0x27b8, 0, 0, 0, 0, 0, 0, "kontron", "986lcd-m", "Kontron 986LCD-M", board_kontron_986lcd_m}, + {0x10ec, 0x8168, 0x10ec, 0x8168, 0x104c, 0x8023, 0x104c, 0x8019, "kontron", "986lcd-m", "Kontron 986LCD-M", board_kontron_986lcd_m}, + {0x1106, 0x3149, 0x1565, 0x3206, 0x1106, 0x3344, 0x1565, 0x1202, NULL, NULL, "BioStar P4M80-M4", board_biostar_p4m80_m4}, + {0x1106, 0x3227, 0x1458, 0x5001, 0x10ec, 0x8139, 0x1458, 0xe000, NULL, NULL, "GIGABYTE GA-7VT600", board_biostar_p4m80_m4}, + {0x1106, 0x3149, 0x1462, 0x7094, 0x10ec, 0x8167, 0x1462, 0x094c, NULL, NULL, "MSI K8T Neo2", w83627thf_gpio4_4_raise_2e}, + {0x1039, 0x5513, 0x8086, 0xd61f, 0x1039, 0x6330, 0x8086, 0xd61f, NULL, NULL, "Intel D201GLY", wbsio_check_for_spi}, + {0x8086, 0x2658, 0x1462, 0x7046, 0x1106, 0x3044, 0x1462, 0x046d, NULL, NULL, "MSI MS-7046", ich6_gpio19_raise}, + {0x1166, 0x0223, 0x103c, 0x320d, 0x102b, 0x0522, 0x103c, 0x31fa, "hp", "dl145_g3", "HP DL145 G3", board_hp_dl145_g3_enable}, + {0x1106, 0x5337, 0x1458, 0xb003, 0x1106, 0x287e, 0x1106, 0x337e, "via", "pc3500g", "VIA PC3500G", it87xx_probe_spi_flash}, + { 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL}, /* end marker */ }; void print_supported_boards(void) |