Linux Audio

Check our new training course

Embedded Linux Audio

Check our new training course
with Creative Commons CC-BY-SA
lecture materials

Bootlin logo

Elixir Cross Referencer

Loading...
# 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