146 lines
3.6 KiB
Plaintext
146 lines
3.6 KiB
Plaintext
# Copyright (c) 2021 ITE Corporation. All Rights Reserved.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
config ESPI_IT8XXX2
|
|
bool "ITE IT8XXX2 embedded controller ESPI driver"
|
|
default y
|
|
depends on DT_HAS_ITE_IT8XXX2_ESPI_ENABLED
|
|
depends on SOC_IT8XXX2
|
|
help
|
|
Enable ITE IT8XXX2 ESPI driver.
|
|
|
|
if ESPI_IT8XXX2
|
|
|
|
config ESPI_OOB_CHANNEL
|
|
default y
|
|
|
|
config ESPI_PERIPHERAL_8042_KBC
|
|
default y
|
|
|
|
config ESPI_PERIPHERAL_HOST_IO
|
|
default y
|
|
|
|
config ESPI_PERIPHERAL_DEBUG_PORT_80
|
|
default y
|
|
|
|
config ESPI_PERIPHERAL_EC_HOST_CMD
|
|
default y
|
|
|
|
choice IT8XXX2_H2RAM_HC_SIZE_CHOICE
|
|
prompt "H2RAM space for ec host command"
|
|
default IT8XXX2_H2RAM_HC_SIZE_256
|
|
depends on ESPI_PERIPHERAL_EC_HOST_CMD
|
|
|
|
config IT8XXX2_H2RAM_HC_SIZE_16
|
|
bool "16"
|
|
|
|
config IT8XXX2_H2RAM_HC_SIZE_32
|
|
bool "32"
|
|
|
|
config IT8XXX2_H2RAM_HC_SIZE_64
|
|
bool "64"
|
|
|
|
config IT8XXX2_H2RAM_HC_SIZE_128
|
|
bool "128"
|
|
|
|
config IT8XXX2_H2RAM_HC_SIZE_256
|
|
bool "256"
|
|
|
|
config IT8XXX2_H2RAM_HC_SIZE_512
|
|
bool "512"
|
|
|
|
config IT8XXX2_H2RAM_HC_SIZE_1024
|
|
bool "1024"
|
|
|
|
config IT8XXX2_H2RAM_HC_SIZE_2048
|
|
bool "2048"
|
|
|
|
endchoice
|
|
|
|
config ESPI_IT8XXX2_HC_H2RAM_SIZE
|
|
int
|
|
depends on ESPI_PERIPHERAL_EC_HOST_CMD
|
|
default 16 if IT8XXX2_H2RAM_HC_SIZE_16
|
|
default 32 if IT8XXX2_H2RAM_HC_SIZE_32
|
|
default 64 if IT8XXX2_H2RAM_HC_SIZE_64
|
|
default 128 if IT8XXX2_H2RAM_HC_SIZE_128
|
|
default 256 if IT8XXX2_H2RAM_HC_SIZE_256
|
|
default 512 if IT8XXX2_H2RAM_HC_SIZE_512
|
|
default 1024 if IT8XXX2_H2RAM_HC_SIZE_1024
|
|
default 2048 if IT8XXX2_H2RAM_HC_SIZE_2048
|
|
|
|
config ESPI_PERIPHERAL_ACPI_SHM_REGION
|
|
default y
|
|
|
|
choice IT8XXX2_H2RAM_ACPI_SHM_SIZE_CHOICE
|
|
prompt "H2RAM space for ACPI shared memory region"
|
|
default IT8XXX2_H2RAM_ACPI_SHM_SIZE_256
|
|
depends on ESPI_PERIPHERAL_ACPI_SHM_REGION
|
|
|
|
config IT8XXX2_H2RAM_ACPI_SHM_SIZE_16
|
|
bool "16"
|
|
|
|
config IT8XXX2_H2RAM_ACPI_SHM_SIZE_32
|
|
bool "32"
|
|
|
|
config IT8XXX2_H2RAM_ACPI_SHM_SIZE_64
|
|
bool "64"
|
|
|
|
config IT8XXX2_H2RAM_ACPI_SHM_SIZE_128
|
|
bool "128"
|
|
|
|
config IT8XXX2_H2RAM_ACPI_SHM_SIZE_256
|
|
bool "256"
|
|
|
|
config IT8XXX2_H2RAM_ACPI_SHM_SIZE_512
|
|
bool "512"
|
|
|
|
config IT8XXX2_H2RAM_ACPI_SHM_SIZE_1024
|
|
bool "1024"
|
|
|
|
config IT8XXX2_H2RAM_ACPI_SHM_SIZE_2048
|
|
bool "2048"
|
|
|
|
endchoice
|
|
|
|
config ESPI_IT8XXX2_ACPI_SHM_H2RAM_SIZE
|
|
int
|
|
depends on ESPI_PERIPHERAL_ACPI_SHM_REGION
|
|
default 16 if IT8XXX2_H2RAM_ACPI_SHM_SIZE_16
|
|
default 32 if IT8XXX2_H2RAM_ACPI_SHM_SIZE_32
|
|
default 64 if IT8XXX2_H2RAM_ACPI_SHM_SIZE_64
|
|
default 128 if IT8XXX2_H2RAM_ACPI_SHM_SIZE_128
|
|
default 256 if IT8XXX2_H2RAM_ACPI_SHM_SIZE_256
|
|
default 512 if IT8XXX2_H2RAM_ACPI_SHM_SIZE_512
|
|
default 1024 if IT8XXX2_H2RAM_ACPI_SHM_SIZE_1024
|
|
default 2048 if IT8XXX2_H2RAM_ACPI_SHM_SIZE_2048
|
|
|
|
config ESPI_PERIPHERAL_CUSTOM_OPCODE
|
|
default y
|
|
|
|
config ESPI_FLASH_CHANNEL
|
|
default y
|
|
|
|
config ESPI_IT8XXX2_PNPCFG_DEVICE_KBC_MOUSE
|
|
bool "ITE IT8XXX2 KBC mouse device"
|
|
help
|
|
With this option enabled, EC will send IRQ12 signal to host when the
|
|
KBC mouse output buffer is full.
|
|
|
|
# On IT8xxx2 series, this configuration option has limitation:
|
|
# Port 80 and 81 I/O cycles share the same interrupt source and there is no
|
|
# status bit to indicate which cycle triggered the interrupt and data registers
|
|
# of these two ports are read only. Hence EC have to read these two data
|
|
# registers at the same time in the ISR.
|
|
# It means that the Host must alwasy write 2 bytes of data to port 80 otherwise
|
|
# port 81 data will not be updated.
|
|
config ESPI_IT8XXX2_PORT_81_CYCLE
|
|
bool "EC accepts 0x81 I/O cycle from eSPI transaction"
|
|
depends on ESPI_PERIPHERAL_DEBUG_PORT_80
|
|
help
|
|
With this option enabled, EC will accept 0x81 I/O cycle from the Host.
|
|
This allows EC to accept 2 bytes of port 80 data written from the Host.
|
|
(e.g. using iotools: iotools io_write16 0x80 0x1234)
|
|
|
|
endif #ESPI_IT8XXX2
|