# SPDX-License-Identifier: GPL-2.0

config TYPEC_TCPM
	tristate "USB Type-C Port Controller Manager"
	depends on USB
	select USB_ROLE_SWITCH
	select POWER_SUPPLY
	help
	  The Type-C Port Controller Manager provides a USB PD and USB Type-C
	  state machine for use with Type-C Port Controllers.

if TYPEC_TCPM

config TYPEC_TCPCI
	tristate "Type-C Port Controller Interface driver"
	depends on I2C
	select REGMAP_I2C
	help
	  Type-C Port Controller driver for TCPCI-compliant controller.

if TYPEC_TCPCI

config TYPEC_RT1711H
	tristate "Richtek RT1711H Type-C chip driver"
	help
	  Richtek RT1711H Type-C chip driver that works with
	  Type-C Port Controller Manager to provide USB PD and USB
	  Type-C functionalities.

config TYPEC_MT6360
	tristate "Mediatek MT6360 Type-C driver"
	depends on MFD_MT6360
	help
	  Mediatek MT6360 is a multi-functional IC that includes
	  USB Type-C. It works with Type-C Port Controller Manager
	  to provide USB PD and USB Type-C functionalities.

config TYPEC_TCPCI_MT6370
	tristate "MediaTek MT6370 Type-C driver"
	depends on MFD_MT6370
	help
	  MediaTek MT6370 is a multi-functional IC that includes
	  USB Type-C. It works with Type-C Port Controller Manager
	  to provide USB PD and USB Type-C functionalities.

	  This driver can also be built as a module. The module
	  will be called "tcpci_mt6370".

config TYPEC_TCPCI_MAXIM
	tristate "Maxim TCPCI based Type-C chip driver"
	help
	  MAXIM TCPCI based Type-C/PD chip driver. Works with
	  with Type-C Port Controller Manager.

endif # TYPEC_TCPCI

config TYPEC_FUSB302
	tristate "Fairchild FUSB302 Type-C chip driver"
	depends on I2C
	depends on EXTCON || !EXTCON
	help
	  The Fairchild FUSB302 Type-C chip driver that works with
	  Type-C Port Controller Manager to provide USB PD and USB
	  Type-C functionalities.

config TYPEC_WCOVE
	tristate "Intel WhiskeyCove PMIC USB Type-C PHY driver"
	depends on ACPI
	depends on MFD_INTEL_PMC_BXT
	depends on BXT_WC_PMIC_OPREGION
	help
	  This driver adds support for USB Type-C on Intel Broxton platforms
	  that have Intel Whiskey Cove PMIC. The driver works with USB Type-C
	  Port Controller Manager to provide USB PD and Type-C functionalities.

	  To compile this driver as module, choose M here: the module will be
	  called typec_wcove.ko

config TYPEC_QCOM_PMIC
	tristate "Qualcomm PMIC USB Type-C Port Controller Manager driver"
	depends on ARCH_QCOM || COMPILE_TEST
	depends on DRM || DRM=n
	help
	  A Type-C port and Power Delivery driver which aggregates two
	  discrete pieces of silicon in the PM8150b PMIC block: the
	  Type-C port controller and the Power Delivery PHY.

	  This driver enables Type-C role switching, orientation, Alternate
	  mode and Power Delivery support both for VBUS and VCONN.

endif # TYPEC_TCPM