[coreboot] [Patch] Flashrom: Add nforce2 chipset enable.
Uwe Hermann
uwe at hermann-uwe.de
Tue May 26 03:15:42 CEST 2009
On Mon, May 25, 2009 at 02:41:06PM +0200, Luc Verhaegen wrote:
> Add NForce2 chipset enable.
Thanks a lot! I tested it on an ASUS A7N8X Deluxe (rev. 2.00) and it
does indeed work fine (erase/write doesn't work before the patch).
(Sidenote: the PCB says "A7N8X rev 2.00" and doesn't mention "Deluxe",
but according to the websites and dmidecode it really is a Deluxe):
http://www.asus.com/product.aspx?P_ID=Uz3L1ioFuZkCI0VO
http://www.asus.com/product.aspx?P_ID=wAsRYm41KTp78MFC
(I have two SATA ports and two NIC ports, which hints at the Deluxe)
dmidecode also says:
Version: ASUS A7N8X2.0 Deluxe ACPI BIOS Rev 1007
> This should, hopefully, fix the ASUS A7N8X-E.
I'm not so sure here. The original wiki report was done by me I think,
but that was a report for some other board I had temporary access to,
I guess. I'd rather not touch the ASUS A7N8X-E Deluxe status for now, until
somebody has actually tested it on hardware.
However, please add the "ASUS A7N8X Deluxe" (note the missing "-E" in
the name) to the known-good-without-board-enables-required list
(boards_ok[]) in board_enable.c. I have verified that it works with your
nforce2 patch and does _not_ require further board-enables.
> While the other chipset enables for nvidia could potentially also work,
> this one, by not touching other bits, seems like the safest solution.
>
> Signed-off-by Luc Verhaegen <libv at skynet.be>
Acked-by: Uwe Hermann <uwe at hermann-uwe.de>
with the changed mentioned in this mail.
> Index: chipset_enable.c
> ===================================================================
> --- chipset_enable.c (revision 545)
> +++ chipset_enable.c (working copy)
> @@ -769,6 +769,19 @@
> return 0;
> }
>
> +static int enable_flash_nvidia_nforce2(struct pci_dev *dev, const char *name)
> +{
> + uint8_t tmp;
> +
> + pci_write_byte(dev, 0x92, 0);
> +
> + tmp = pci_read_byte(dev, 0x6d);
> + tmp |= 0x01;
> + pci_write_byte(dev, 0x6d, tmp);
> +
> + return 0;
Please use tabs for indentation as per coding guidelines.
> +}
> +
> static int enable_flash_ck804(struct pci_dev *dev, const char *name)
> {
> uint8_t old, new;
> @@ -981,6 +994,7 @@
> {0x8086, 0x122e, OK, "Intel", "PIIX", enable_flash_piix4},
> {0x10de, 0x0050, OK, "NVIDIA", "CK804", enable_flash_ck804}, /* LPC */
> {0x10de, 0x0051, OK, "NVIDIA", "CK804", enable_flash_ck804}, /* Pro */
> + {0x10de, 0x0060, NT, "NVIDIA", "NForce2", enable_flash_nvidia_nforce2},
^^
Can be "OK" now, as I tested this on hardware.
Hm, and maybe change "enable_flash_nvidia_nforce2" into
"enable_flash_nforce2" for brevity and consistency with
enable_flash_ck804 et al... (i.e. drop the "nvidia" part).
> /* Slave, should not be here, to fix known bug for A01. */
> {0x10de, 0x00d3, OK, "NVIDIA", "CK804", enable_flash_ck804},
> {0x10de, 0x0260, NT, "NVIDIA", "MCP51", enable_flash_ck804},
> Index: board_enable.c
> ===================================================================
> --- board_enable.c (revision 546)
> +++ board_enable.c (working copy)
> @@ -784,7 +784,6 @@
> const struct board_info boards_bad[] = {
> /* Verified non-working boards (for now). */
> { "Abit", "IS-10", },
> - { "ASUS", "A7N8X-E Deluxe", },
Please drop this hunk until we have a test report for that hardware.
Uwe.
--
http://www.hermann-uwe.de | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org
More information about the coreboot
mailing list