summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorJack Rosenthal <jrosenth@chromium.org>2021-03-11 10:10:51 -0700
committerCommit Bot <commit-bot@chromium.org>2021-03-11 18:41:32 +0000
commitdd26b58f8c23acd6e2277c32ff9ce7cc27b8b779 (patch)
tree0a0be0371ae631a9cda3073253967948f8aded15 /docs
parent3e50a435762808e9646f55b7f9fbe008ae261f9f (diff)
downloadchrome-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.md47
-rw-r--r--docs/zephyr_shim.md3
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