^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) menuconfig EXTCON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) tristate "External Connector Class (extcon) support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) Say Y here to enable external connector class (extcon) support.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) This allows monitoring external connectors by userspace
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) via sysfs and uevent and supports external connectors with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) multiple states; i.e., an extcon that may have multiple
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) cables attached. For example, an external connector of a device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) may be used to connect an HDMI cable and a AC adaptor, and to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) host USB ports. Many of 30-pin connectors including PDMI are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) also good examples.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) if EXTCON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) comment "Extcon Device Drivers"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) config EXTCON_ADC_JACK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) tristate "ADC Jack extcon support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) depends on IIO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) Say Y here to enable extcon device driver based on ADC values.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) config EXTCON_ARIZONA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) tristate "Wolfson Arizona EXTCON support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) depends on MFD_ARIZONA && INPUT && SND_SOC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) Say Y here to enable support for external accessory detection
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) with Wolfson Arizona devices. These are audio CODECs with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) advanced audio accessory detection support.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) config EXTCON_AXP288
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) tristate "X-Power AXP288 EXTCON support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) depends on MFD_AXP20X && USB_SUPPORT && X86 && ACPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) select USB_ROLE_SWITCH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) Say Y here to enable support for USB peripheral detection
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) and USB MUX switching by X-Power AXP288 PMIC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) config EXTCON_FSA9480
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) tristate "FSA9480 EXTCON Support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) depends on INPUT && I2C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) select IRQ_DOMAIN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) select REGMAP_I2C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) If you say yes here you get support for the Fairchild Semiconductor
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) FSA9480 microUSB switch and accessory detector chip. The FSA9480 is a USB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) port accessory detector and switch. The FSA9480 is fully controlled using
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) I2C and enables USB data, stereo and mono audio, video, microphone
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) and UART data to use a common connector port.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) config EXTCON_GPIO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) tristate "GPIO extcon support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) depends on GPIOLIB || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) Say Y here to enable GPIO based extcon support. Note that GPIO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) extcon supports single state per extcon instance.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) config EXTCON_INTEL_INT3496
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) tristate "Intel INT3496 ACPI device extcon driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) depends on GPIOLIB && ACPI && (X86 || COMPILE_TEST)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) Say Y here to enable extcon support for USB OTG ports controlled by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) an Intel INT3496 ACPI device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) This ACPI device is typically found on Intel Baytrail or Cherrytrail
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) based tablets, or other Baytrail / Cherrytrail devices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) config EXTCON_INTEL_CHT_WC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) tristate "Intel Cherrytrail Whiskey Cove PMIC extcon driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) depends on INTEL_SOC_PMIC_CHTWC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) Say Y here to enable extcon support for charger detection / control
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) on the Intel Cherrytrail Whiskey Cove PMIC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) config EXTCON_INTEL_MRFLD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) tristate "Intel Merrifield Basin Cove PMIC extcon driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) depends on INTEL_SOC_PMIC_MRFLD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) Say Y here to enable extcon support for charger detection / control
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) on the Intel Merrifield Basin Cove PMIC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) config EXTCON_MAX14577
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) tristate "Maxim MAX14577/77836 EXTCON Support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) depends on MFD_MAX14577
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) select IRQ_DOMAIN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) select REGMAP_I2C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) If you say yes here you get support for the MUIC device of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) Maxim MAX14577/77836. The MAX14577/77836 MUIC is a USB port accessory
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) detector and switch.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) config EXTCON_MAX3355
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) tristate "Maxim MAX3355 USB OTG EXTCON Support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) depends on GPIOLIB || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) If you say yes here you get support for the USB OTG role detection by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) MAX3355. The MAX3355 chip integrates a charge pump and comparators to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) enable a system with an integrated USB OTG dual-role transceiver to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) function as an USB OTG dual-role device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) config EXTCON_MAX77693
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) tristate "Maxim MAX77693 EXTCON Support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) depends on MFD_MAX77693 && INPUT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) select IRQ_DOMAIN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) select REGMAP_I2C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) If you say yes here you get support for the MUIC device of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) Maxim MAX77693 PMIC. The MAX77693 MUIC is a USB port accessory
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) detector and switch.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) config EXTCON_MAX77843
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) tristate "Maxim MAX77843 EXTCON Support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) depends on MFD_MAX77843
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) select IRQ_DOMAIN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) select REGMAP_I2C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) If you say yes here you get support for the MUIC device of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) Maxim MAX77843. The MAX77843 MUIC is a USB port accessory
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) detector add switch.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) config EXTCON_MAX8997
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) tristate "Maxim MAX8997 EXTCON Support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) depends on MFD_MAX8997 && IRQ_DOMAIN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) If you say yes here you get support for the MUIC device of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) Maxim MAX8997 PMIC. The MAX8997 MUIC is a USB port accessory
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) detector and switch.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) config EXTCON_PALMAS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) tristate "Palmas USB EXTCON support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) depends on MFD_PALMAS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) Say Y here to enable support for USB peripheral and USB host
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) detection by palmas usb.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) config EXTCON_PTN5150
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) tristate "NXP PTN5150 CC LOGIC USB EXTCON support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) depends on I2C && (GPIOLIB || COMPILE_TEST)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) select REGMAP_I2C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) Say Y here to enable support for USB peripheral and USB host
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) detection by NXP PTN5150 CC (Configuration Channel) logic chip.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) config EXTCON_QCOM_SPMI_MISC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) tristate "Qualcomm USB extcon support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) depends on ARCH_QCOM || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) Say Y here to enable SPMI PMIC based USB cable detection
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) support on Qualcomm PMICs such as PM8941.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) config EXTCON_RT8973A
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) tristate "Richtek RT8973A EXTCON support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) depends on I2C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) select IRQ_DOMAIN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) select REGMAP_I2C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) select REGMAP_IRQ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) If you say yes here you get support for the MUIC device of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) Richtek RT8973A. The RT8973A is a USB port accessory detector
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) and switch that is optimized to protect low voltage system
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) from abnormal high input voltage (up to 28V).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) config EXTCON_SM5502
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) tristate "Silicon Mitus SM5502 EXTCON support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) depends on I2C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) select IRQ_DOMAIN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) select REGMAP_I2C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) select REGMAP_IRQ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) If you say yes here you get support for the MUIC device of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) Silicon Mitus SM5502. The SM5502 is a USB port accessory
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) detector and switch.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) config EXTCON_USB_GPIO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) tristate "USB GPIO extcon support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) depends on GPIOLIB || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) Say Y here to enable GPIO based USB cable detection extcon support.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) Used typically if GPIO is used for USB ID pin detection.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) config EXTCON_USBC_CROS_EC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) tristate "ChromeOS Embedded Controller EXTCON support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) depends on CROS_EC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) Say Y here to enable USB Type C cable detection extcon support when
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) using Chrome OS EC based USB Type-C ports.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) endif