The GIGABYTE GA-7ZM has a maximum decode size (parallel chips) of 512 KB
Add this information to the new field in the board-enable table. We match the
board via two sets of PCI IDs. However, as we don't need a board-enable
function for this board (it works out of the box; well, at least if you remove
the JP9 jumper on the board), change the code to allow NULL as value for
the board-enable function. There will likely be more boards in the future where
we want to record a maximum decode size but which don't need a board-enable.
This is hardware-tested on the GIGABYTE GA-7ZM by successfully writing a 512KB
image of random bytes to a chip in this board.
Corresponding to flashrom svn r885.
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Sean Nelson <audiohacked@gmail.com>
diff --git a/board_enable.c b/board_enable.c
index e535d4f..8ba0768 100644
--- a/board_enable.c
+++ b/board_enable.c
@@ -1208,6 +1208,7 @@
{0x1106, 0x3177, 0x1106, 0x3177, 0x1106, 0x3059, 0x1695, 0x3005, NULL, NULL, NULL, "EPoX", "EP-8K5A2", 0, w836xx_memw_enable_2e},
{0x10EC, 0x8139, 0x1695, 0x9001, 0x11C1, 0x5811, 0x1695, 0x9015, NULL, NULL, NULL, "EPoX", "EP-8RDA3+", 0, nvidia_mcp_gpio31_raise},
{0x8086, 0x7110, 0, 0, 0x8086, 0x7190, 0, 0, NULL, "epox", "ep-bx3", "EPoX", "EP-BX3", 0, board_epox_ep_bx3},
+ {0x1106, 0x0686, 0x1106, 0x0686, 0x1106, 0x3058, 0x1458, 0xa000, NULL, NULL, NULL, "GIGABYTE", "GA-7ZM", 512, NULL},
{0x1039, 0x0761, 0, 0, 0x10EC, 0x8168, 0, 0, NULL, "gigabyte", "2761gxdk", "GIGABYTE", "GA-2761GXDK", 0, it87xx_probe_spi_flash},
{0x1106, 0x3227, 0x1458, 0x5001, 0x10ec, 0x8139, 0x1458, 0xe000, NULL, NULL, NULL, "GIGABYTE", "GA-7VT600", 0, it8705f_write_enable_2e},
{0x10DE, 0x0050, 0x1458, 0x0C11, 0x10DE, 0x005e, 0x1458, 0x5000, NULL, NULL, NULL, "GIGABYTE", "GA-K8N-SLI", 0, nvidia_mcp_gpio21_raise},
@@ -1359,14 +1360,17 @@
max_rom_decode.parallel =
board->max_rom_decode_parallel * 1024;
- printf("Disabling flash write protection for board \"%s %s\"... ",
- board->vendor_name, board->board_name);
+ if (board->enable != NULL) {
+ printf("Disabling flash write protection for "
+ "board \"%s %s\"... ", board->vendor_name,
+ board->board_name);
- ret = board->enable(board->vendor_name);
- if (ret)
- printf("FAILED!\n");
- else
- printf("OK.\n");
+ ret = board->enable(board->vendor_name);
+ if (ret)
+ printf("FAILED!\n");
+ else
+ printf("OK.\n");
+ }
}
return ret;