zephyr/drivers/espi/Kconfig

93 lines
2.0 KiB
Plaintext
Raw Normal View History

# 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"
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
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 10:45:50 +08:00
depends on ESPI_VWIRE_CHANNEL
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_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_PORT_92
bool "Legacy Port 92 peripheral"
help
Enables legacy Port 92 over eSPI peripheral channel.
config ESPI_PERIPHERAL_DEBUG_PORT_80
bool "Debug Port 80 peripheral"
help
Enables debug Port 80 over eSPI peripheral channel.
endif # ESPI_PERIPHERAL_CHANNEL
endif # ESPI