Zephyr API Documentation 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
mchp_xec_espi.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2026 Microchip Technology Inc.
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
15
16#ifndef INCLUDE_ZEPHYR_DRIVERS_ESPI_MCHP_XEC_ESPI_H_
17#define INCLUDE_ZEPHYR_DRIVERS_ESPI_MCHP_XEC_ESPI_H_
18
19#include <zephyr/drivers/espi.h>
20
21#ifdef CONFIG_ESPI_PERIPHERAL_XEC_MAILBOX
22
23#define MCHP_XEC_MAX_MAILBOX_INDEX 32
24
31#define MCHP_XEC_ESPI_PERIPHERAL_MAILBOX 0x100U
32
33enum mchp_xec_espi_pc_mbox_cmd_id {
34 MCHP_XEC_ESPI_PC_MBOX_CMD_ID_HOST_TO_EC = 0,
35 MCHP_XEC_ESPI_PC_MBOX_CMD_ID_EC_TO_HOST,
36 MCHP_XEC_ESPI_PC_MBOX_CMD_ID_SMI_SRC,
37 MCHP_XEC_ESPI_PC_MBOX_CMD_ID_SMI_MASK,
38 MCHP_XEC_ESPI_PC_MBOX_CMD_ID_MAX,
39};
40
41enum mchp_xec_espi_pc_mbox_isrc {
42 MCHP_XEC_ESPI_PC_MBOX_ISRC_EC = 0,
43 MCHP_XEC_ESPI_PC_MBOX_ISRC_SIRQ,
44 MCHP_XEC_ESPI_PC_MBOX_ISRC_SIRQ_SMI,
45 MCHP_XEC_ESPI_PC_MBOX_ISRC_MAX,
46};
47
58int mchp_xec_espi_pc_mailbox_get(const struct device *dev, uint8_t mbox_idx, uint8_t num_mboxes,
59 uint8_t *dest);
60
71int mchp_xec_espi_pc_mailbox_set(const struct device *dev, uint8_t mbox_idx, uint8_t num_mboxes,
72 const uint8_t *src);
73
82int mchp_xec_espi_pc_mailbox_get_all(const struct device *dev, uint32_t *dest);
83
92int mchp_xec_espi_pc_mailbox_set_all(const struct device *dev, const uint32_t *src);
93
104int mchp_xec_espi_pc_mailbox_cmd(const struct device *dev, enum mchp_xec_espi_pc_mbox_cmd_id cmd_id,
105 uint8_t cmd);
106
116int mchp_xec_espi_pc_mailbox_ictrl(const struct device *dev, enum mchp_xec_espi_pc_mbox_isrc id,
117 uint8_t enable);
118
119#endif /* CONFIG_ESPI_PERIPHERAL_XEC_MAILBOX */
120
121#endif /* INCLUDE_ZEPHYR_DRIVERS_ESPI_MCHP_XEC_ESPI_H_ */
Main header file for eSPI (Enhanced Serial Peripheral Interface) driver API.
static void cmd(uint32_t command)
Execute a display list command by co-processor engine.
Definition ft8xx_reference_api.h:153
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
Runtime device structure (in ROM) per driver instance.
Definition device.h:513