Hello,
This patch allows the SiS 620 chipset to detect flash roms, and read
them fully (256k atleast). The information on what to do was read from
alldatasheet.com sis 5595 datasheet and uniflash 1.40 source, note
that i looked for only SiS620.
Also is a read success (with this patch of course, for this mb)
for an ASD AE29F2008, which detects as an Winbond W29C020C,
but should work with it's routines.
(UNIFLASH.TXT: Supported Flash Chips:
"*AE29F2008 = Winbond W29C020(C) | 256KB")
log here:
[EMAIL PROTECTED] flashrom]# ./flashrom -r flashrom_read.bin
Calibrating delay loop... OK.
No coreboot table found.
Found chipset "SiS5595", enabling flash write... OK.
Found chip "Winbond W29C020C" (256 KB) at physical address 0xfffc0000.
Reading Flash...done
[EMAIL PROTECTED] flashrom]# diff flashrom_read.bin ../uniflash_bios.bin
[EMAIL PROTECTED] flashrom]#
---
uniflash_bios.bin is a backup read with uniflash + freedos boot disk.
--
urjaman
Index: chipset_enable.c
===================================================================
--- chipset_enable.c (revision 3667)
+++ chipset_enable.c (working copy)
@@ -540,6 +540,17 @@
return -1;
}
+ /* Extended BIOS enable = 1, Lower BIOS Enable = 1 */
+ new = pci_read_byte(dev,0x40);
+ new &= 0xFB;
+ new |= 0x3;
+ pci_write_byte(dev,0x40,new);
+ newer = pci_read_byte(dev,0x40);
+ if (newer != new) {
+ printf("tried to set register 0x%x to 0x%x on %s failed (WARNING ONLY)\n", 0x40, new, name);
+ printf("Stuck at 0x%x\n", newer);
+ return -1;
+ }
return 0;
}
--
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot