18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_cimenuconfig EXTCON
38c2ecf20Sopenharmony_ci	tristate "External Connector Class (extcon) support"
48c2ecf20Sopenharmony_ci	help
58c2ecf20Sopenharmony_ci	  Say Y here to enable external connector class (extcon) support.
68c2ecf20Sopenharmony_ci	  This allows monitoring external connectors by userspace
78c2ecf20Sopenharmony_ci	  via sysfs and uevent and supports external connectors with
88c2ecf20Sopenharmony_ci	  multiple states; i.e., an extcon that may have multiple
98c2ecf20Sopenharmony_ci	  cables attached. For example, an external connector of a device
108c2ecf20Sopenharmony_ci	  may be used to connect an HDMI cable and a AC adaptor, and to
118c2ecf20Sopenharmony_ci	  host USB ports. Many of 30-pin connectors including PDMI are
128c2ecf20Sopenharmony_ci	  also good examples.
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ciif EXTCON
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_cicomment "Extcon Device Drivers"
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciconfig EXTCON_ADC_JACK
198c2ecf20Sopenharmony_ci	tristate "ADC Jack extcon support"
208c2ecf20Sopenharmony_ci	depends on IIO
218c2ecf20Sopenharmony_ci	help
228c2ecf20Sopenharmony_ci	  Say Y here to enable extcon device driver based on ADC values.
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ciconfig EXTCON_ARIZONA
258c2ecf20Sopenharmony_ci	tristate "Wolfson Arizona EXTCON support"
268c2ecf20Sopenharmony_ci	depends on MFD_ARIZONA && INPUT && SND_SOC
278c2ecf20Sopenharmony_ci	help
288c2ecf20Sopenharmony_ci	  Say Y here to enable support for external accessory detection
298c2ecf20Sopenharmony_ci	  with Wolfson Arizona devices. These are audio CODECs with
308c2ecf20Sopenharmony_ci	  advanced audio accessory detection support.
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ciconfig EXTCON_AXP288
338c2ecf20Sopenharmony_ci	tristate "X-Power AXP288 EXTCON support"
348c2ecf20Sopenharmony_ci	depends on MFD_AXP20X && USB_SUPPORT && X86 && ACPI
358c2ecf20Sopenharmony_ci	select USB_ROLE_SWITCH
368c2ecf20Sopenharmony_ci	help
378c2ecf20Sopenharmony_ci	  Say Y here to enable support for USB peripheral detection
388c2ecf20Sopenharmony_ci	  and USB MUX switching by X-Power AXP288 PMIC.
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ciconfig EXTCON_FSA9480
418c2ecf20Sopenharmony_ci	tristate "FSA9480 EXTCON Support"
428c2ecf20Sopenharmony_ci	depends on INPUT && I2C
438c2ecf20Sopenharmony_ci	select IRQ_DOMAIN
448c2ecf20Sopenharmony_ci	select REGMAP_I2C
458c2ecf20Sopenharmony_ci	help
468c2ecf20Sopenharmony_ci	  If you say yes here you get support for the Fairchild Semiconductor
478c2ecf20Sopenharmony_ci	  FSA9480 microUSB switch and accessory detector chip. The FSA9480 is a USB
488c2ecf20Sopenharmony_ci	  port accessory detector and switch. The FSA9480 is fully controlled using
498c2ecf20Sopenharmony_ci	  I2C and enables USB data, stereo and mono audio, video, microphone
508c2ecf20Sopenharmony_ci	  and UART data to use a common connector port.
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ciconfig EXTCON_GPIO
538c2ecf20Sopenharmony_ci	tristate "GPIO extcon support"
548c2ecf20Sopenharmony_ci	depends on GPIOLIB || COMPILE_TEST
558c2ecf20Sopenharmony_ci	help
568c2ecf20Sopenharmony_ci	  Say Y here to enable GPIO based extcon support. Note that GPIO
578c2ecf20Sopenharmony_ci	  extcon supports single state per extcon instance.
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ciconfig EXTCON_INTEL_INT3496
608c2ecf20Sopenharmony_ci	tristate "Intel INT3496 ACPI device extcon driver"
618c2ecf20Sopenharmony_ci	depends on GPIOLIB && ACPI && (X86 || COMPILE_TEST)
628c2ecf20Sopenharmony_ci	help
638c2ecf20Sopenharmony_ci	  Say Y here to enable extcon support for USB OTG ports controlled by
648c2ecf20Sopenharmony_ci	  an Intel INT3496 ACPI device.
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ci	  This ACPI device is typically found on Intel Baytrail or Cherrytrail
678c2ecf20Sopenharmony_ci	  based tablets, or other Baytrail / Cherrytrail devices.
688c2ecf20Sopenharmony_ci
698c2ecf20Sopenharmony_ciconfig EXTCON_INTEL_CHT_WC
708c2ecf20Sopenharmony_ci	tristate "Intel Cherrytrail Whiskey Cove PMIC extcon driver"
718c2ecf20Sopenharmony_ci	depends on INTEL_SOC_PMIC_CHTWC
728c2ecf20Sopenharmony_ci	help
738c2ecf20Sopenharmony_ci	  Say Y here to enable extcon support for charger detection / control
748c2ecf20Sopenharmony_ci	  on the Intel Cherrytrail Whiskey Cove PMIC.
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ciconfig EXTCON_INTEL_MRFLD
778c2ecf20Sopenharmony_ci	tristate "Intel Merrifield Basin Cove PMIC extcon driver"
788c2ecf20Sopenharmony_ci	depends on INTEL_SOC_PMIC_MRFLD
798c2ecf20Sopenharmony_ci	help
808c2ecf20Sopenharmony_ci	  Say Y here to enable extcon support for charger detection / control
818c2ecf20Sopenharmony_ci	  on the Intel Merrifield Basin Cove PMIC.
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_ciconfig EXTCON_MAX14577
848c2ecf20Sopenharmony_ci	tristate "Maxim MAX14577/77836 EXTCON Support"
858c2ecf20Sopenharmony_ci	depends on MFD_MAX14577
868c2ecf20Sopenharmony_ci	select IRQ_DOMAIN
878c2ecf20Sopenharmony_ci	select REGMAP_I2C
888c2ecf20Sopenharmony_ci	help
898c2ecf20Sopenharmony_ci	  If you say yes here you get support for the MUIC device of
908c2ecf20Sopenharmony_ci	  Maxim MAX14577/77836. The MAX14577/77836 MUIC is a USB port accessory
918c2ecf20Sopenharmony_ci	  detector and switch.
928c2ecf20Sopenharmony_ci
938c2ecf20Sopenharmony_ciconfig EXTCON_MAX3355
948c2ecf20Sopenharmony_ci	tristate "Maxim MAX3355 USB OTG EXTCON Support"
958c2ecf20Sopenharmony_ci	depends on GPIOLIB || COMPILE_TEST
968c2ecf20Sopenharmony_ci	help
978c2ecf20Sopenharmony_ci	  If you say yes here you get support for the USB OTG role detection by
988c2ecf20Sopenharmony_ci	  MAX3355. The MAX3355 chip integrates a charge pump and comparators to
998c2ecf20Sopenharmony_ci	  enable a system with an integrated USB OTG dual-role transceiver to
1008c2ecf20Sopenharmony_ci	  function as an USB OTG dual-role device.
1018c2ecf20Sopenharmony_ci
1028c2ecf20Sopenharmony_ciconfig EXTCON_MAX77693
1038c2ecf20Sopenharmony_ci	tristate "Maxim MAX77693 EXTCON Support"
1048c2ecf20Sopenharmony_ci	depends on MFD_MAX77693 && INPUT
1058c2ecf20Sopenharmony_ci	select IRQ_DOMAIN
1068c2ecf20Sopenharmony_ci	select REGMAP_I2C
1078c2ecf20Sopenharmony_ci	help
1088c2ecf20Sopenharmony_ci	  If you say yes here you get support for the MUIC device of
1098c2ecf20Sopenharmony_ci	  Maxim MAX77693 PMIC. The MAX77693 MUIC is a USB port accessory
1108c2ecf20Sopenharmony_ci	  detector and switch.
1118c2ecf20Sopenharmony_ci
1128c2ecf20Sopenharmony_ciconfig EXTCON_MAX77843
1138c2ecf20Sopenharmony_ci	tristate "Maxim MAX77843 EXTCON Support"
1148c2ecf20Sopenharmony_ci	depends on MFD_MAX77843
1158c2ecf20Sopenharmony_ci	select IRQ_DOMAIN
1168c2ecf20Sopenharmony_ci	select REGMAP_I2C
1178c2ecf20Sopenharmony_ci	help
1188c2ecf20Sopenharmony_ci	  If you say yes here you get support for the MUIC device of
1198c2ecf20Sopenharmony_ci	  Maxim MAX77843. The MAX77843 MUIC is a USB port accessory
1208c2ecf20Sopenharmony_ci	  detector add switch.
1218c2ecf20Sopenharmony_ci
1228c2ecf20Sopenharmony_ciconfig EXTCON_MAX8997
1238c2ecf20Sopenharmony_ci	tristate "Maxim MAX8997 EXTCON Support"
1248c2ecf20Sopenharmony_ci	depends on MFD_MAX8997 && IRQ_DOMAIN
1258c2ecf20Sopenharmony_ci	help
1268c2ecf20Sopenharmony_ci	  If you say yes here you get support for the MUIC device of
1278c2ecf20Sopenharmony_ci	  Maxim MAX8997 PMIC. The MAX8997 MUIC is a USB port accessory
1288c2ecf20Sopenharmony_ci	  detector and switch.
1298c2ecf20Sopenharmony_ci
1308c2ecf20Sopenharmony_ciconfig EXTCON_PALMAS
1318c2ecf20Sopenharmony_ci	tristate "Palmas USB EXTCON support"
1328c2ecf20Sopenharmony_ci	depends on MFD_PALMAS
1338c2ecf20Sopenharmony_ci	help
1348c2ecf20Sopenharmony_ci	  Say Y here to enable support for USB peripheral and USB host
1358c2ecf20Sopenharmony_ci	  detection by palmas usb.
1368c2ecf20Sopenharmony_ci
1378c2ecf20Sopenharmony_ciconfig EXTCON_PTN5150
1388c2ecf20Sopenharmony_ci	tristate "NXP PTN5150 CC LOGIC USB EXTCON support"
1398c2ecf20Sopenharmony_ci	depends on I2C && (GPIOLIB || COMPILE_TEST)
1408c2ecf20Sopenharmony_ci	select REGMAP_I2C
1418c2ecf20Sopenharmony_ci	help
1428c2ecf20Sopenharmony_ci	  Say Y here to enable support for USB peripheral and USB host
1438c2ecf20Sopenharmony_ci	  detection by NXP PTN5150 CC (Configuration Channel) logic chip.
1448c2ecf20Sopenharmony_ci
1458c2ecf20Sopenharmony_ciconfig EXTCON_QCOM_SPMI_MISC
1468c2ecf20Sopenharmony_ci	tristate "Qualcomm USB extcon support"
1478c2ecf20Sopenharmony_ci	depends on ARCH_QCOM || COMPILE_TEST
1488c2ecf20Sopenharmony_ci	help
1498c2ecf20Sopenharmony_ci	  Say Y here to enable SPMI PMIC based USB cable detection
1508c2ecf20Sopenharmony_ci	  support on Qualcomm PMICs such as PM8941.
1518c2ecf20Sopenharmony_ci
1528c2ecf20Sopenharmony_ciconfig EXTCON_RT8973A
1538c2ecf20Sopenharmony_ci	tristate "Richtek RT8973A EXTCON support"
1548c2ecf20Sopenharmony_ci	depends on I2C
1558c2ecf20Sopenharmony_ci	select IRQ_DOMAIN
1568c2ecf20Sopenharmony_ci	select REGMAP_I2C
1578c2ecf20Sopenharmony_ci	select REGMAP_IRQ
1588c2ecf20Sopenharmony_ci	help
1598c2ecf20Sopenharmony_ci	  If you say yes here you get support for the MUIC device of
1608c2ecf20Sopenharmony_ci	  Richtek RT8973A. The RT8973A is a USB port accessory detector
1618c2ecf20Sopenharmony_ci	  and switch that is optimized to protect low voltage system
1628c2ecf20Sopenharmony_ci	  from abnormal high input voltage (up to 28V).
1638c2ecf20Sopenharmony_ci
1648c2ecf20Sopenharmony_ciconfig EXTCON_SM5502
1658c2ecf20Sopenharmony_ci	tristate "Silicon Mitus SM5502 EXTCON support"
1668c2ecf20Sopenharmony_ci	depends on I2C
1678c2ecf20Sopenharmony_ci	select IRQ_DOMAIN
1688c2ecf20Sopenharmony_ci	select REGMAP_I2C
1698c2ecf20Sopenharmony_ci	select REGMAP_IRQ
1708c2ecf20Sopenharmony_ci	help
1718c2ecf20Sopenharmony_ci	  If you say yes here you get support for the MUIC device of
1728c2ecf20Sopenharmony_ci	  Silicon Mitus SM5502. The SM5502 is a USB port accessory
1738c2ecf20Sopenharmony_ci	  detector and switch.
1748c2ecf20Sopenharmony_ci
1758c2ecf20Sopenharmony_ciconfig EXTCON_USB_GPIO
1768c2ecf20Sopenharmony_ci	tristate "USB GPIO extcon support"
1778c2ecf20Sopenharmony_ci	depends on GPIOLIB || COMPILE_TEST
1788c2ecf20Sopenharmony_ci	help
1798c2ecf20Sopenharmony_ci	  Say Y here to enable GPIO based USB cable detection extcon support.
1808c2ecf20Sopenharmony_ci	  Used typically if GPIO is used for USB ID pin detection.
1818c2ecf20Sopenharmony_ci
1828c2ecf20Sopenharmony_ciconfig EXTCON_USBC_CROS_EC
1838c2ecf20Sopenharmony_ci	tristate "ChromeOS Embedded Controller EXTCON support"
1848c2ecf20Sopenharmony_ci	depends on CROS_EC
1858c2ecf20Sopenharmony_ci	help
1868c2ecf20Sopenharmony_ci	  Say Y here to enable USB Type C cable detection extcon support when
1878c2ecf20Sopenharmony_ci	  using Chrome OS EC based USB Type-C ports.
1888c2ecf20Sopenharmony_ci
1898c2ecf20Sopenharmony_ciendif
190