From OLPC

Contents

Introduction

The XO-1 laptop uses a small micro-controller, an ENE KB3700 (Datasheet), to control the battery charging operation and perform other tasks associated with starting and stopping the laptop.

This Embedded Controller (EC) consists of a 8051 micro-controller, a dedicated LPC interface to communicate with the processor, and an SPI Flash ROM interface. The SPI Flash ROM supports two code segments, and a table of Manufacturing Data. The EC supports the Boot Hub Protocol, allowing the XO's main processor to boot from one of the code segments in the SPI Flash.

Details

The EC, implemented as a KB3700, has a paramount importance in controlling the XO when the CPU is not active. To do so, the KB3700 communicates with the CPU via the EC protocol over a physical LPC interface. For more information, see the Ec specification.

Source and Licensing

The firmware running on the XO-1's EC, while heavily modified and supported by OLPC, was originally written by two different companies. OLPC had no success convincing those companies to open source their code.

The OLPC community did work on OpenEC, an Open Source implementation of the XO-1's Embedded Controller firmware. It reached an early stage and was not functional.

The XO-1.75 and XO-4 embedded controller firmware is open source. See Firmware.