#
# USB PD driver
#

comment "USB PD configs"

config USE_CCIC
	bool "Using USBPD device driver"
	depends on I2C
	default n
	help
	  If you say yes here you will get support for
	  the USB PD(Power Delivery) device driver.

config CCIC_S2MU004
	bool "Using S2MU004 USB PD"
	depends on USE_CCIC
	default n
	help
	  If you say yes here you will get support for
	  for the S2MU004 USBPD chip.

config CCIC_S2MU106
	bool "Using S2MU106 USB PD"
	depends on USE_CCIC
	default n
	help
	  If you say yes here you will get support for
	  for the S2MU106 USBPD chip.

config CCIC_MANUAL_QBAT
	bool "Using S2MU106 USB PD QBAT Manual Control"
	depends on USE_CCIC
	default n
	help
	  If you say yes here you will get support for
	  for the S2MU106 USBPD chip.

config CCIC_S2MU205
	bool "Using S2MU205 USB PD"
	depends on USE_CCIC
	default n
	help
	  If you say yes here you will get support for
	  for the S2MU205 USBPD chip.

config CCIC_MODE_BY_MUIC
	bool "Using CCIC operate mode by MUIC RID"
	depends on USE_CCIC
	default n
	help
	  If you say yes here you will get support for
	  MUIC to control ccic DRP Mode

config CCIC_MODE_WITHOUT_MUIC
	bool "Using CCIC operate mode without MUIC RID"
	depends on USE_CCIC
	default n
	help
	  If you say yes here ccic always operate drp without MUIC

config CCIC_VDM
	bool "Using S2MU004 USB PD VDM Message"
	depends on USE_CCIC
	default n
	help
	  If you say yes here you will get support for
	  for the S2MU004 USBPD chip.

config CCIC_S2MM005 
	bool "CCIC S2MM005"
	depends on I2C 
	default n
	help
	  If you say yes here you will get support for
	  s2mm005 ccic full version chipset 
	  
config CCIC_NOTIFIER
	bool "CCIC notifier support"
	depends on I2C
	default n
	help
	  If you say yes here you will get support for
	  the CCIC attached device status change notification.

config CCIC_ALTERNATE_MODE 
	bool "support CCIC alternate mode"
	depends on I2C
	default n
	help
	  If you say yes here you will get support for
	  alternate mode

config CCIC_LPM_ENABLE
	bool "Support LPM ENABLE"
	depends on CCIC_S2MM005
	default n
	help
	  If you say yes here you will get support for
	  lpm enable

config CCIC_WATER_DETECT
	bool "support WATER DETECT"
	depends on CCIC_S2MM005
	default n
	help
	  If you say yes here you will get support for
	  water detect Enable

config CCIC_EXTERNAL_CAPACITOR
	bool "support WATER DETECT tuning for ext cc cap"
	depends on USE_CCIC
	default n
	help
	  If you say yes here you will get support for
	  water detect tuning for external cc capacitor.

config CCIC_TYPEC_PRSWAP
	bool "support Power Role Swap"
	depends on USE_CCIC
	depends on CCIC_S2MU004 || CCIC_S2MU106 || CCIC_S2MU205
	depends on ANDROID_MAJOR_VERSION != "n"
	depends on ANDROID_MAJOR_VERSION != "o"
	depends on ANDROID_MAJOR_VERSION != "p"
	default y
