[coreboot] Embedded Controller (EC)

Shawn N shawnn at chromium.org
Fri Dec 8 18:14:29 CET 2017


On Fri, Dec 8, 2017 at 8:30 AM, Randall Spangler <rspangler at chromium.org> wrote:
> On Fri, Dec 8, 2017 at 5:57 AM, Аладышев Константин <aladyshev at nicevt.ru>
> wrote:
>>
>> 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?).
>
>
> Yes, we've used it for everything from the main EC to a USB-PD controller to
> a charger.  STM32 isn't suitable as the main EC for x86-based Chromebooks,
> of course, due to lack of eSPI / LPC.
>
>>
>> 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?
>
>
> I don't know.  But it supports several STM32 discovery boards, so you can
> tinker with it on ready-built hardware.

There are also schematics available for several misc. peripherals that
use stm32 + cros_ec, see twinkie for example:

https://www.chromium.org/chromium-os/twinkie

Unfortunately there are no schematics for actual Chromebook mainboards
publicly available. I looked into making some public, but there were
some overriding concerns.

>
>>
>> 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
>> motherboard?
>>
>> 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:
>> http://www.chromium.org/chromium-os/ec-development
>>
>> 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?
>> https://review.coreboot.org/cgit/coreboot.git/tree/src/ec
>>
>> Best regards,
>> Aladyshev Konstantin
>>
>>
>> --
>> coreboot mailing list: coreboot at coreboot.org
>> https://mail.coreboot.org/mailman/listinfo/coreboot
>>
>>
>>
>



More information about the coreboot mailing list