| .. _espi-sample: |
| |
| Enhanced Serial Peripheral Interface |
| #################################### |
| |
| Overview |
| ******** |
| |
| This sample demonstrates how to use the Enhanced Serial Peripheral Interface |
| (eSPI) API. |
| It shows how to configure and select eSPI controller capabilities as part of |
| a simple eSPI handshake that includes exchanging virtual wire packets. |
| |
| Standard platform signals are sent virtual wire packets over the bus. |
| Callbacks are registered that will write to the console indicating main |
| eSPI events and when a virtual wire is received. |
| |
| Building and Running |
| ******************** |
| |
| The sample can be built and executed on boards supporting eSPI. |
| Any pins required for minimum eSPI handshake should be configured. |
| Sample requires a correct harness and fixture setup. |
| Please connect an eSPI device to the testing board. |
| After that for the correct execution of that sample in twister, add into |
| boards's map-file next fixture settings:: |
| |
| - fixture: espi_device_connect |
| |
| Sample output |
| ============= |
| |
| .. code-block:: console |
| |
| Hello eSPI test! |
| eSPI test - I/O initialization...complete |
| eSPI slave configured successfully! |
| eSPI test - callbacks initialization... complete |
| eSPI test - callbacks registration... complete |
| eSPI test - Power initialization...complete |
| eSPI test - Handshake |
| eSPI BUS reset 0 |
| VW channel is ready |
| |
| PLT_RST changed 1 |
| 1st phase completed |
| 2nd phase completed |
| 3rd phase completed |
| |
| note:: The values shown above might differ. |