diff options
author | Jack Rosenthal <jrosenth@chromium.org> | 2021-03-11 10:10:51 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-03-11 18:41:32 +0000 |
commit | dd26b58f8c23acd6e2277c32ff9ce7cc27b8b779 (patch) | |
tree | 0a0be0371ae631a9cda3073253967948f8aded15 /docs | |
parent | 3e50a435762808e9646f55b7f9fbe008ae261f9f (diff) | |
download | chrome-ec-dd26b58f8c23acd6e2277c32ff9ce7cc27b8b779.tar.gz |
docs: zephyr: add some documentation on PoC device bringup
Add documentation on how to bring up new Zephyr OS devices for devices
and platforms which already have a CrOS EC OS implementation.
Based this on Lazor bringup.
BUG=none
BRANCH=none
TEST=view in gitiles
Signed-off-by: Jack Rosenthal <jrosenth@chromium.org>
Change-Id: I1d7466bacdd35dc4c5f02e708e87ee748e097236
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2752794
Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'docs')
-rw-r--r-- | docs/zephyr_poc_device_bringup.md | 47 | ||||
-rw-r--r-- | docs/zephyr_shim.md | 3 |
2 files changed, 50 insertions, 0 deletions
diff --git a/docs/zephyr_poc_device_bringup.md b/docs/zephyr_poc_device_bringup.md new file mode 100644 index 0000000000..e61ca57e2c --- /dev/null +++ b/docs/zephyr_poc_device_bringup.md @@ -0,0 +1,47 @@ +# Zephyr Proof-of-Concept-Device Bringup + +It may be useful to build a Zephyr OS-based EC for a device which +already has a CrOS EC device build, for the purposes of demonstrating +the feasibility of Zephyr OS. + +This document is a work-in-progress list of tricks & tools that may be +useful to you. + +## Initial Bringup + +Initially, you'll want to get a basic UART functioning with nothing +but a shell and some basic console commands. + +An example CL to do this for Lazor can be found +[here](https://crrev.com/c/2749765). + +## Bringing up GPIOs + +After you have UART functioning, GPIOs can be an easy target to start +unblocking further features. + +The resultant CL for Lazor can be found [here](https://crrev.com/c/2749768). + +## Bring up Host Commands + +Set `CONFIG_PLATFORM_EC_HOSTCMD=y` and enable the appropriate +host-command interface for your platform (e.g., eSPI). + +An example CL for Lazor can be found [here](https://crrev.com/c/2749428). + +As long as you get this compiling that should be enough to move to the +next step. Further testing of the host command layer will require +power sequencing up and going. + +## Enabling some simple GPIO-based buttons and switches + +Next, you can: + +* [Add the lid switch](https://crrev.com/c/2749768) +* [Add the power button](https://crrev.com/c/2749426) +* [Add AC presence detection](https://crrev.com/c/2749428) + +## Power Sequencing + +TODO(jrosenth): add steps on enabling power sequencing and expand this +document. diff --git a/docs/zephyr_shim.md b/docs/zephyr_shim.md index 019ad1013d..1d71565c04 100644 --- a/docs/zephyr_shim.md +++ b/docs/zephyr_shim.md @@ -231,6 +231,9 @@ implemented for a Zephyr-only project, and filing bugs to create the appropriate device-tree and Kconfig equivalents before shimming this code. +See [Zephyr PoC device bringup](zephyr_poc_device_bringup.md) for more +information about bringing up proof-of-concept devices. + ## Configuration CrOS EC OS uses a special header `config.h`, which sets configuration |