[coreboot] flashrom patch for VIA EPIA EN board
Corey Osgood
corey.osgood at gmail.com
Fri Jan 25 12:44:07 CET 2008
ZJ Laczik wrote:
> Hi,
>
> See attached.
>
> Thanks for the great effort - your software saved my motherboard!
>
> Cheers,
>
> John
Hi, Thanks for the patch, I'll try it out tomorrow to make sure it
doesn't break my board, and I hope Rudolf can do the same. In the
future, please use unified diffs (diff -u or just svn diff), much easier
to read. Your patch also needs a Signed-off-by: line before we can commit.
> diff flashrom/board_enable.c flashrom.ori/board_enable.c
> 27,34d26
> < /*
> < ** Change log:
> < **
> < ** 24/01/2008 ZJ Laczik <John at laczik dot org>
> < ** Added IDs for VIA EPIA EN boards
> < **
> < */
> <
> 189,197d180
> < static int board_via_epia_en(const char *name)
> < {
> < // actually, nothing needs to be done, WP is controlled by MB jumper
> <
> < printf("\nIf erasing/writing the flash ROM, make sure motherboard WP1 jumper is removed.\n");
> <
> < return 0;
> < }
> <
> 411,412d393
> < {0x1106, 0x0314, 0x1106, 0xaa08, 0x1106, 0x3227, 0x1106, 0xaa08,
> < NULL, NULL, "VIA EPIA EN", board_via_epia_en},
> diff flashrom/chipset_enable.c flashrom.ori/chipset_enable.c
> 26,33d25
> < /*
> < ** Change log:
> < **
> < ** 24/01/2008 ZJ Laczik <John at laczik dot org>
> < ** Created separate routine for VIA VT8237
> < **
> < */
> <
> 207,235d198
> < static int enable_flash_vt8237(struct pci_dev *dev, const char *name)
> < {
> < uint8_t val;
> <
> < /* ROM write enable */
> < val = pci_read_byte(dev, 0x40);
> < val |= 0x10;
> < pci_write_byte(dev, 0x40, val);
> <
> < if (pci_read_byte(dev, 0x40) != val) {
> < printf("\nWARNING: Failed to enable ROM Write on \"%s\"\n",
> < name);
> < return -1;
> < }
>
any reason not to just do enable_flash_vt823x here, instead of copying
the code?
> <
> < // Direct all memory access to LPC bus
> < // (otherwise flash chip registers are not visible)
> < val = pci_read_byte(dev, 0x59);
> < val &= ~0x80;
> < pci_write_byte(dev, 0x59, val);
>
Do you have the vt8235 datasheet? I think this works on it as well.
> <
> < if (pci_read_byte(dev, 0x59) != val) {
> < printf("\nWARNING: Failed to direct all memory access to LPC bus on \"%s\"\n",
> < name);
> < return -1;
> < }
> < return 0;
> < }
> <
> 529c492
> < {0x1106, 0x3227, "VT8237", enable_flash_vt8237},
> ---
>
>> > {0x1106, 0x3227, "VT8237", enable_flash_vt823x},
>>
More information about the coreboot
mailing list