[coreboot] Embedded Controller (EC)

Аладышев Константин aladyshev at nicevt.ru
Fri Dec 8 14:57:42 CET 2017

Thanks for your answer!

I've looked more closely at Chromium Embedded Controller project and EC chips it supports. To my surprise 'chromeec' even supports ordinary STM32 controllers without ACPI EC registers (am I right?). So I think is it very important to do schematics as it is in Chromebooks to make use of this project. 

Is there any chance to find schematics for Chromebook boards, to get reference design of implementing ECs with ‘chromeec’ project? 

Best regards,
Aladyshev Konstantin

From: rspangler at google.com [mailto:rspangler at google.com] On Behalf Of Randall Spangler
Sent: Friday, December 01, 2017 7:02 PM
To: Vadim Bendebury
Cc: Аладышев Константин; Coreboot; Shawn N
Subject: Re: [coreboot] Embedded Controller (EC)

On Fri, Dec 1, 2017 at 6:32 AM, Vadim Bendebury <vbendeb at chromium.org> wrote:
[+cc a couple of guys who might have some advice in this respect]

On Fri, Dec 1, 2017 at 5:07 AM, Аладышев Константин <aladyshev at nicevt.ru> wrote:
Hello! I'm trying to understand, what is the easiest way today to integrate
EC to custom motherboard? What controller should I choose for new custom

1) First of all, are there any ECs on market that ship with embedded
firmware, where all you need to do is just a little bit of register
configuration (like SuperIO)? Or is it always like you need to write all
firmware by yourself? 

Most EC vendors that sell dedicated ECs also sell their SDK and source code, but it's not cheap.  So usually roll your own, hopefully based on an open design.
In that case what is the main difference between
ordinary microcontroller (for example STM32) and some controller marked by
vendor as EC?

Interfaces.  EC will have:
• Keyboard scanner
• eSPI / LPC for connecting to x86 SoC
• More I2C ports
(and in the old days, PECI and PS/2 ports).

2) How stable and flexible are projects about open EC firmware? Is it
possible to adapt these projects for my custom motherboard?

I'm talking about:
- Chromium Embedded Controller:

This is used on all current Chromebooks, so it's full-featured and stable.  We do tend to branch old boards, so if your motherboard has an old chipset on it you may need to look back in time to find support for it.

- Origami-EC: https://git.code.paulk.fr/gitweb/?p=origami-ec.git;a=summary

3) What is the current status of EC support from coreboot point of view?

Best regards,
Aladyshev Konstantin

coreboot mailing list: coreboot at coreboot.org

More information about the coreboot mailing list