0001 # SPDX-License-Identifier: GPL-2.0-only
0002 menuconfig EXTCON
0003 tristate "External Connector Class (extcon) support"
0004 help
0005 Say Y here to enable external connector class (extcon) support.
0006 This allows monitoring external connectors by userspace
0007 via sysfs and uevent and supports external connectors with
0008 multiple states; i.e., an extcon that may have multiple
0009 cables attached. For example, an external connector of a device
0010 may be used to connect an HDMI cable and a AC adaptor, and to
0011 host USB ports. Many of 30-pin connectors including PDMI are
0012 also good examples.
0013
0014 if EXTCON
0015
0016 comment "Extcon Device Drivers"
0017
0018 config EXTCON_ADC_JACK
0019 tristate "ADC Jack extcon support"
0020 depends on IIO
0021 help
0022 Say Y here to enable extcon device driver based on ADC values.
0023
0024 config EXTCON_AXP288
0025 tristate "X-Power AXP288 EXTCON support"
0026 depends on MFD_AXP20X && USB_SUPPORT && X86 && ACPI && IOSF_MBI
0027 select USB_ROLE_SWITCH
0028 help
0029 Say Y here to enable support for USB peripheral detection
0030 and USB MUX switching by X-Power AXP288 PMIC.
0031
0032 config EXTCON_FSA9480
0033 tristate "FSA9480 EXTCON Support"
0034 depends on INPUT && I2C
0035 select IRQ_DOMAIN
0036 select REGMAP_I2C
0037 help
0038 If you say yes here you get support for the Fairchild Semiconductor
0039 FSA9480 microUSB switch and accessory detector chip. The FSA9480 is a USB
0040 port accessory detector and switch. The FSA9480 is fully controlled using
0041 I2C and enables USB data, stereo and mono audio, video, microphone
0042 and UART data to use a common connector port.
0043
0044 config EXTCON_GPIO
0045 tristate "GPIO extcon support"
0046 depends on GPIOLIB || COMPILE_TEST
0047 help
0048 Say Y here to enable GPIO based extcon support. Note that GPIO
0049 extcon supports single state per extcon instance.
0050
0051 config EXTCON_INTEL_INT3496
0052 tristate "Intel INT3496 ACPI device extcon driver"
0053 depends on GPIOLIB && ACPI && (X86 || COMPILE_TEST)
0054 help
0055 Say Y here to enable extcon support for USB OTG ports controlled by
0056 an Intel INT3496 ACPI device.
0057
0058 This ACPI device is typically found on Intel Baytrail or Cherrytrail
0059 based tablets, or other Baytrail / Cherrytrail devices.
0060
0061 config EXTCON_INTEL_CHT_WC
0062 tristate "Intel Cherrytrail Whiskey Cove PMIC extcon driver"
0063 depends on INTEL_SOC_PMIC_CHTWC
0064 depends on USB_SUPPORT
0065 select USB_ROLE_SWITCH
0066 help
0067 Say Y here to enable extcon support for charger detection / control
0068 on the Intel Cherrytrail Whiskey Cove PMIC.
0069
0070 config EXTCON_INTEL_MRFLD
0071 tristate "Intel Merrifield Basin Cove PMIC extcon driver"
0072 depends on INTEL_SOC_PMIC_MRFLD
0073 help
0074 Say Y here to enable extcon support for charger detection / control
0075 on the Intel Merrifield Basin Cove PMIC.
0076
0077 config EXTCON_MAX14577
0078 tristate "Maxim MAX14577/77836 EXTCON Support"
0079 depends on MFD_MAX14577
0080 select IRQ_DOMAIN
0081 select REGMAP_I2C
0082 help
0083 If you say yes here you get support for the MUIC device of
0084 Maxim MAX14577/77836. The MAX14577/77836 MUIC is a USB port accessory
0085 detector and switch.
0086
0087 config EXTCON_MAX3355
0088 tristate "Maxim MAX3355 USB OTG EXTCON Support"
0089 depends on GPIOLIB || COMPILE_TEST
0090 help
0091 If you say yes here you get support for the USB OTG role detection by
0092 MAX3355. The MAX3355 chip integrates a charge pump and comparators to
0093 enable a system with an integrated USB OTG dual-role transceiver to
0094 function as an USB OTG dual-role device.
0095
0096 config EXTCON_MAX77693
0097 tristate "Maxim MAX77693 EXTCON Support"
0098 depends on MFD_MAX77693 && INPUT
0099 select IRQ_DOMAIN
0100 select REGMAP_I2C
0101 help
0102 If you say yes here you get support for the MUIC device of
0103 Maxim MAX77693 PMIC. The MAX77693 MUIC is a USB port accessory
0104 detector and switch.
0105
0106 config EXTCON_MAX77843
0107 tristate "Maxim MAX77843 EXTCON Support"
0108 depends on MFD_MAX77843
0109 select IRQ_DOMAIN
0110 select REGMAP_I2C
0111 help
0112 If you say yes here you get support for the MUIC device of
0113 Maxim MAX77843. The MAX77843 MUIC is a USB port accessory
0114 detector add switch.
0115
0116 config EXTCON_MAX8997
0117 tristate "Maxim MAX8997 EXTCON Support"
0118 depends on MFD_MAX8997 && IRQ_DOMAIN
0119 help
0120 If you say yes here you get support for the MUIC device of
0121 Maxim MAX8997 PMIC. The MAX8997 MUIC is a USB port accessory
0122 detector and switch.
0123
0124 config EXTCON_PALMAS
0125 tristate "Palmas USB EXTCON support"
0126 depends on MFD_PALMAS
0127 help
0128 Say Y here to enable support for USB peripheral and USB host
0129 detection by palmas usb.
0130
0131 config EXTCON_PTN5150
0132 tristate "NXP PTN5150 CC LOGIC USB EXTCON support"
0133 depends on I2C && (GPIOLIB || COMPILE_TEST)
0134 depends on USB_ROLE_SWITCH || !USB_ROLE_SWITCH
0135 select REGMAP_I2C
0136 help
0137 Say Y here to enable support for USB peripheral and USB host
0138 detection by NXP PTN5150 CC (Configuration Channel) logic chip.
0139
0140 config EXTCON_QCOM_SPMI_MISC
0141 tristate "Qualcomm USB extcon support"
0142 depends on ARCH_QCOM || COMPILE_TEST
0143 help
0144 Say Y here to enable SPMI PMIC based USB cable detection
0145 support on Qualcomm PMICs such as PM8941.
0146
0147 config EXTCON_RT8973A
0148 tristate "Richtek RT8973A EXTCON support"
0149 depends on I2C
0150 select IRQ_DOMAIN
0151 select REGMAP_I2C
0152 select REGMAP_IRQ
0153 help
0154 If you say yes here you get support for the MUIC device of
0155 Richtek RT8973A. The RT8973A is a USB port accessory detector
0156 and switch that is optimized to protect low voltage system
0157 from abnormal high input voltage (up to 28V).
0158
0159 config EXTCON_SM5502
0160 tristate "Silicon Mitus SM5502/SM5504/SM5703 EXTCON support"
0161 depends on I2C
0162 select IRQ_DOMAIN
0163 select REGMAP_I2C
0164 select REGMAP_IRQ
0165 help
0166 If you say yes here you get support for the MUIC device of
0167 Silicon Mitus SM5502. The SM5502 is a USB port accessory
0168 detector and switch.
0169
0170 config EXTCON_USB_GPIO
0171 tristate "USB GPIO extcon support"
0172 depends on GPIOLIB || COMPILE_TEST
0173 help
0174 Say Y here to enable GPIO based USB cable detection extcon support.
0175 Used typically if GPIO is used for USB ID pin detection.
0176
0177 config EXTCON_USBC_CROS_EC
0178 tristate "ChromeOS Embedded Controller EXTCON support"
0179 depends on CROS_EC
0180 help
0181 Say Y here to enable USB Type C cable detection extcon support when
0182 using Chrome OS EC based USB Type-C ports.
0183
0184 config EXTCON_USBC_TUSB320
0185 tristate "TI TUSB320 USB-C extcon support"
0186 depends on I2C
0187 select REGMAP_I2C
0188 help
0189 Say Y here to enable support for USB Type C cable detection extcon
0190 support using a TUSB320.
0191
0192 endif