I'm a little bit confused. When we say 'main EC' controller, do we mean ACPI EC controller? The one that provides special interface with EC_SC, EC_DATA registers as defined in ACPI spec. Cause my main purpose right now is to make standard OS-battery interface through embedded controller. And I’m looking for the simplest way to do it.
As I understand ‘chromeec’ projects describes all embedded controllers used in chromebooks and this includes as standard ACPI EC controllers, as special embedded controllers for things like USB Type-C to DP/HDMI/VGA adapter.
Are there any boards in 'chromeec' project that use STM32 as 'main EC'? Or STM32 is only used for other special things like USB Type-C to DP/HDMI/VGA adapter?
And is there any info document that describes all boards in ‘board’ catalog?
Best Regards,
Aladyshev Konstantin
From: rspangler@google.com [mailto:rspangler@google.com] On Behalf Of Randall Spangler Sent: Friday, December 08, 2017 7:30 PM To: Аладышев Константин Cc: Vadim Bendebury; Coreboot; Shawn N Subject: Re: [coreboot] Embedded Controller (EC)
On Fri, Dec 8, 2017 at 5:57 AM, Аладышев Константин aladyshev@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.
Best regards, Aladyshev Konstantin
From: rspangler@google.com [mailto:rspangler@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@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@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@coreboot.org https://mail.coreboot.org/mailman/listinfo/coreboot