162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_cimenuconfig EXTCON 362306a36Sopenharmony_ci tristate "External Connector Class (extcon) support" 462306a36Sopenharmony_ci help 562306a36Sopenharmony_ci Say Y here to enable external connector class (extcon) support. 662306a36Sopenharmony_ci This allows monitoring external connectors by userspace 762306a36Sopenharmony_ci via sysfs and uevent and supports external connectors with 862306a36Sopenharmony_ci multiple states; i.e., an extcon that may have multiple 962306a36Sopenharmony_ci cables attached. For example, an external connector of a device 1062306a36Sopenharmony_ci may be used to connect an HDMI cable and a AC adaptor, and to 1162306a36Sopenharmony_ci host USB ports. Many of 30-pin connectors including PDMI are 1262306a36Sopenharmony_ci also good examples. 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ciif EXTCON 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_cicomment "Extcon Device Drivers" 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ciconfig EXTCON_ADC_JACK 1962306a36Sopenharmony_ci tristate "ADC Jack extcon support" 2062306a36Sopenharmony_ci depends on IIO 2162306a36Sopenharmony_ci help 2262306a36Sopenharmony_ci Say Y here to enable extcon device driver based on ADC values. 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ciconfig EXTCON_AXP288 2562306a36Sopenharmony_ci tristate "X-Power AXP288 EXTCON support" 2662306a36Sopenharmony_ci depends on MFD_AXP20X && USB_SUPPORT && X86 && ACPI && IOSF_MBI 2762306a36Sopenharmony_ci select USB_ROLE_SWITCH 2862306a36Sopenharmony_ci help 2962306a36Sopenharmony_ci Say Y here to enable support for USB peripheral detection 3062306a36Sopenharmony_ci and USB MUX switching by X-Power AXP288 PMIC. 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ciconfig EXTCON_FSA9480 3362306a36Sopenharmony_ci tristate "FSA9480 EXTCON Support" 3462306a36Sopenharmony_ci depends on INPUT && I2C 3562306a36Sopenharmony_ci select IRQ_DOMAIN 3662306a36Sopenharmony_ci select REGMAP_I2C 3762306a36Sopenharmony_ci help 3862306a36Sopenharmony_ci If you say yes here you get support for the Fairchild Semiconductor 3962306a36Sopenharmony_ci FSA9480 microUSB switch and accessory detector chip. The FSA9480 is a USB 4062306a36Sopenharmony_ci port accessory detector and switch. The FSA9480 is fully controlled using 4162306a36Sopenharmony_ci I2C and enables USB data, stereo and mono audio, video, microphone 4262306a36Sopenharmony_ci and UART data to use a common connector port. 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ciconfig EXTCON_GPIO 4562306a36Sopenharmony_ci tristate "GPIO extcon support" 4662306a36Sopenharmony_ci depends on GPIOLIB || COMPILE_TEST 4762306a36Sopenharmony_ci help 4862306a36Sopenharmony_ci Say Y here to enable GPIO based extcon support. Note that GPIO 4962306a36Sopenharmony_ci extcon supports single state per extcon instance. 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ciconfig EXTCON_INTEL_INT3496 5262306a36Sopenharmony_ci tristate "Intel INT3496 ACPI device extcon driver" 5362306a36Sopenharmony_ci depends on GPIOLIB && ACPI && (X86 || COMPILE_TEST) 5462306a36Sopenharmony_ci help 5562306a36Sopenharmony_ci Say Y here to enable extcon support for USB OTG ports controlled by 5662306a36Sopenharmony_ci an Intel INT3496 ACPI device. 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci This ACPI device is typically found on Intel Baytrail or Cherrytrail 5962306a36Sopenharmony_ci based tablets, or other Baytrail / Cherrytrail devices. 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ciconfig EXTCON_INTEL_CHT_WC 6262306a36Sopenharmony_ci tristate "Intel Cherrytrail Whiskey Cove PMIC extcon driver" 6362306a36Sopenharmony_ci depends on INTEL_SOC_PMIC_CHTWC 6462306a36Sopenharmony_ci depends on USB_SUPPORT 6562306a36Sopenharmony_ci depends on POWER_SUPPLY 6662306a36Sopenharmony_ci select USB_ROLE_SWITCH 6762306a36Sopenharmony_ci help 6862306a36Sopenharmony_ci Say Y here to enable extcon support for charger detection / control 6962306a36Sopenharmony_ci on the Intel Cherrytrail Whiskey Cove PMIC. 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ciconfig EXTCON_INTEL_MRFLD 7262306a36Sopenharmony_ci tristate "Intel Merrifield Basin Cove PMIC extcon driver" 7362306a36Sopenharmony_ci depends on INTEL_SOC_PMIC_MRFLD 7462306a36Sopenharmony_ci help 7562306a36Sopenharmony_ci Say Y here to enable extcon support for charger detection / control 7662306a36Sopenharmony_ci on the Intel Merrifield Basin Cove PMIC. 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ciconfig EXTCON_MAX14577 7962306a36Sopenharmony_ci tristate "Maxim MAX14577/77836 EXTCON Support" 8062306a36Sopenharmony_ci depends on MFD_MAX14577 8162306a36Sopenharmony_ci select IRQ_DOMAIN 8262306a36Sopenharmony_ci select REGMAP_I2C 8362306a36Sopenharmony_ci help 8462306a36Sopenharmony_ci If you say yes here you get support for the MUIC device of 8562306a36Sopenharmony_ci Maxim MAX14577/77836. The MAX14577/77836 MUIC is a USB port accessory 8662306a36Sopenharmony_ci detector and switch. 8762306a36Sopenharmony_ci 8862306a36Sopenharmony_ciconfig EXTCON_MAX3355 8962306a36Sopenharmony_ci tristate "Maxim MAX3355 USB OTG EXTCON Support" 9062306a36Sopenharmony_ci depends on GPIOLIB || COMPILE_TEST 9162306a36Sopenharmony_ci help 9262306a36Sopenharmony_ci If you say yes here you get support for the USB OTG role detection by 9362306a36Sopenharmony_ci MAX3355. The MAX3355 chip integrates a charge pump and comparators to 9462306a36Sopenharmony_ci enable a system with an integrated USB OTG dual-role transceiver to 9562306a36Sopenharmony_ci function as an USB OTG dual-role device. 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ciconfig EXTCON_MAX77693 9862306a36Sopenharmony_ci tristate "Maxim MAX77693 EXTCON Support" 9962306a36Sopenharmony_ci depends on MFD_MAX77693 && INPUT 10062306a36Sopenharmony_ci select IRQ_DOMAIN 10162306a36Sopenharmony_ci select REGMAP_I2C 10262306a36Sopenharmony_ci help 10362306a36Sopenharmony_ci If you say yes here you get support for the MUIC device of 10462306a36Sopenharmony_ci Maxim MAX77693 PMIC. The MAX77693 MUIC is a USB port accessory 10562306a36Sopenharmony_ci detector and switch. 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ciconfig EXTCON_MAX77843 10862306a36Sopenharmony_ci tristate "Maxim MAX77843 EXTCON Support" 10962306a36Sopenharmony_ci depends on MFD_MAX77843 11062306a36Sopenharmony_ci select IRQ_DOMAIN 11162306a36Sopenharmony_ci select REGMAP_I2C 11262306a36Sopenharmony_ci help 11362306a36Sopenharmony_ci If you say yes here you get support for the MUIC device of 11462306a36Sopenharmony_ci Maxim MAX77843. The MAX77843 MUIC is a USB port accessory 11562306a36Sopenharmony_ci detector add switch. 11662306a36Sopenharmony_ci 11762306a36Sopenharmony_ciconfig EXTCON_MAX8997 11862306a36Sopenharmony_ci tristate "Maxim MAX8997 EXTCON Support" 11962306a36Sopenharmony_ci depends on MFD_MAX8997 && IRQ_DOMAIN 12062306a36Sopenharmony_ci help 12162306a36Sopenharmony_ci If you say yes here you get support for the MUIC device of 12262306a36Sopenharmony_ci Maxim MAX8997 PMIC. The MAX8997 MUIC is a USB port accessory 12362306a36Sopenharmony_ci detector and switch. 12462306a36Sopenharmony_ci 12562306a36Sopenharmony_ciconfig EXTCON_PALMAS 12662306a36Sopenharmony_ci tristate "Palmas USB EXTCON support" 12762306a36Sopenharmony_ci depends on MFD_PALMAS 12862306a36Sopenharmony_ci help 12962306a36Sopenharmony_ci Say Y here to enable support for USB peripheral and USB host 13062306a36Sopenharmony_ci detection by palmas usb. 13162306a36Sopenharmony_ci 13262306a36Sopenharmony_ciconfig EXTCON_PTN5150 13362306a36Sopenharmony_ci tristate "NXP PTN5150 CC LOGIC USB EXTCON support" 13462306a36Sopenharmony_ci depends on I2C && (GPIOLIB || COMPILE_TEST) 13562306a36Sopenharmony_ci depends on USB_ROLE_SWITCH || !USB_ROLE_SWITCH 13662306a36Sopenharmony_ci select REGMAP_I2C 13762306a36Sopenharmony_ci help 13862306a36Sopenharmony_ci Say Y here to enable support for USB peripheral and USB host 13962306a36Sopenharmony_ci detection by NXP PTN5150 CC (Configuration Channel) logic chip. 14062306a36Sopenharmony_ci 14162306a36Sopenharmony_ciconfig EXTCON_QCOM_SPMI_MISC 14262306a36Sopenharmony_ci tristate "Qualcomm USB extcon support" 14362306a36Sopenharmony_ci depends on ARCH_QCOM || COMPILE_TEST 14462306a36Sopenharmony_ci help 14562306a36Sopenharmony_ci Say Y here to enable SPMI PMIC based USB cable detection 14662306a36Sopenharmony_ci support on Qualcomm PMICs such as PM8941. 14762306a36Sopenharmony_ci 14862306a36Sopenharmony_ciconfig EXTCON_RT8973A 14962306a36Sopenharmony_ci tristate "Richtek RT8973A EXTCON support" 15062306a36Sopenharmony_ci depends on I2C 15162306a36Sopenharmony_ci select IRQ_DOMAIN 15262306a36Sopenharmony_ci select REGMAP_I2C 15362306a36Sopenharmony_ci select REGMAP_IRQ 15462306a36Sopenharmony_ci help 15562306a36Sopenharmony_ci If you say yes here you get support for the MUIC device of 15662306a36Sopenharmony_ci Richtek RT8973A. The RT8973A is a USB port accessory detector 15762306a36Sopenharmony_ci and switch that is optimized to protect low voltage system 15862306a36Sopenharmony_ci from abnormal high input voltage (up to 28V). 15962306a36Sopenharmony_ci 16062306a36Sopenharmony_ciconfig EXTCON_SM5502 16162306a36Sopenharmony_ci tristate "Silicon Mitus SM5502/SM5504/SM5703 EXTCON support" 16262306a36Sopenharmony_ci depends on I2C 16362306a36Sopenharmony_ci select IRQ_DOMAIN 16462306a36Sopenharmony_ci select REGMAP_I2C 16562306a36Sopenharmony_ci select REGMAP_IRQ 16662306a36Sopenharmony_ci help 16762306a36Sopenharmony_ci If you say yes here you get support for the MUIC device of 16862306a36Sopenharmony_ci Silicon Mitus SM5502. The SM5502 is a USB port accessory 16962306a36Sopenharmony_ci detector and switch. 17062306a36Sopenharmony_ci 17162306a36Sopenharmony_ciconfig EXTCON_USB_GPIO 17262306a36Sopenharmony_ci tristate "USB GPIO extcon support" 17362306a36Sopenharmony_ci depends on GPIOLIB || COMPILE_TEST 17462306a36Sopenharmony_ci help 17562306a36Sopenharmony_ci Say Y here to enable GPIO based USB cable detection extcon support. 17662306a36Sopenharmony_ci Used typically if GPIO is used for USB ID pin detection. 17762306a36Sopenharmony_ci 17862306a36Sopenharmony_ciconfig EXTCON_USBC_CROS_EC 17962306a36Sopenharmony_ci tristate "ChromeOS Embedded Controller EXTCON support" 18062306a36Sopenharmony_ci depends on CROS_EC 18162306a36Sopenharmony_ci help 18262306a36Sopenharmony_ci Say Y here to enable USB Type C cable detection extcon support when 18362306a36Sopenharmony_ci using Chrome OS EC based USB Type-C ports. 18462306a36Sopenharmony_ci 18562306a36Sopenharmony_ciconfig EXTCON_USBC_TUSB320 18662306a36Sopenharmony_ci tristate "TI TUSB320 USB-C extcon support" 18762306a36Sopenharmony_ci depends on I2C && TYPEC 18862306a36Sopenharmony_ci select REGMAP_I2C 18962306a36Sopenharmony_ci depends on USB_ROLE_SWITCH || !USB_ROLE_SWITCH 19062306a36Sopenharmony_ci help 19162306a36Sopenharmony_ci Say Y here to enable support for USB Type C cable detection extcon 19262306a36Sopenharmony_ci support using a TUSB320. 19362306a36Sopenharmony_ci 19462306a36Sopenharmony_ciendif 195