Embedded controller
The wiki is being retired!
Documentation is now handled by the same processes we use for code: Add something to the Documentation/ directory in the coreboot repo, and it will be rendered to https://doc.coreboot.org/. Contributions welcome!
The embedded controller is a small microcontroller typically used in laptops for various purposes.
Renesas M3885/M3886
These ECs are supported by coreboot. There are several versions, with flash and with mask roms. Only the flash versions are update-able. These ECs are Family 740 based. A development environment including compiler and simulator is available from Renesas.
ENE KB3310/KB3910/KB3920
Very common ECs in netbooks are the KB3310, KB3910 and KB3920 from ENE Technology. The ENE ECs are 8051 based.
The Quanta IL1 reference design seems to use ENE3310 controller. The q1d25i.rom was examined. The EC code is on 0xFFF00000 on One Mini A110. Its 64KB big HOLE0.ROM.
More discussion and info on the ENE EC's:
- ENE KB3700 datasheet.
- eeeUser Discussion
- Memory map of ENE KB3310
- 8051 simulator
- OpenEC Firmware
- OpenEC Project
- Example code that makes use of the KB3310's "Index IO" access functions.
Renesas H8
Some ECs are H8 based.
Embedded controller table
Vendor | Model | Type | Architecture | Datasheet(s) | Comments |
---|---|---|---|---|---|
ENE | KB910 | EC | ? | ? | — |
ENE | KB3310 | EC | ? | ? | — |
ENE | KB3700 | EC | 8bit, 8051 core | [1] | — |
ENE | KB3910 | EC | 8bit, 8051 core | ? | — |
ENE | KB3920 | EC | 8bit, 8051 core | ? | — |
ENE | KB3925 | EC | 8bit, 8051 core | ? | — |
ENE | KB3926 | EC | 8bit, 8051 core | ? | — |
Fujitsu | MB90378 | EC | 16bit, F2MC-16LX family | [2] | — |
ITE | IT8500 | EC & Super I/O | ? | ? | Source: [3] |
ITE | IT8502E | EC & Super I/O | ? | ? | Source: [4] |
ITE | IT8510E/TE/G | EC & Super I/O | 8bit, 8032 core (8051 compatible) | ? | — |
ITE | IT8511E/TE/G | EC & Super I/O | 8bit, 8032 core (8051 compatible) | ? | — |
ITE | IT8512E/F/G | EC & Super I/O | 8bit, 8032 core (8051 compatible) | ? | — |
ITE | IT8513E/F/G | EC & Super I/O | 8bit, 8032 core (8051 compatible) | ? | — |
ITE | IT8516 | EC & Super I/O | ? | ? | Source: [5] |
ITE | IT8301E | External GPIO chip | ? | ? | — |
Nuvoton | 87541V | EC | 16 bit, CR16B core | ? | — |
Nuvoton | PC975513 | EC | 16 bit, CR16B core | ? | — |
Nuvoton | W83L951DG/FG4 | EC | 8 bit, 8051 core | ? | — |
Nuvoton | W83L951ADG/AFG4 | EC | 8 bit, 8051 core | ? | — |
Nuvoton | WPC8765L/WPC8769L4 | EC | 16 bit, ? core | ? | — |
Nuvoton | WPC8763L4 | EC | 16 bit, CR16CPlus core | ? | — |
Nuvoton | WPCE775x4 | EC | 16 bit, CR16CPlus core | ? | — |
Nuvoton | NPCE78nx | EC | ? | ? | — |
Renesas | M388591 | EC | 8bit, 740 family | [6] | — |
Renesas | M38867M8A1 | EC | 8bit, 740 family | [7] | — |
Renesas | H8S/2117R2 | EC | 16 bit, H8S family | ? | Source: [8] |
Renesas | H8S/2161B2 | EC | 16 bit, H8S family | ? | Source: [9], [10], [11], [12] |
Renesas | H8S/2169AV 2 | EC | 16 bit, H8S family | ? | Source: [13], [14], [15] |
Renesas | H8S/64F3169ATE102 | EC | 16 bit, H8S family | ? | — |
NSC | PC87570 | EC & Super I/O | ? | ? | — |
SMSC | FDC37N958FR | EC & Super I/O | ? | ? | — |
SMSC | LPC47N252 | EC & Super I/O | ? | ? | — |
SMSC | MEC1308 | EC | 8bit, 8051 core | ? | — |
SMSC | KBC1122/KBC1122P | EC & Super I/O | 8bit, 8051 core | ? | — |
SST | SST79LF008 | EC & Super I/O & BIOS flash | 8bit, 8051 core | ? | — |
1 Previously Mitsubishi, now Renesas.
2 Previously Hitachi, now Renesas.
3 Previously National (NSC), then Winbond, now Nuvoton.
4 Previously Winbond, now Nuvoton.
Embedded controller photos
-
SMSC FDC37N958FR
-
SMSC LPC47N252
Toolchains
TODO
![]() |
I, the copyright holder of this work, hereby release it into the public domain. This applies worldwide.
In case this is not legally possible: |