# 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