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