Hi,
The attached patch adds board enable for the ASUS P4SC-E board. It does this by setting bits 3..2 of register 0x24 on the super i/o chip, while keeping bit 3 of register 0x23 set while manipulating the first register. I have no idea what this actually means since no public datasheet is available, but this is how the vendor BIOS does it.
Tested on a P4SC-E with SST 39SF020A flash. Probe, read, erase, write all work. Matching on NB/SB.
lspci/superio output: http://www.flashrom.org/pipermail/flashrom/2010-July/004090.html
The ITE IT8707F chip seems to have been manufactured exclusively for ASUS: http://lists.lm-sensors.org/pipermail/lm-sensors/2002-October/001260.html
In the past (before it's release) the IT8707F was listed on the ITE website: http://web.archive.org/web/20000510121435/http://www.ite.com.tw/productInfo/...
By looking through some ASUS manuals I have found that at least 17 ASUS boards is using this chip:
P4S133/-VM P4S333/-FX/-M/-VF/-VM P4S533/-E/-VM P4SC/-E/-EA ("Terminator P4" barebone series) P4SDR-VM P4SE/U2 P4SGL-VM
The vendor BIOS of these boards all use the same super i/o flash enable code described above.
The following boards additionally clears bit 6 of IDX F4, LDN 7 in the flash enabling routine: P4S133, P4S333, P4S533, P4S533-E, P4SE, P4SE/U2. (Not included in this patch since I don't own any of these.)
Many thanks to Reinder de Haan for help with reverse engineering this!
Signed-off-by: Mattias Mattsson vitplister@gmail.com
+static int it8707f_write_enable(uint8_t port) +{
- uint8_t tmp;
- w836xx_ext_enter(port);
- tmp = sio_read(port, 0x23);
- tmp |= 8;
Please consider (1 << 3) for better readability.
Acked-by: Uwe Hermann uwe@hermann-uwe.de
Uwe.
On Mon, Sep 13, 2010 at 20:29, Uwe Hermann uwe@hermann-uwe.de wrote:
+static int it8707f_write_enable(uint8_t port) +{
- uint8_t tmp;
- w836xx_ext_enter(port);
- tmp = sio_read(port, 0x23);
- tmp |= 8;
Please consider (1 << 3) for better readability.
Fixed. Also added some comments.
Acked-by: Uwe Hermann uwe@hermann-uwe.de
Thanks, r1161
-mattias