|  | # Microchip XEC ESPI configuration options | 
|  |  | 
|  | # Copyright (c) 2019 Intel Corporation | 
|  | # SPDX-License-Identifier: Apache-2.0 | 
|  |  | 
|  | config ESPI_XEC | 
|  | bool "XEC Microchip ESPI driver" | 
|  | default y | 
|  | depends on DT_HAS_MICROCHIP_XEC_ESPI_ENABLED | 
|  | select PINCTRL | 
|  | help | 
|  | Enable the Microchip XEC ESPI driver for MEC15xx family. | 
|  |  | 
|  | config ESPI_XEC_V2 | 
|  | bool "XEC Microchip ESPI V2 driver" | 
|  | default y | 
|  | depends on DT_HAS_MICROCHIP_XEC_ESPI_V2_ENABLED | 
|  | select PINCTRL | 
|  | help | 
|  | Enable the Microchip XEC ESPI driver for MEC172x series. | 
|  |  | 
|  | if ESPI_XEC || ESPI_XEC_V2 | 
|  |  | 
|  | config ESPI_OOB_CHANNEL | 
|  | default y | 
|  |  | 
|  | config ESPI_FLASH_CHANNEL | 
|  | default y | 
|  |  | 
|  | config ESPI_PERIPHERAL_HOST_IO | 
|  | default  y | 
|  |  | 
|  | config ESPI_PERIPHERAL_HOST_IO_PVT | 
|  | default  y | 
|  |  | 
|  | config ESPI_PERIPHERAL_DEBUG_PORT_80 | 
|  | default y | 
|  |  | 
|  | config ESPI_PERIPHERAL_UART | 
|  | default y | 
|  |  | 
|  | config ESPI_PERIPHERAL_UART_SOC_MAPPING | 
|  | int "SoC port exposed as logical eSPI UART" | 
|  | default 2 if SOC_SERIES_MEC15XX | 
|  | default 1 if SOC_SERIES_MEC172X | 
|  | depends on ESPI_PERIPHERAL_UART | 
|  | help | 
|  | This tells the driver to which SoC UART to direct the UART traffic | 
|  | send over eSPI from host. | 
|  |  | 
|  | config ESPI_OOB_BUFFER_SIZE | 
|  | int "eSPI OOB channel buffer size in bytes" | 
|  | default 128 | 
|  | depends on ESPI_OOB_CHANNEL | 
|  | help | 
|  | Use minimum RAM buffer size by default but allow applications to | 
|  | override the value. | 
|  | Maximum OOB payload is 73 bytes. | 
|  |  | 
|  | config ESPI_FLASH_BUFFER_SIZE | 
|  | int "eSPI Flash channel buffer size in bytes" | 
|  | default 256 | 
|  | depends on ESPI_FLASH_CHANNEL | 
|  | help | 
|  | Use maximum RAM buffer size defined by spec but allow applications | 
|  | to override if eSPI host doesn't support it. | 
|  |  | 
|  | config ESPI_TAF_XEC | 
|  | bool "XEC Microchip ESPI TAF driver" | 
|  | default y | 
|  | depends on SOC_SERIES_MEC15XX | 
|  | depends on DT_HAS_MICROCHIP_XEC_ESPI_SAF_ENABLED | 
|  | help | 
|  | Enable the Microchip XEC TAF ESPI driver for MEC15xx family. | 
|  |  | 
|  | config ESPI_TAF_XEC_V2 | 
|  | bool "XEC Microchip ESPI TAF V2 driver" | 
|  | default y | 
|  | depends on SOC_SERIES_MEC172X | 
|  | depends on DT_HAS_MICROCHIP_XEC_ESPI_SAF_V2_ENABLED | 
|  | help | 
|  | Enable the Microchip XEC TAF ESPI driver for MEC172x series. | 
|  |  | 
|  | endif #ESPI_XEC | 
|  |  | 
|  | if ESPI_XEC_V2 | 
|  |  | 
|  | config ESPI_XEC_PERIPHERAL_ACPI_SHD_MEM_SIZE | 
|  | int "Host I/O peripheral port size for shared memory in MEC172X series" | 
|  | depends on ESPI_XEC_V2 || ESPI_PERIPHERAL_ACPI_SHM_REGION | 
|  | default 256 | 
|  | help | 
|  | This is the port size used by the Host and EC to communicate over | 
|  | the shared memory region to return the ACPI response data. | 
|  |  | 
|  | config ESPI_XEC_PERIPHERAL_HOST_CMD_PARAM_SIZE | 
|  | int "Host I/O peripheral port size for ec host command in MEC172X series" | 
|  | depends on ESPI_XEC_V2 || ESPI_PERIPHERAL_EC_HOST_CMD | 
|  | default 256 | 
|  | help | 
|  | This is the port size used by the Host and EC to communicate over | 
|  | the shared memory region to return the host command parameter data. | 
|  |  | 
|  | config ESPI_PERIPHERAL_8042_KBC | 
|  | default y | 
|  |  | 
|  | config ESPI_XEC_P80_MULTIBYTE | 
|  | bool "Host can write 1/2/4 bytes of Port80 data in a eSPI transaction" | 
|  | depends on ESPI_XEC_V2 && ESPI_PERIPHERAL_DEBUG_PORT_80 | 
|  | help | 
|  | EC can accept 1/2/4 bytes of Port 80 data written from the Host in an | 
|  | eSPI transaction. | 
|  |  | 
|  | if ESPI_PERIPHERAL_CHANNEL | 
|  |  | 
|  | config ESPI_PERIPHERAL_XEC_MAILBOX | 
|  | bool "SoC Mailbox over eSPI" | 
|  | help | 
|  | Enable a 32 byte mailbox interface accessible via Host I/O over the | 
|  | ESPI Peripheral Channel. | 
|  |  | 
|  | config ESPI_PERIPHERAL_XEC_ACPI_EC2 | 
|  | bool "SoC ACPI EC 2 over eSPI" | 
|  | help | 
|  | Enable ACPI EC2 interface accessible via Host I/O over the | 
|  | ESPI Peripheral Channel. | 
|  |  | 
|  | config ESPI_PERIPHERAL_XEC_ACPI_EC3 | 
|  | bool "SoC ACPI EC 3 over eSPI" | 
|  | help | 
|  | Enable ACPI EC3 interface accessible via Host I/O over the | 
|  | ESPI Peripheral Channel. | 
|  |  | 
|  | config ESPI_PERIPHERAL_XEC_ACPI_EC4 | 
|  | bool "SoC ACPI EC 4 over eSPI" | 
|  | help | 
|  | Enable ACPI EC4 interface accessible via Host I/O over the | 
|  | ESPI Peripheral Channel. | 
|  |  | 
|  | config ESPI_PERIPHERAL_XEC_ACPI_PM1 | 
|  | bool "SoC ACPI PM1 over eSPI" | 
|  | help | 
|  | Enable ACPI PM1 interface accessible via Host I/O over the | 
|  | ESPI Peripheral Channel. | 
|  |  | 
|  | config ESPI_PERIPHERAL_XEC_EMI0 | 
|  | bool "SoC EMI 0 over eSPI" | 
|  | help | 
|  | Enable EMI 0 interface accessible via Host I/O over the | 
|  | ESPI Peripheral Channel. | 
|  |  | 
|  | config ESPI_PERIPHERAL_XEC_EMI1 | 
|  | bool "SoC EMI 1 over eSPI" | 
|  | help | 
|  | Enable EMI 1 interface accessible via Host I/O over the | 
|  | ESPI Peripheral Channel. | 
|  |  | 
|  | config ESPI_PERIPHERAL_XEC_EMI2 | 
|  | bool "SoC EMI 2 over eSPI" | 
|  | help | 
|  | Enable EMI 2 interface accessible via Host I/O over the | 
|  | ESPI Peripheral Channel. | 
|  |  | 
|  | endif #ESPI_PERIPHERAL_CHANNEL | 
|  |  | 
|  | config ESPI_TAF | 
|  | bool "XEC Microchip ESPI TAF driver" | 
|  | depends on ESPI_FLASH_CHANNEL | 
|  | help | 
|  | Enable Target Attached Flash eSPI driver. TAF depends upon ESPI XEC driver | 
|  | and flash channel. | 
|  |  | 
|  | config ESPI_TAF_INIT_PRIORITY | 
|  | int "ESPI TAF driver initialization priority" | 
|  | depends on ESPI_TAF | 
|  | default 4 | 
|  | help | 
|  | Driver initialization priority for ESPI TAF driver. | 
|  |  | 
|  | config ESPI_PERIPHERAL_ACPI_EC_IBF_EVT_DATA | 
|  | bool "Read ACPI EC Event Data in IBF ISR" | 
|  | depends on ESPI_PERIPHERAL_CHANNEL | 
|  | help | 
|  | Enable reading event data in ACPI EC IBF ISR. This is used in OS | 
|  | environment where application expects IBF ISR to read data and pass | 
|  | to callback. | 
|  |  | 
|  | endif #ESPI_XEC_V2 | 
|  |  | 
|  | if ESPI_XEC_V2 && ESPI_PERIPHERAL_8042_KBC | 
|  |  | 
|  | config ESPI_PERIPHERAL_KBC_IBF_EVT_DATA | 
|  | bool "KBC event data format in IBF" | 
|  | help | 
|  | Enable espi_evt_data_kbc format for encoding event in KBC IBF ISR | 
|  |  | 
|  | config ESPI_PERIPHERAL_KBC_OBE_CBK | 
|  | bool "KBC OBE Callback" | 
|  | help | 
|  | Enable KBC OBE callback from OBE ISR | 
|  |  | 
|  | endif #ESPI_XEC_V2 && ESPI_PERIPHERAL_8042_KBC |