Proposed communication protocol between Host and EC for 1.75

Richard A. Smith richard at
Tue May 25 10:38:00 EDT 2010

On 05/24/2010 11:03 PM, Mitch Bradley wrote:
> Another protocol idea is at

The SPI interface on the CPU is shared with the SPI boot flash.  So on 
boot the CPU has to be master and then switch over to slave when the 
boot it finished.  To use this setup  we will also have to negotiate a 
master slave switch when the CPU wants to change mfg data or when it 
wants to update the firmware.

Also how does this protocol sync? Meaning how do you guarantee that a 
channel byte is really getting read as a channel byte?

The alternate protocol with CPU as master is very similar to what EnE 
proposed to me while over in Taiwan.  While trying to accommodate the 
exchanges that need more than 4 bytes I moved on to something else.

We have:
- EC wakeup command which needs 5 bytes
- Battery ID command which has a 8 byte payload
- Advanced mouse data. from what pgf tells me synaptics has an advanced 
mode with data > 3 bytes and that we should eventually switch to this mode.

There's also the possibility that the EC might need to handle the 
incoming touchscreen data depending on how that all shakes out.

I also wonder about sync here too.  If you become un-synced how do you 

Richard A. Smith  <richard at>
One Laptop per Child

More information about the Devel mailing list