xref: /openbmc/linux/drivers/extcon/Kconfig (revision 84b102f5)
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_FSA9480
41	tristate "FSA9480 EXTCON Support"
42	depends on INPUT && I2C
43	select IRQ_DOMAIN
44	select REGMAP_I2C
45	help
46	  If you say yes here you get support for the Fairchild Semiconductor
47	  FSA9480 microUSB switch and accessory detector chip. The FSA9480 is a USB
48	  port accessory detector and switch. The FSA9480 is fully controlled using
49	  I2C and enables USB data, stereo and mono audio, video, microphone
50	  and UART data to use a common connector port.
51
52config EXTCON_GPIO
53	tristate "GPIO extcon support"
54	depends on GPIOLIB || COMPILE_TEST
55	help
56	  Say Y here to enable GPIO based extcon support. Note that GPIO
57	  extcon supports single state per extcon instance.
58
59config EXTCON_INTEL_INT3496
60	tristate "Intel INT3496 ACPI device extcon driver"
61	depends on GPIOLIB && ACPI && (X86 || COMPILE_TEST)
62	help
63	  Say Y here to enable extcon support for USB OTG ports controlled by
64	  an Intel INT3496 ACPI device.
65
66	  This ACPI device is typically found on Intel Baytrail or Cherrytrail
67	  based tablets, or other Baytrail / Cherrytrail devices.
68
69config EXTCON_INTEL_CHT_WC
70	tristate "Intel Cherrytrail Whiskey Cove PMIC extcon driver"
71	depends on INTEL_SOC_PMIC_CHTWC
72	help
73	  Say Y here to enable extcon support for charger detection / control
74	  on the Intel Cherrytrail Whiskey Cove PMIC.
75
76config EXTCON_INTEL_MRFLD
77	tristate "Intel Merrifield Basin Cove PMIC extcon driver"
78	depends on INTEL_SOC_PMIC_MRFLD
79	help
80	  Say Y here to enable extcon support for charger detection / control
81	  on the Intel Merrifield Basin Cove PMIC.
82
83config EXTCON_MAX14577
84	tristate "Maxim MAX14577/77836 EXTCON Support"
85	depends on MFD_MAX14577
86	select IRQ_DOMAIN
87	select REGMAP_I2C
88	help
89	  If you say yes here you get support for the MUIC device of
90	  Maxim MAX14577/77836. The MAX14577/77836 MUIC is a USB port accessory
91	  detector and switch.
92
93config EXTCON_MAX3355
94	tristate "Maxim MAX3355 USB OTG EXTCON Support"
95	depends on GPIOLIB || COMPILE_TEST
96	help
97	  If you say yes here you get support for the USB OTG role detection by
98	  MAX3355. The MAX3355 chip integrates a charge pump and comparators to
99	  enable a system with an integrated USB OTG dual-role transceiver to
100	  function as an USB OTG dual-role device.
101
102config EXTCON_MAX77693
103	tristate "Maxim MAX77693 EXTCON Support"
104	depends on MFD_MAX77693 && INPUT
105	select IRQ_DOMAIN
106	select REGMAP_I2C
107	help
108	  If you say yes here you get support for the MUIC device of
109	  Maxim MAX77693 PMIC. The MAX77693 MUIC is a USB port accessory
110	  detector and switch.
111
112config EXTCON_MAX77843
113	tristate "Maxim MAX77843 EXTCON Support"
114	depends on MFD_MAX77843
115	select IRQ_DOMAIN
116	select REGMAP_I2C
117	help
118	  If you say yes here you get support for the MUIC device of
119	  Maxim MAX77843. The MAX77843 MUIC is a USB port accessory
120	  detector add switch.
121
122config EXTCON_MAX8997
123	tristate "Maxim MAX8997 EXTCON Support"
124	depends on MFD_MAX8997 && IRQ_DOMAIN
125	help
126	  If you say yes here you get support for the MUIC device of
127	  Maxim MAX8997 PMIC. The MAX8997 MUIC is a USB port accessory
128	  detector and switch.
129
130config EXTCON_PALMAS
131	tristate "Palmas USB EXTCON support"
132	depends on MFD_PALMAS
133	help
134	  Say Y here to enable support for USB peripheral and USB host
135	  detection by palmas usb.
136
137config EXTCON_PTN5150
138	tristate "NXP PTN5150 CC LOGIC USB EXTCON support"
139	depends on I2C && (GPIOLIB || COMPILE_TEST)
140	select REGMAP_I2C
141	help
142	  Say Y here to enable support for USB peripheral and USB host
143	  detection by NXP PTN5150 CC (Configuration Channel) logic chip.
144
145config EXTCON_QCOM_SPMI_MISC
146	tristate "Qualcomm USB extcon support"
147	depends on ARCH_QCOM || COMPILE_TEST
148	help
149	  Say Y here to enable SPMI PMIC based USB cable detection
150	  support on Qualcomm PMICs such as PM8941.
151
152config EXTCON_RT8973A
153	tristate "Richtek RT8973A 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	  Richtek RT8973A. The RT8973A is a USB port accessory detector
161	  and switch that is optimized to protect low voltage system
162	  from abnormal high input voltage (up to 28V).
163
164config EXTCON_SM5502
165	tristate "Silicon Mitus SM5502 EXTCON support"
166	depends on I2C
167	select IRQ_DOMAIN
168	select REGMAP_I2C
169	select REGMAP_IRQ
170	help
171	  If you say yes here you get support for the MUIC device of
172	  Silicon Mitus SM5502. The SM5502 is a USB port accessory
173	  detector and switch.
174
175config EXTCON_USB_GPIO
176	tristate "USB GPIO extcon support"
177	depends on GPIOLIB || COMPILE_TEST
178	help
179	  Say Y here to enable GPIO based USB cable detection extcon support.
180	  Used typically if GPIO is used for USB ID pin detection.
181
182config EXTCON_USBC_CROS_EC
183	tristate "ChromeOS Embedded Controller EXTCON support"
184	depends on CROS_EC
185	help
186	  Say Y here to enable USB Type C cable detection extcon support when
187	  using Chrome OS EC based USB Type-C ports.
188
189config EXTCON_USBC_TUSB320
190	tristate "TI TUSB320 USB-C extcon support"
191	depends on I2C
192	select REGMAP_I2C
193	help
194	  Say Y here to enable support for USB Type C cable detection extcon
195	  support using a TUSB320.
196
197endif
198