123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188 |
- extern "C" {
- struct espi_emul;
- typedef int (*emul_espi_api_set_vw)(struct espi_emul *emul,
- enum espi_vwire_signal vw,
- uint8_t level);
- typedef int (*emul_espi_api_get_vw)(struct espi_emul *emul,
- enum espi_vwire_signal vw,
- uint8_t *level);
- typedef uintptr_t (*emul_espi_api_get_acpi_shm)(struct espi_emul *emul);
- typedef struct espi_emul *(*emul_find_emul)(const struct device *dev,
- unsigned int chipsel);
- typedef int (*emul_trigger_event)(const struct device *dev,
- struct espi_event *evt);
- struct emul_espi_device_api {
- emul_espi_api_set_vw set_vw;
- emul_espi_api_get_vw get_vw;
- emul_espi_api_get_acpi_shm get_acpi_shm;
- };
- struct espi_emul {
- sys_snode_t node;
-
- const struct emul_espi_device_api *api;
-
- uint16_t chipsel;
- };
- struct emul_espi_driver_api {
-
- struct espi_driver_api espi_api;
-
- emul_trigger_event trigger_event;
- emul_find_emul find_emul;
- };
- int espi_emul_register(const struct device *dev, const char *name,
- struct espi_emul *emul);
- int emul_espi_host_send_vw(const struct device *espi_dev,
- enum espi_vwire_signal vw, uint8_t level);
- int emul_espi_host_port80_write(const struct device *espi_dev, uint32_t data);
- uintptr_t emul_espi_host_get_acpi_shm(const struct device *espi_dev);
- }
|