blob: e74dc39e27731e9812998c9f7474cc95a6449fad [file] [log] [blame]
# eSPI configuration options
# Copyright (c) 2019 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
menuconfig ESPI
bool "ESPI Driver"
help
Enable ESPI Driver.
if ESPI
source "drivers/espi/Kconfig.xec"
source "drivers/espi/Kconfig.npcx"
source "drivers/espi/Kconfig.espi_emul"
module = ESPI
module-str = espi
source "subsys/logging/Kconfig.template.log_config"
config ESPI_SLAVE
bool "ESPI slave driver"
default y
help
Enables eSPI driver in slave mode.
config ESPI_INIT_PRIORITY
int "ESPI Controller driver initialization priority"
default 3
help
Driver initialization priority for eSPI driver.
config ESPI_PERIPHERAL_CHANNEL
bool "eSPI peripheral channel"
default y
help
eSPI Controller supports peripheral channel.
config ESPI_VWIRE_CHANNEL
bool "eSPI virtual wire channel"
default y
help
eSPI Controller supports virtual wires channel.
config ESPI_AUTOMATIC_WARNING_ACKNOWLEDGE
bool "Automatic acknowledge for eSPI HOST warnings"
default y
depends on ESPI_VWIRE_CHANNEL
depends on ESPI_SLAVE
help
Enable automatic acknowledge from eSPI slave towards eSPI host
whenever it receives suspend or reset warning.
If this is disabled, it means the app wants to be give the opportunity
to prepare for either HOST suspend or reset.
config ESPI_AUTOMATIC_BOOT_DONE_ACKNOWLEDGE
bool "Automatic acknowledge slave boot status"
default y
depends on ESPI_VWIRE_CHANNEL
depends on ESPI_SLAVE
help
Enable automatic acknowledge of slave basic configuration been
completed by sending a virtual wire message to the eSPI master.
This depends on SPI boot configuration. It could be either very
early in the flow after the VW channel is configured. Or it could be
until flash channel is configured.
config ESPI_OOB_CHANNEL
bool "eSPI Out-of-band channel"
help
eSPI Controller supports OOB channel.
config ESPI_FLASH_CHANNEL
bool "ESPI flash channel"
help
eSPI Controller supports flash channel.
if ESPI_PERIPHERAL_CHANNEL
config ESPI_PERIPHERAL_UART
bool "UART peripheral"
help
Enables UART over eSPI peripheral channel.
config ESPI_PERIPHERAL_8042_KBC
bool "8042 kbc peripheral"
help
Enables 8042 keyboard controller over eSPI peripheral channel.
config ESPI_PERIPHERAL_HOST_IO
bool "Host I/O peripheral"
help
Enables ACPI Host I/O over eSPI peripheral channel.
config ESPI_PERIPHERAL_HOST_IO_PVT
bool "Host I/O peripheral Private Channel"
help
Enables ACPI Host I/O over eSPI peripheral channel for private channel.
config ESPI_PERIPHERAL_HOST_IO_PVT_PORT_NUM
hex "Host I/O peripheral Private Channel"
depends on ESPI_PERIPHERAL_HOST_IO_PVT
default 0x06A00000
help
This is the port number used by the Host and EC to communicate over
the private channel. Please ensure the Host code is configured to use
the same port. Also, ensure the port number selected doesn't clash
with the existing ports (like 80, 92, 62 etc).
config ESPI_PERIPHERAL_DEBUG_PORT_80
bool "Debug Port 80 peripheral"
help
Enables debug Port 80 over eSPI peripheral channel.
config ESPI_PERIPHERAL_EC_HOST_CMD
bool "Host peripheral device support EC host command subsystem"
help
Enables Embedded Controller (EC) host command subsystem via eSPI
peripheral channel.
config ESPI_PERIPHERAL_ACPI_SHM_REGION
bool "Host peripheral device support shared memory region"
help
Enables shared memory region over eSPI peripheral channel to access
the ACPI response data.
config ESPI_PERIPHERAL_ACPI_SHM_REGION_PORT_NUM
hex "Host I/O peripheral port number for shared memory region"
depends on ESPI_PERIPHERAL_ACPI_SHM_REGION
default 0x0900
help
This is the port number used by the Host and EC to communicate over
the shared memory region to access the ACPI response data. Please
ensure the Host code is configured to use for accessing ACPI response
data. Also, ensure the port number selected doesn't clash with the
existing ports.
config ESPI_PERIPHERAL_CUSTOM_OPCODE
bool "Host peripheral device support customized opcode"
help
Enables opcode is customized for certain platforms such as Chromebook
and so on over eSPI peripheral channel.
config ESPI_PERIPHERAL_HOST_CMD_DATA_PORT_NUM
hex "Host I/O peripheral port number for ec host command data"
depends on ESPI_PERIPHERAL_EC_HOST_CMD
default 0x0200
help
This is the port number used by the Host and EC to communicate over
the eSPI peripheral channel to send EC host command data and its
result. Please ensure the Host code is configured to use for accessing
host command data and result. Also, ensure the port number selected
doesn't clash with the existing ports.
config ESPI_PERIPHERAL_HOST_CMD_PARAM_PORT_NUM
hex "Host I/O peripheral port number for ec host command parameters"
depends on ESPI_PERIPHERAL_EC_HOST_CMD
default 0x0800
help
This is the port number used by the Host and EC to communicate over
the eSPI peripheral channel to access the host command request and
response data. Please ensure the Host code is configured to use for
accessing these package data. Also, ensure the port number selected
doesn't clash with the existing ports.
endif # ESPI_PERIPHERAL_CHANNEL
config ESPI_OOB_CHANNEL_RX_ASYNC
bool "OOB host-initiated traffic handling"
depends on ESPI_OOB_CHANNEL
help
Enables asynchronous handling for host-initiated OOB traffic.
Otherwise OOB traffic is assumed to be always client-initiated.
endif # ESPI