xref: /kernel/linux/linux-6.6/drivers/extcon/Kconfig (revision 62306a36)
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