On Tue, Apr 26, 2016 at 12:20 AM, Zheng Bao <fishbaoz@hotmail.com> wrote:
https://chromium.googlesource.com/chromiumos/platform/ec

Hi, Stafan & All,
I am trying to build a platform which uses AMD APU + EC.

My goal is let EC
1. give the power sequencing logic to APU
2. play as a generic EC which has features like keyboard, UART.

Currently, I don't have plan to boot chrome OS yet.

So I need you guys give me some advice.
Does chromeOS-EC meet my requirement?

Yes, it should. However there is only support for a limited number of ECs.

Is it OK if I don't boot chromeOS?

Yes. Most of the verified boot logic is in the host firmware (coreboot/depthcharge).

Is chromeOS-EC hard to master?

I'd say it's moderately difficult, but not bad. The mess of config #defines can be frustrating (ctags and grep are infinitely useful) but the design makes sense for something that is optimized for minimal code size and reusability among different ECs.

I don't know how easy/difficult it is compared to other EC firmwares. I suggest using ctags to walk thru the initialization code in common/main.c to see how initialization is done, and also choose a specific board (with your preferred EC) to study how GPIOs, interrupts, tasks, hooks, etc. are used.

Try posting to chromium-os-dev@chromium.org. There are several EC developers who read that list and can answer questions.

--
David Hendricks (dhendrix)
Systems Software Engineer, Google Inc.