2019-11-01 13:45:29 +01:00
|
|
|
# eSPI configuration options
|
|
|
|
|
2019-05-02 07:11:22 +02:00
|
|
|
# Copyright (c) 2019 Intel Corporation
|
|
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
|
|
|
|
menuconfig ESPI
|
|
|
|
bool "ESPI Driver"
|
|
|
|
help
|
2019-10-18 20:00:01 +02:00
|
|
|
Enable ESPI Driver.
|
2019-05-02 07:11:22 +02:00
|
|
|
|
|
|
|
if ESPI
|
|
|
|
|
|
|
|
source "drivers/espi/Kconfig.xec"
|
|
|
|
|
2021-10-18 22:44:45 +02:00
|
|
|
source "drivers/espi/Kconfig.xec_v2"
|
|
|
|
|
2020-09-10 11:39:44 +02:00
|
|
|
source "drivers/espi/Kconfig.npcx"
|
|
|
|
|
2020-12-16 15:07:27 +01:00
|
|
|
source "drivers/espi/Kconfig.espi_emul"
|
|
|
|
|
2021-11-03 07:19:07 +01:00
|
|
|
source "drivers/espi/Kconfig.it8xxx2"
|
|
|
|
|
2019-05-02 07:11:22 +02:00
|
|
|
module = ESPI
|
|
|
|
module-str = espi
|
|
|
|
source "subsys/logging/Kconfig.template.log_config"
|
|
|
|
|
|
|
|
config ESPI_SLAVE
|
|
|
|
bool "ESPI slave driver"
|
|
|
|
default y
|
|
|
|
help
|
2019-10-18 20:00:01 +02:00
|
|
|
Enables eSPI driver in slave mode.
|
2019-05-02 07:11:22 +02:00
|
|
|
|
|
|
|
config ESPI_INIT_PRIORITY
|
2020-01-25 02:39:57 +01:00
|
|
|
int "ESPI Controller driver initialization priority"
|
2019-05-02 07:11:22 +02:00
|
|
|
default 3
|
|
|
|
help
|
2020-01-25 02:39:57 +01:00
|
|
|
Driver initialization priority for eSPI driver.
|
2019-05-02 07:11:22 +02:00
|
|
|
|
|
|
|
config ESPI_PERIPHERAL_CHANNEL
|
|
|
|
bool "eSPI peripheral channel"
|
|
|
|
default y
|
|
|
|
help
|
2019-10-18 20:00:01 +02:00
|
|
|
eSPI Controller supports peripheral channel.
|
2019-05-02 07:11:22 +02:00
|
|
|
|
|
|
|
config ESPI_VWIRE_CHANNEL
|
|
|
|
bool "eSPI virtual wire channel"
|
|
|
|
default y
|
|
|
|
help
|
2019-10-18 20:00:01 +02:00
|
|
|
eSPI Controller supports virtual wires channel.
|
2019-05-02 07:11:22 +02:00
|
|
|
|
2020-01-25 00:00:41 +01:00
|
|
|
config ESPI_AUTOMATIC_WARNING_ACKNOWLEDGE
|
|
|
|
bool "Automatic acknowledge for eSPI HOST warnings"
|
|
|
|
default y
|
kconfig: Replace some single-symbol 'if's with 'depends on'
I think people might be reading differences into 'if' and 'depends on'
that aren't there, like maybe 'if' being needed to "hide" a symbol,
while 'depends on' just adds a dependency.
There are no differences between 'if' and 'depends on'. 'if' is just a
shorthand for 'depends on'. They work the same when it comes to creating
implicit menus too.
The way symbols get "hidden" is through their dependencies not being
satisfied ('if'/'depends on' get copied up as a dependency on the
prompt).
Since 'if' and 'depends on' are the same, an 'if' with just a single
symbol in it can be replaced with a 'depends on'. IMO, it's best to
avoid 'if' there as a style choice too, because it confuses people into
thinking there's deep Kconfig magic going on that requires 'if'.
Going for 'depends on' can also remove some nested 'if's, which
generates nicer symbol information and docs, because nested 'if's really
are so simple/dumb that they just add the dependencies from both 'if's
to all symbols within.
Replace a bunch of single-symbol 'if's with 'depends on' to despam the
Kconfig files a bit and make it clearer how things work. Also do some
other minor related dependency refactoring.
The replacement isn't complete. Will fix up the rest later. Splitting it
a bit to make it more manageable.
(Everything above is true for choices, menus, and comments as well.)
Detected by tweaking the Kconfiglib parsing code. It's impossible to
detect after parsing, because 'if' turns into 'depends on'.
Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2020-02-08 03:45:50 +01:00
|
|
|
depends on ESPI_VWIRE_CHANNEL
|
2020-08-27 23:29:31 +02:00
|
|
|
depends on ESPI_SLAVE
|
2020-01-25 00:00:41 +01:00
|
|
|
help
|
2020-08-27 23:29:31 +02:00
|
|
|
Enable automatic acknowledgent from eSPI slave towards eSPI host
|
2020-01-25 00:00:41 +01:00
|
|
|
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.
|
|
|
|
|
2020-08-27 23:29:31 +02:00
|
|
|
config ESPI_AUTOMATIC_BOOT_DONE_ACKNOWLEDGE
|
|
|
|
bool "Automatic acknowledge slave boot status"
|
|
|
|
default y
|
|
|
|
depends on ESPI_VWIRE_CHANNEL
|
|
|
|
depends on ESPI_SLAVE
|
|
|
|
help
|
2020-08-27 23:29:31 +02:00
|
|
|
Enable automatic acknowledgment from slave basic configuration been
|
2020-08-27 23:29:31 +02:00
|
|
|
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.
|
|
|
|
|
2019-05-02 07:11:22 +02:00
|
|
|
config ESPI_OOB_CHANNEL
|
|
|
|
bool "eSPI Out-of-band channel"
|
|
|
|
help
|
2019-10-18 20:00:01 +02:00
|
|
|
eSPI Controller supports OOB channel.
|
2019-05-02 07:11:22 +02:00
|
|
|
|
|
|
|
config ESPI_FLASH_CHANNEL
|
|
|
|
bool "ESPI flash channel"
|
|
|
|
help
|
2019-10-18 20:00:01 +02:00
|
|
|
eSPI Controller supports flash channel.
|
2019-05-02 07:11:22 +02:00
|
|
|
|
|
|
|
if ESPI_PERIPHERAL_CHANNEL
|
|
|
|
|
|
|
|
config ESPI_PERIPHERAL_UART
|
|
|
|
bool "UART peripheral"
|
|
|
|
help
|
2019-10-18 20:00:01 +02:00
|
|
|
Enables UART over eSPI peripheral channel.
|
2019-05-02 07:11:22 +02:00
|
|
|
|
2019-10-18 20:00:01 +02:00
|
|
|
config ESPI_PERIPHERAL_8042_KBC
|
|
|
|
bool "8042 kbc peripheral"
|
2019-05-02 07:11:22 +02:00
|
|
|
help
|
2019-10-18 20:00:01 +02:00
|
|
|
Enables 8042 keyboard controller over eSPI peripheral channel.
|
2019-05-02 07:11:22 +02:00
|
|
|
|
|
|
|
config ESPI_PERIPHERAL_HOST_IO
|
|
|
|
bool "Host I/O peripheral"
|
|
|
|
help
|
2019-10-18 20:00:01 +02:00
|
|
|
Enables ACPI Host I/O over eSPI peripheral channel.
|
2019-05-02 07:11:22 +02:00
|
|
|
|
2020-06-02 07:51:29 +02:00
|
|
|
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).
|
|
|
|
|
2019-05-02 07:11:22 +02:00
|
|
|
config ESPI_PERIPHERAL_DEBUG_PORT_80
|
|
|
|
bool "Debug Port 80 peripheral"
|
|
|
|
help
|
2019-10-18 20:00:01 +02:00
|
|
|
Enables debug Port 80 over eSPI peripheral channel.
|
2019-05-02 07:11:22 +02:00
|
|
|
|
2020-09-10 11:42:21 +02:00
|
|
|
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.
|
|
|
|
|
2020-12-10 06:28:48 +01:00
|
|
|
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.
|
|
|
|
|
2020-12-11 06:27:55 +01:00
|
|
|
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.
|
|
|
|
|
2019-05-02 07:11:22 +02:00
|
|
|
endif # ESPI_PERIPHERAL_CHANNEL
|
|
|
|
|
2020-11-24 22:01:20 +01:00
|
|
|
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.
|
|
|
|
|
2019-05-02 07:11:22 +02:00
|
|
|
endif # ESPI
|