Zephyr Project API 3.7.0
A Scalable Open Source RTOS
|
Public APIs for the eSPI emulation drivers. More...
#include <zephyr/device.h>
#include <zephyr/drivers/emul.h>
#include <zephyr/drivers/espi.h>
#include <zephyr/sys/slist.h>
#include <zephyr/types.h>
Go to the source code of this file.
Data Structures | |
struct | emul_espi_device_api |
Definition of the eSPI device emulator API. More... | |
struct | espi_emul |
Node in a linked list of emulators for eSPI devices. More... | |
struct | emul_espi_driver_api |
Definition of the eSPI controller emulator API. More... | |
Macros | |
#define | EMUL_ESPI_HOST_CHIPSEL 0 |
Typedefs | |
typedef int(* | emul_espi_api_set_vw) (const struct emul *target, enum espi_vwire_signal vw, uint8_t level) |
Passes eSPI virtual wires set request (virtual wire packet) to the emulator. | |
typedef int(* | emul_espi_api_get_vw) (const struct emul *target, enum espi_vwire_signal vw, uint8_t *level) |
Passes eSPI virtual wires get request (virtual wire packet) to the emulator. | |
typedef struct espi_emul *(* | emul_find_emul) (const struct device *dev, unsigned int chipsel) |
Find an emulator present on a eSPI bus. | |
typedef int(* | emul_trigger_event) (const struct device *dev, struct espi_event *evt) |
Triggers an event on the emulator of eSPI controller side which causes calling specific callbacks. | |
Functions | |
int | espi_emul_register (const struct device *dev, struct espi_emul *emul) |
Register an emulated device on the controller. | |
int | emul_espi_host_send_vw (const struct device *espi_dev, enum espi_vwire_signal vw, uint8_t level) |
Sets the eSPI virtual wire on the host side, which will trigger a proper event(and callbacks) on the emulated eSPI controller. | |
int | emul_espi_host_port80_write (const struct device *espi_dev, uint32_t data) |
Perform port80 write on the emulated host side, which will trigger a proper event(and callbacks) on the emulated eSPI controller. | |
Public APIs for the eSPI emulation drivers.