[OLPC-devel] Software action items and status
Ronald G Minnich
rminnich at lanl.gov
Mon Jun 12 16:14:55 EDT 2006
Ray.Tseng at quantatw.com wrote:
> Jim,
>
>>4) Find out how to program serial flash part. (ray/ron)
>
>
> 1) We did not implement the user intervention (pressing space bar five secs) now, the SPI write enable is always active.
no problem.
> 2) The EC and BIOS share the same SPI ROM, please take steps to flash the binary.
no problem. Can you resend your latest EC binary. Also I assume that the
SPI at this point is 1 MBYTE?
> a) Before flash Utility try to update any data to flash part, flash utility must issue 0xD8 command to LPC I/O port 0x66(write), and wait I/O port 0x66(read) IBF(bit 1) cleared.
This support will be integrated into our program. Is this an OLPC board
issue or is this how the chipset works? Is there a data sheet for the
part that I can have?
> b)Then flash utility set the bit 0 of EC internal register [0xFF14] through Index I/O accessing... (0x381 is high address register, 0x382 is the low address register, 0x383 is the data register...)
ok
> c) Flash utility ERASE and PROGRAM SPI ROM
> d) After flash utility completes the flash action, flash utility just need to clear the Bit 0 of EC internal register [0xFF14] through Index I/O accessing...
thanks, this is very very useful info.
>
> void Before(void)
> {
> BYTE temp
> outportb(0x66, 0xD8); // issue PreReset command to EC
> while (inportb(0x66) & 0x02);
>
> // force KBC into Reset Mode
> outportb(0x381, 0xFF);
> outportb(0x382, 0x14);
> Temp = inport(0x383) | 0x01;
> outportb(0x383, Temp);
> }
>
> void After(void)
> {
> // KBC back to normal run mode.
> outportb(0x381, 0xFF);
> outportb(0x382, 0x14);
> Temp = inport(0x383) & ~(0x01);
> outportb(0x383, Temp);
> }
>
> Ray Tseng 6/12/06
ron
More information about the Devel
mailing list