Hi flashrom team,
I'm trying to read BIOS on SPI flash on Intel Lynx Point LP Premium chipset. 16M SPI flash consists of two Winbond chips 8M (W25Q64.V).
When I use ich_spi_mode=auto flash is not detected. When I use ich_spi_mode=swseq detected only one 8M chip.
Can you help?
Denis
On Fri, 21 Mar 2014 14:00:10 +0200 Denis Turischev denis.turischev@compulab.co.il wrote:
Hi flashrom team,
I'm trying to read BIOS on SPI flash on Intel Lynx Point LP Premium chipset. 16M SPI flash consists of two Winbond chips 8M (W25Q64.V).
When I use ich_spi_mode=auto flash is not detected. When I use ich_spi_mode=swseq detected only one 8M chip.
Can you help?
Hi,
swseq does not support the two-chip configuration (which is a hardware limitation). In hwseq mode the software is not aware of any chips, hence using the -c parameter leads to no detection. Leave out the -c parameter and it will work... in general. Interestingly the flash descriptor seems to be bogus in this case though. It specifies a wrong density for the second chip, although the other addresses encoded in there are according to your observation of two 8MB chips... either the chipset is different or this is an error of the manu... oh, you ARE the manufacturer ;)
Please check if the setting of FLCOMP in the flash descriptor is according to the lynx point spi programming guide. I dont have access to it. Either FLCOMP is set wrong or lynx point is different and this is a bug in flashrom.
Hi Stefan,
Thanks for the answer.
Without -c parameter it doesn't work too, it detects "opaque" chip of size 8M + 512K = 8704K.
I've checked density of second chip is set to 8M. Seems hardware is ok, we actually boot from this 16M bios, also we have Intel production tools for Windos/DOS, they do read/write all 16M.
How can I help you to resolve this?
Denis
On 03/22/2014 03:10 AM, Stefan Tauner wrote:
On Fri, 21 Mar 2014 14:00:10 +0200 Denis Turischev denis.turischev@compulab.co.il wrote:
Hi flashrom team,
I'm trying to read BIOS on SPI flash on Intel Lynx Point LP Premium chipset. 16M SPI flash consists of two Winbond chips 8M (W25Q64.V).
When I use ich_spi_mode=auto flash is not detected. When I use ich_spi_mode=swseq detected only one 8M chip.
Can you help?
Hi,
swseq does not support the two-chip configuration (which is a hardware limitation). In hwseq mode the software is not aware of any chips, hence using the -c parameter leads to no detection. Leave out the -c parameter and it will work... in general. Interestingly the flash descriptor seems to be bogus in this case though. It specifies a wrong density for the second chip, although the other addresses encoded in there are according to your observation of two 8MB chips... either the chipset is different or this is an error of the manu... oh, you ARE the manufacturer ;)
Please check if the setting of FLCOMP in the flash descriptor is according to the lynx point spi programming guide. I dont have access to it. Either FLCOMP is set wrong or lynx point is different and this is a bug in flashrom.
On Mon, 24 Mar 2014 09:37:53 +0200 Denis Turischev denis.turischev@compulab.co.il wrote:
Hi Stefan,
Thanks for the answer.
Without -c parameter it doesn't work too, it detects "opaque" chip of size 8M + 512K = 8704K.
I've checked density of second chip is set to 8M. Seems hardware is ok, we actually boot from this 16M bios, also we have Intel production tools for Windos/DOS, they do read/write all 16M.
How can I help you to resolve this?
Hi,
I was able to obtain the respective SPI programming guide and apparently Intel has changed the definition of (at least) the FLCOMP descriptor register. This will require some changes in flashrom and I don't have time for that currently, sorry. It might be enough if you change the widths of the FLCOMP bitfields in ich_descriptors.h corresponding to the densities (comp1_density and comp2_density) to 4 (and the padding from 11 to 9) but there might be more differences.