Random notes/MCP SPI support
We can't support SPI flash on Nvidia chipsets (except SPI behind LPC/SPI translation) because we don't have the necessary docs for the SPI interface. There are three ways to solve the problem:
- Get docs from Nvidia. We have unofficial word that you either have to buy 100000 chipsets from them or work with a customer of theirs which buys 100000 chipsets to have a reasonable chance of getting programming information. And yes, we tried personal contacts in their software development group.
- Get Nvidia to contribute code. This might be easier because they don't have to give us docs for the SPI interface if they supply working code. Needs a compelling business reason for them (and AFAICS "it would be cool" or "it would improve Linux support" is not a valid business reason). We can provide skeleton code for them to fill in, reducing the amount of developer time they have to spend to a few (~2-6) hours.
- Reverse engineer the interface. This is what we're doing right now. Clean room techniques are being followed. If you're willing to test patches on your board, please contact us via IRC or mail. flashrom revision 902 (and later) has some debug code which could help.
Want to help?
Pick any mainboard with a chipset newer than nForce5 (MCP55). Download latest (at least svn revision 902) flashrom and run as root (lspci output as non-root is useless, and flashrom won't work)
flashrom -V lspci -nnvvvxxx superiotool -deV
and mail the output together with the exact name of the mainboard, a link to a BIOS update file (please don't send the BIOS update file itself) to email@example.com . In case superiotool is not installed, you can skip the superiotool output. Please use a subject which contains "MCP SPI".
Boards with SPI flash (unconfirmed, guessed from photo):
- Asus M2N-VM HDMI (nForce 630a)  
- Asus M2N-VM DVI (nForce 630a) 
- Asus M2N-MX SE (nForce 430), probably IT87 translation 
- Asus M2N68-VM (GeForce 7050) 
- Asus M2N68-AM SE2 (nForce 630a) 
- Asus M2N68-AM Plus (nForce 630a) 
- Asus M4N68T-M (nForce 630a) 
Boards with LPC flash (unconfirmed, guessed from photo):