# Copyright 2021 The ChromiumOS Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. menuconfig EMUL_TCPCI bool "TCPCI common functionality" default y depends on DT_HAS_CROS_TCPCI_GENERIC_EMUL_ENABLED depends on I2C_EMUL select EMUL_COMMON_I2C help Enable the TCPCI emulator. This driver uses the emulated I2C bus. It is used to test tcpci code. It supports reads and writes to all emulator registers. Generic TCPCI emulator can be used as the base for specific TCPC device emulator that follow TCPCI specification. TCPCI emulator API is available in zephyr/include/emul/tcpc/emul_tcpci.h if EMUL_TCPCI module = TCPCI_EMUL module-str = tcpci_emul source "subsys/logging/Kconfig.template.log_config" config EMUL_ANX7447 bool "Analogix ANX7447 emulator" default y depends on DT_HAS_CROS_ANX7447_TCPC_EMUL_ENABLED help Enable emulator for ANX7447 of TCPM. This emulator is extension for TCPCI emulator. ANX7447 specific API is available in zephyr/include/emul/tpcp/emul_anx7447.h config EMUL_TCPCI_PARTNER_COMMON bool help This option is selected automatically by specific TCPCI partner emulators. Enable common code that can be used by TCPCI partner device emulators. It covers sending delayed messages. API of common functions is available in zephyr/include/emul/tcpc/emul_common_tcpci_partner.h config EMUL_PS8XXX bool "Parade PS8XXX emulator" default y depends on DT_HAS_CROS_PS8XXX_EMUL_ENABLED help Enable emulator for PS8XXX family of TCPC. This emulator is extenstion for TCPCI emulator. PS8XXX specific API is available in zephyr/include/emul/tcpc/emul_ps8xxx.h config EMUL_RT1718S bool "Richtek rt1718s emulator" default y depends on DT_HAS_CROS_RT1718S_TCPC_EMUL_ENABLED help Enable emulator for rt1718s of TCPM. This emulator is extension for TCPCI emulator. rt1718s specific API is available in zephyr/include/emul/tcpc/emul_rt1718s.h config EMUL_TCPCI_PARTNER_SRC bool "USB-C source device emulator" select EMUL_TCPCI_PARTNER_COMMON help Enable USB-C source device emulator which may be attached to TCPCI emulator. API of source device emulator is available in zephyr/include/emul/tcpc/emul_tcpci_partner_src.h config EMUL_TCPCI_PARTNER_SNK bool "USB-C sink device emulator" select EMUL_TCPCI_PARTNER_COMMON help Enable USB-C sink device emulator which may be attached to TCPCI emulator. API of sink device emulator is available in zephyr/include/emul/tcpc/emul_tcpci_partner_snk.h config EMUL_TCPCI_PARTNER_DRP bool "USB-C dual role device emulator" select EMUL_TCPCI_PARTNER_COMMON select EMUL_TCPCI_PARTNER_SNK select EMUL_TCPCI_PARTNER_SRC help Enable USB-C dual role device emulator which may be attached to TCPCI emulator. API of dual role device emulator is available in zephyr/include/emul/tcpc/emul_tcpci_partner_drp.h config EMUL_TCPCI_PARTNER_FAULTY_EXT bool "USB-C malfunctioning device emulator" select EMUL_TCPCI_PARTNER_COMMON select EMUL_TCPCI_PARTNER_SNK help Enable USB-C malfunctioning device emulator which may be attached to TCPCI emulator. API of malfunctioning device emulator is available in zephyr/include/emul/tcpc/emul_tcpci_partner_faulty_ext.h config EMUL_TCPCI_PARTNER_VPD bool "USB-C VCONN-powered device emulator" select EMUL_TCPCI_PARTNER_COMMON # select EMUL_TCPCI_PARTNER_SRC help Enable USB-C VCONN-powered device (VPD) emulator, which may be attached to TCPCI emulator. API of VPD is available in zephyr/include/emul/tcpc/emul_tcpci_partner_vpd.h. This emulation is specifically for the host port side of the VPD. endif # EMUL_TCPCI