On 14.03.2008 15:34, joe@smittys.pointclark.net wrote:
Quoting Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net:
On 14.03.2008 01:21, joe@smittys.pointclark.net wrote:
I han't had a chance to test it yet but I think if I just modify flashchips.c to say this it may work:
{"M50FW080", ST_ID, ST_M50FW080, 1024, 64 * 1024, probe_jedec, erase_lhf00l04, write_lhf00l04},
I will test it and report back, with a patch hopefully?
That would be cool. However, considering Ron's comments, could you use erase_82802ab, write_82802ab instead? They are available again in latest flashrom and are functionally identical to the *_lhf00l04 functions.
Ahhhhhh:-( Here is what is happening with the above change:
[root@localhost ~]# flashrom -r test.rom Calibrating delay loop... OK. Found coreboot table at 0x00000530. Vendor ID: RCA, part ID: RM4100 Found chipset "Intel ICH4/ICH4-L", enabling flash write... OK. NOT FOUND RCA:RM4100 M50FW080 found at physical address 0xfff00000. Flash part is M50FW080 (1024 KB). Reading Flash...done [root@localhost ~]# flashrom -E Calibrating delay loop... OK. Found coreboot table at 0x00000530. Vendor ID: RCA, part ID: RM4100 Found chipset "Intel ICH4/ICH4-L", enabling flash write... OK. NOT FOUND RCA:RM4100 M50FW080 found at physical address 0xfff00000. Flash part is M50FW080 (1024 KB). Erasing flash chip total_size is 1048576; flash->page_size is 65536 Erase at 0xb7dcc000 Ready:BE RUN/FINISH:BE OK:PROG OK:VPP OK:PROG RUN/FINISH:UNLOCK:write protect is at 0x2 Segmentation fault
Two solutions: - Replace probe_jedec with probe_lhf00l04 or probe_82802ab. That will fix the segfault. No idea whether the flash chip will be detected with that mod. - Add map_flash_registers(flash); at the beginning of erase_82802ab or erase_lhf00l04 (the one you were calling).
Regards, Carl-Daniel