mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-08-03 18:19:05 +00:00
This CL contains the drivers of NPCX Host Sub-Modules that serve as an interface between the Host and Core domains. For most of them, the Host can configure these modules via eSPI(Peripheral Channel)/LPC by accessing 'Configuration and Control register Set' which IO base address is 0x4E as default. And the interrupts in core domain help handling any events from host side. In this commit, we introduced six host sub-modules. It includes: 1. Keyboard and Mouse Controller (KBC) interface. 2. Power Management (PM) channels. 3. Shared Memory mechanism (SHM). 4. Core Access to Host Modules (C2H). 5. Mobile System Wake-Up functions (MSWC). 6. Serial Port (Legacy UART) The tasks in application layer such as 8042, ACPI and host command can cooperation with this driver by connecting api or callback functions. Signed-off-by: Mulin Chao <MLChao@nuvoton.com>
124 lines
3.2 KiB
Plaintext
124 lines
3.2 KiB
Plaintext
# 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"
|
|
|
|
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.
|
|
|
|
endif # ESPI_PERIPHERAL_CHANNEL
|
|
|
|
endif # ESPI
|