From caf884ca8c1b171b0afb62689c3222c86b4b6e9e Mon Sep 17 00:00:00 2001 From: Luc Verhaegen Date: Mon, 20 Apr 2009 12:38:17 +0000 Subject: flashrom: board_enables: reconstruct table. This patch restores the pciid based board matching table. It makes this table readable and hackable again, and the only disadvantage is that the right margin is way beyond the rather dogmatic 80. All 0x0000 pci ids have been string replaced by 0 to more easily spot missing ids, and extra comments have been added to explain how the various entries are used. Signed-Off-By: Luc Verhaegen Acked-by: Peter Stuge git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4142 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- util/flashrom/board_enable.c | 464 ++++--------------------------------------- 1 file 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) -- cgit v1.2.3