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