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