diff options
-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 |