xref: /linux/drivers/extcon/Kconfig (revision 68a052239fc4b351e961f698b824f7654a346091)
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_AXP288
25	tristate "X-Power AXP288 EXTCON support"
26	depends on MFD_AXP20X && USB_SUPPORT && X86 && ACPI && IOSF_MBI
27	select USB_ROLE_SWITCH
28	help
29	  Say Y here to enable support for USB peripheral detection
30	  and USB MUX switching by X-Power AXP288 PMIC.
31
32config EXTCON_FSA9480
33	tristate "FSA9480 EXTCON Support"
34	depends on INPUT && I2C
35	select IRQ_DOMAIN
36	select REGMAP_I2C
37	help
38	  If you say yes here you get support for the Fairchild Semiconductor
39	  FSA9480 microUSB switch and accessory detector chip. The FSA9480 is a USB
40	  port accessory detector and switch. The FSA9480 is fully controlled using
41	  I2C and enables USB data, stereo and mono audio, video, microphone
42	  and UART data to use a common connector port.
43
44config EXTCON_GPIO
45	tristate "GPIO extcon support"
46	depends on GPIOLIB || COMPILE_TEST
47	help
48	  Say Y here to enable GPIO based extcon support. Note that GPIO
49	  extcon supports single state per extcon instance.
50
51config EXTCON_INTEL_INT3496
52	tristate "Intel INT3496 ACPI device extcon driver"
53	depends on GPIOLIB && ACPI && (X86 || COMPILE_TEST)
54	help
55	  Say Y here to enable extcon support for USB OTG ports controlled by
56	  an Intel INT3496 ACPI device.
57
58	  This ACPI device is typically found on Intel Baytrail or Cherrytrail
59	  based tablets, or other Baytrail / Cherrytrail devices.
60
61config EXTCON_INTEL_CHT_WC
62	tristate "Intel Cherrytrail Whiskey Cove PMIC extcon driver"
63	depends on INTEL_SOC_PMIC_CHTWC
64	depends on USB_SUPPORT
65	depends on POWER_SUPPLY
66	select USB_ROLE_SWITCH
67	help
68	  Say Y here to enable extcon support for charger detection / control
69	  on the Intel Cherrytrail Whiskey Cove PMIC.
70
71config EXTCON_INTEL_MRFLD
72	tristate "Intel Merrifield Basin Cove PMIC extcon driver"
73	depends on INTEL_SOC_PMIC_MRFLD
74	help
75	  Say Y here to enable extcon support for charger detection / control
76	  on the Intel Merrifield Basin Cove PMIC.
77
78config EXTCON_LC824206XA
79	tristate "LC824206XA extcon Support"
80	depends on I2C
81	depends on POWER_SUPPLY
82	help
83	  Say Y here to enable support for the ON Semiconductor LC824206XA
84	  microUSB switch and accessory detector chip. The LC824206XA is a USB
85	  port accessory detector and switch. The LC824206XA is fully controlled
86	  using I2C and enables USB data, stereo and mono audio, video,
87	  microphone and UART data to use a common connector port.
88
89config EXTCON_MAX14577
90	tristate "Maxim MAX14577/77836 EXTCON Support"
91	depends on MFD_MAX14577
92	select IRQ_DOMAIN
93	select REGMAP_I2C
94	help
95	  If you say yes here you get support for the MUIC device of
96	  Maxim MAX14577/77836. The MAX14577/77836 MUIC is a USB port accessory
97	  detector and switch.
98
99config EXTCON_MAX3355
100	tristate "Maxim MAX3355 USB OTG EXTCON Support"
101	depends on GPIOLIB || COMPILE_TEST
102	help
103	  If you say yes here you get support for the USB OTG role detection by
104	  MAX3355. The MAX3355 chip integrates a charge pump and comparators to
105	  enable a system with an integrated USB OTG dual-role transceiver to
106	  function as an USB OTG dual-role device.
107
108config EXTCON_MAX77693
109	tristate "Maxim MAX77693 EXTCON Support"
110	depends on MFD_MAX77693 && INPUT
111	select IRQ_DOMAIN
112	select REGMAP_I2C
113	help
114	  If you say yes here you get support for the MUIC device of
115	  Maxim MAX77693 PMIC. The MAX77693 MUIC is a USB port accessory
116	  detector and switch.
117
118config EXTCON_MAX77843
119	tristate "Maxim MAX77843 EXTCON Support"
120	depends on MFD_MAX77843
121	select IRQ_DOMAIN
122	select REGMAP_I2C
123	help
124	  If you say yes here you get support for the MUIC device of
125	  Maxim MAX77843. The MAX77843 MUIC is a USB port accessory
126	  detector add switch.
127
128config EXTCON_MAX8997
129	tristate "Maxim MAX8997 EXTCON Support"
130	depends on MFD_MAX8997
131	select IRQ_DOMAIN
132	help
133	  If you say yes here you get support for the MUIC device of
134	  Maxim MAX8997 PMIC. The MAX8997 MUIC is a USB port accessory
135	  detector and switch.
136
137config EXTCON_MAX14526
138	tristate "Maxim MAX14526 EXTCON Support"
139	depends on I2C
140	select IRQ_DOMAIN
141	select REGMAP_I2C
142	help
143	  If you say yes here you get support for the Maxim MAX14526
144	  MUIC device. The MAX14526 MUIC is a USB port accessory
145	  detector and switch. The MAX14526 is designed to simplify
146	  interface requirements on portable devices by multiplexing
147	  common inputs (USB, UART, Microphone, Stereo Audio and
148	  Composite Video) on a single micro/mini USB connector.
149
150config EXTCON_PALMAS
151	tristate "Palmas USB EXTCON support"
152	depends on MFD_PALMAS
153	help
154	  Say Y here to enable support for USB peripheral and USB host
155	  detection by palmas usb.
156
157config EXTCON_PTN5150
158	tristate "NXP PTN5150 CC LOGIC USB EXTCON support"
159	depends on I2C && (GPIOLIB || COMPILE_TEST)
160	depends on USB_ROLE_SWITCH || !USB_ROLE_SWITCH
161	select REGMAP_I2C
162	help
163	  Say Y here to enable support for USB peripheral and USB host
164	  detection by NXP PTN5150 CC (Configuration Channel) logic chip.
165
166config EXTCON_QCOM_SPMI_MISC
167	tristate "Qualcomm USB extcon support"
168	depends on ARCH_QCOM || COMPILE_TEST
169	help
170	  Say Y here to enable SPMI PMIC based USB cable detection
171	  support on Qualcomm PMICs such as PM8941.
172
173config EXTCON_RT8973A
174	tristate "Richtek RT8973A EXTCON support"
175	depends on I2C
176	select IRQ_DOMAIN
177	select REGMAP_I2C
178	select REGMAP_IRQ
179	help
180	  If you say yes here you get support for the MUIC device of
181	  Richtek RT8973A. The RT8973A is a USB port accessory detector
182	  and switch that is optimized to protect low voltage system
183	  from abnormal high input voltage (up to 28V).
184
185config EXTCON_SM5502
186	tristate "Silicon Mitus SM5502/SM5504/SM5703 EXTCON support"
187	depends on I2C
188	select IRQ_DOMAIN
189	select REGMAP_I2C
190	select REGMAP_IRQ
191	help
192	  If you say yes here you get support for the MUIC device of
193	  Silicon Mitus SM5502. The SM5502 is a USB port accessory
194	  detector and switch.
195
196config EXTCON_USB_GPIO
197	tristate "USB GPIO extcon support"
198	depends on GPIOLIB || COMPILE_TEST
199	help
200	  Say Y here to enable GPIO based USB cable detection extcon support.
201	  Used typically if GPIO is used for USB ID pin detection.
202
203config EXTCON_USBC_CROS_EC
204	tristate "ChromeOS Embedded Controller EXTCON support"
205	depends on CROS_EC
206	help
207	  Say Y here to enable USB Type C cable detection extcon support when
208	  using Chrome OS EC based USB Type-C ports.
209
210config EXTCON_USBC_TUSB320
211	tristate "TI TUSB320 USB-C extcon support"
212	depends on I2C && TYPEC
213	select REGMAP_I2C
214	depends on USB_ROLE_SWITCH || !USB_ROLE_SWITCH
215	help
216	  Say Y here to enable support for USB Type C cable detection extcon
217	  support using a TUSB320.
218
219config EXTCON_RTK_TYPE_C
220	tristate "Realtek RTD SoC extcon Type-C Driver"
221	depends on ARCH_REALTEK || COMPILE_TEST
222	depends on TYPEC
223	select USB_COMMON
224	help
225	  Say Y here to enable extcon support for USB Type C cable detection
226	  when using the Realtek RTD SoC USB Type-C port.
227	  The DHC (Digital Home Hub) RTD series SoC contains a type c module.
228	  This driver will detect the status of the type-c port.
229
230endif
231