Hi LinuxBIOS' hackers, I am trying to get a SST49LF160C (ID1=0xbf and ID2=0x4c) working on my MB (chipset VIA8237), but I get a strange error.
If the flash_probe (probe_jedec) attempt to detect flash more than 512KB it don't get the flash IDs.
Some time ago I see a Ron mail about MB can detect until 2MiB flash with no problem, but I don't know why it is not working them.
I added these lines to flashchips.c:
{"SST49LF160C", SST_ID, SST_49LF160C, NULL, 2048, 64 * 1024, probe_jedec, erase_chip_jedec, write_jedec, NULL},
Someone know why my MB doesn't detect flash it this size is more than 512MB?
Look to flashrom output:
diderot:/home/alan/LinuxBIOSv2/util/flashrom# ./flashrom -V Calibrating delay loop... Setting up microsecond timing loop 781M loops per second ok No LinuxBIOS table found. Enabling flash write on VT8235...OK Trying Am29F040B, 512 KB probe_29f040b: id1 0xbf, id2 0x4c Trying Am29F016D, 2048 KB probe_29f040b: id1 0xff, id2 0xff Trying At29C040A, 512 KB probe_jedec: id1 0xbf, id2 0x4c Trying AT49LH002, 256 KB probe_jedec: id1 0xbf, id2 0x4c Trying Mx29f002, 256 KB probe_29f002: id1 0xbf, id2 0x4c Trying SST29EE020A, 256 KB probe_jedec: id1 0xbf, id2 0x4c Trying SST28SF040A, 512 KB probe_28sf040: id1 0xbf, id2 0x4c Trying SST39SF020A, 256 KB probe_jedec: id1 0xbf, id2 0x4c Trying SST39VF020, 256 KB probe_jedec: id1 0xbf, id2 0x4c Trying SST49LF040B, 512 KB probe_jedec: id1 0xbf, id2 0x4c Trying SST49LF040, 512 KB probe_jedec: id1 0xbf, id2 0x4c Trying SST49LF080A, 1024 KB probe_jedec: id1 0xff, id2 0xff Trying SST49LF160C, 2048 KB probe_jedec: id1 0xff, id2 0xff Trying SST49LF002A/B, 256 KB probe_jedec: id1 0xbf, id2 0x4c Trying SST49LF003A/B, 384 KB probe_jedec: id1 0xbf, id2 0x4c Trying SST49LF004A/B, 512 KB probe_jedec: id1 0xbf, id2 0x4c Trying SST49LF008A, 1024 KB probe_jedec: id1 0xff, id2 0xff Trying Pm49FL004, 512 KB probe_jedec: id1 0xbf, id2 0x4c Trying W29C011, 128 KB probe_jedec: id1 0xbf, id2 0x4c Trying W29C020C, 256 KB probe_jedec: id1 0xbf, id2 0x4c Trying W49F002U, 256 KB probe_jedec: id1 0xbf, id2 0x4c Trying W39V040A, 512 KB probe_jedec: id1 0xbf, id2 0x4c Trying M29F040B, 512 KB probe_29f040b: id1 0xbf, id2 0x4c Trying M29F400BT, 512 KB probe_m29f400bt: id1 0xbf, id2 0xbf Trying 82802ab, 512 KB probe_82802ab: id1 0xbf, id2 0x4c Trying 82802ac, 1024 KB probe_82802ab: id1 0xff, id2 0xff Trying LHF00L04, 1024 KB probe_lhf00l04: id1 0xff, id2 0xff No EEPROM/flash device found. diderot:/home/alan/LinuxBIOSv2/util/flashrom#
Cheers,
On Tue, 2006-09-05 at 15:23 -0600, Alan Carvalho de Assis wrote:
Hi LinuxBIOS' hackers, I am trying to get a SST49LF160C (ID1=0xbf and ID2=0x4c) working on my MB (chipset VIA8237), but I get a strange error.
If the flash_probe (probe_jedec) attempt to detect flash more than 512KB it don't get the flash IDs.
Some time ago I see a Ron mail about MB can detect until 2MiB flash with no problem, but I don't know why it is not working them.
I added these lines to flashchips.c:
{"SST49LF160C", SST_ID, SST_49LF160C, NULL, 2048, 64 * 1024, probe_jedec, erase_chip_jedec, write_jedec, NULL},
Someone know why my MB doesn't detect flash it this size is more than 512MB?
There is some register in the chipset which control how large of the flash rom address are writable. Your mainboard probably only enabled 256kB of rom address so flash rom have problem working on a 512kB flash part.
Ollie
Hi Ollie,
On 9/5/06, ollie ollie@lanl.gov wrote:
There is some register in the chipset which control how large of the flash rom address are writable. Your mainboard probably only enabled 256kB of rom address so flash rom have problem working on a 512kB flash part.
Is possible to figure out it? Some idea how can I fix it?
Thank you,
Ollie
Alan
ollie wrote:
On Tue, 2006-09-05 at 15:23 -0600, Alan Carvalho de Assis wrote:
Hi LinuxBIOS' hackers, I am trying to get a SST49LF160C (ID1=0xbf and ID2=0x4c) working on my MB (chipset VIA8237), but I get a strange error.
If the flash_probe (probe_jedec) attempt to detect flash more than 512KB it don't get the flash IDs.
Some time ago I see a Ron mail about MB can detect until 2MiB flash with no problem, but I don't know why it is not working them.
I added these lines to flashchips.c:
{"SST49LF160C", SST_ID, SST_49LF160C, NULL, 2048, 64 * 1024, probe_jedec, erase_chip_jedec, write_jedec, NULL},
Someone know why my MB doesn't detect flash it this size is more than 512MB?
There is some register in the chipset which control how large of the flash rom address are writable. Your mainboard probably only enabled 256kB of rom address so flash rom have problem working on a 512kB flash part.
Ollie
You're probably going to need access to the VT8237 programming guide. You are going to run into issues with the VT8237 accessing address space with block locking registers in the SST49LF160C or SST49LF016C.
Are you sure the SST49LF160C follows jedec routines completely? I seem to recall the SST 16Mb parts vary some.
Bari
Hi Bari,
On 9/5/06, Bari Ari bari@onelabs.com wrote:
You're probably going to need access to the VT8237 programming guide.
I asked VIA for one VT8237 programming guide, but they don't supply me one.
You are going to run into issues with the VT8237 accessing address
space with block locking registers in the SST49LF160C or SST49LF016C.
Sure, the original MB flash part is 256KB, but I see it detect 512KB flashes too.
Are you sure the SST49LF160C follows jedec routines completely? I seem
to recall the SST 16Mb parts vary some.
Well, I am not a flash expert, but I don't see any warnning on SST49LF160C datashet.
Bari, do you know whether VT8237 can work with LinuxBIOS VT8235 code or not?
Stefan suggest me it maybe has just minor changes, as you has the VT8237 datasheet, can you please confirm it?
Bari
Cheers,
Alan
* Alan Carvalho de Assis acassis@gmail.com [060906 13:42]:
You are going to run into issues with the VT8237 accessing address space with block locking registers in the SST49LF160C or SST49LF016C.
Sure, the original MB flash part is 256KB, but I see it detect 512KB flashes too.
The LF160 is 2048KB, right? So on the VT8237 you see maximum 1/4 of the flash.
Well, I am not a flash expert, but I don't see any warnning on SST49LF160C datashet.
You need to compare it command per command with another Jedec chip to find out :-}
Stefan
Hi Stefan,
On 9/6/06, Stefan Reinauer stepan@coresystems.de wrote:
- Alan Carvalho de Assis acassis@gmail.com [060906 13:42]:
The LF160 is 2048KB, right? So on the VT8237 you see maximum 1/4 of the flash.
Yes, it is true.
You need to compare it command per command with another Jedec chip to
find out :-}
Do you can suggest one wich follow completly the jedec spec ?
Stefan
Alan
--
coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br. Tel.: +49 761 7668825 • Fax: +49 761 7664613 Email: info@coresystems.de • http://www.coresystems.de/
* Alan Carvalho de Assis acassis@gmail.com [060906 16:56]:
You need to compare it command per command with another Jedec chip to find out :-}
Do you can suggest one wich follow completly the jedec spec ?
SST49LF040A for example. This part is 512kbyte (4mbit)
Stefan Reinauer wrote:
- Alan Carvalho de Assis acassis@gmail.com [060906 13:42]:
You are going to run into issues with the VT8237 accessing address space with block locking registers in the SST49LF160C or SST49LF016C.
Sure, the original MB flash part is 256KB, but I see it detect 512KB flashes too.
The LF160 is 2048KB, right? So on the VT8237 you see maximum 1/4 of the flash.
The VT8237 has a 4MB FWH/LPC address range.
The SST 49LF devices have control registers located outside of the address range of the 8237.
There are work-arounds that require the programming guide.
Bari