On 25.11.2007 09:54, Andreas B. Mundt wrote:
To summarize:
Proprietary BIOS:
- Erasing the chip was tested, reading from the chip gives you all 0xFFs
after erase.
- Writing the chip after erase was tested, verify successful.
correct
Good.
LinuxBIOS:
- Erasing the chip fails, only a few bytes are changed (if any).
- Writing fails as well because erase failed.
correct
Did it ever work for you?
I need the exact LinuxBIOS revision you are using and superiotool dumps under proprietary BIOS and LinuxBIOS. I have a suspicion about the cause of the failure. Please state your exact board revision as well.
LB revision: 2985; board revision: 1.0
Thanks for the dumps. I believe the Super I/O data sheet is incomplete and/or wrong, so please try this patch against superiotool and dump again under LB and proprietary.
Regards, Carl-Daniel
Look for undocumented SIO6 registers in the IT8716F Super I/O. This is just a shot in the dark, if it does not yield the expected results, we have to dump and compare the whole chip. If that is not sufficient, we have to dump GPIO space (well, we should already do that, but we got by without it for a long time).
Signed-off-by: Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net
Index: ite.c =================================================================== --- ite.c (Revision 2986) +++ ite.c (Arbeitskopie) @@ -253,13 +253,13 @@ {0x25,0x26,0x27,0x28,0x29,0x2a,0x2c,0x60,0x61,0x62, 0x63,0x64,0x65,0x70,0x71,0x72,0x73,0x74,0xb0,0xb1, 0xb2,0xb3,0xb4,0xb5,0xb8,0xb9,0xba,0xbb,0xbc,0xbd, - 0xc0,0xc1,0xc2,0xc3,0xc4,0xc8,0xc9,0xca,0xcb,0xcc, + 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc8,0xc9,0xca,0xcb,0xcc,0xcd, 0xe0,0xe1,0xe2,0xe3,0xe4,0xf0,0xf1,0xf2,0xf3,0xf4, 0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,EOT}, {0x01,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x20,0x38,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x01,0x00,0x00,0x40,0x00,0x01,0x00,0x00,0x40,0x00, + 0x01,0x00,0x00,0x40,0x00,NANA,0x01,0x00,0x00,0x40,0x00,NANA, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,NANA,0x00,EOT}}, {0x8, NULL,