zephyr/samples/drivers/espi
Jay Vasanth e56721b8f0 dts: gpio: Add Microchip XEC GPIO macros for use in device tree
Microchip XEC devices specify GPIO pin using octal numbering and
organize pins in banks of 32. Chip documentation does not use
bank naming rather naming each pin by its octal number. This has
led to the developer having to calculate the bit position of a pin
in its 32-bit bank when a specifying the pin for GPIO usage. We
created a set of defines for all possible GPIO pins that specify
the DT GPIO bank name used in the chip level DTSI files and the
bit position in that bank.

Signed-off-by: Jay Vasanth <jay.vasanth@microchip.com>
2023-03-02 13:52:03 +01:00
..
boards dts: gpio: Add Microchip XEC GPIO macros for use in device tree 2023-03-02 13:52:03 +01:00
dts/bindings yamllint: indentation: fix files in samples/ 2023-01-04 14:23:53 +01:00
src samples: drivers: espi: Re-enable eSPI SAF for MEC152x board 2022-09-29 14:59:32 +00:00
CMakeLists.txt
Kconfig
prj_mec15xxevb_assy6853.conf samples: drivers: espi: Re-enable eSPI SAF for MEC152x board 2022-09-29 14:59:32 +00:00
prj_mec1501modular_assy6885.conf
prj_npcx7m6fb_evb.conf driver: espi: npcx: add the controller attached flash sharing API 2022-09-09 16:30:51 -04:00
prj_npcx9m6f_evb.conf driver: espi: npcx: add the controller attached flash sharing API 2022-09-09 16:30:51 -04:00
prj.conf
README.rst
sample.yaml yamllint: indentation: fix files in samples/ 2023-01-04 14:23:53 +01:00

.. _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.