1 # SPDX-License-Identifier: GPL-2.0-only
2 menuconfig 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 
14 if EXTCON
15 
16 comment "Extcon Device Drivers"
17 
18 config 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 
24 config 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 
32 config 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 
44 config 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 
51 config 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 
61 config 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 
71 config 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 
78 config 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 
89 config 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 
99 config 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 
108 config 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 
118 config 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 
128 config 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 
137 config EXTCON_PALMAS
138 	tristate "Palmas USB EXTCON support"
139 	depends on MFD_PALMAS
140 	help
141 	  Say Y here to enable support for USB peripheral and USB host
142 	  detection by palmas usb.
143 
144 config EXTCON_PTN5150
145 	tristate "NXP PTN5150 CC LOGIC USB EXTCON support"
146 	depends on I2C && (GPIOLIB || COMPILE_TEST)
147 	depends on USB_ROLE_SWITCH || !USB_ROLE_SWITCH
148 	select REGMAP_I2C
149 	help
150 	  Say Y here to enable support for USB peripheral and USB host
151 	  detection by NXP PTN5150 CC (Configuration Channel) logic chip.
152 
153 config EXTCON_QCOM_SPMI_MISC
154 	tristate "Qualcomm USB extcon support"
155 	depends on ARCH_QCOM || COMPILE_TEST
156 	help
157 	  Say Y here to enable SPMI PMIC based USB cable detection
158 	  support on Qualcomm PMICs such as PM8941.
159 
160 config EXTCON_RT8973A
161 	tristate "Richtek RT8973A EXTCON support"
162 	depends on I2C
163 	select IRQ_DOMAIN
164 	select REGMAP_I2C
165 	select REGMAP_IRQ
166 	help
167 	  If you say yes here you get support for the MUIC device of
168 	  Richtek RT8973A. The RT8973A is a USB port accessory detector
169 	  and switch that is optimized to protect low voltage system
170 	  from abnormal high input voltage (up to 28V).
171 
172 config EXTCON_SM5502
173 	tristate "Silicon Mitus SM5502/SM5504/SM5703 EXTCON support"
174 	depends on I2C
175 	select IRQ_DOMAIN
176 	select REGMAP_I2C
177 	select REGMAP_IRQ
178 	help
179 	  If you say yes here you get support for the MUIC device of
180 	  Silicon Mitus SM5502. The SM5502 is a USB port accessory
181 	  detector and switch.
182 
183 config EXTCON_USB_GPIO
184 	tristate "USB GPIO extcon support"
185 	depends on GPIOLIB || COMPILE_TEST
186 	help
187 	  Say Y here to enable GPIO based USB cable detection extcon support.
188 	  Used typically if GPIO is used for USB ID pin detection.
189 
190 config EXTCON_USBC_CROS_EC
191 	tristate "ChromeOS Embedded Controller EXTCON support"
192 	depends on CROS_EC
193 	help
194 	  Say Y here to enable USB Type C cable detection extcon support when
195 	  using Chrome OS EC based USB Type-C ports.
196 
197 config EXTCON_USBC_TUSB320
198 	tristate "TI TUSB320 USB-C extcon support"
199 	depends on I2C && TYPEC
200 	select REGMAP_I2C
201 	depends on USB_ROLE_SWITCH || !USB_ROLE_SWITCH
202 	help
203 	  Say Y here to enable support for USB Type C cable detection extcon
204 	  support using a TUSB320.
205 
206 config EXTCON_RTK_TYPE_C
207 	tristate "Realtek RTD SoC extcon Type-C Driver"
208 	depends on ARCH_REALTEK || COMPILE_TEST
209 	depends on TYPEC
210 	select USB_COMMON
211 	help
212 	  Say Y here to enable extcon support for USB Type C cable detection
213 	  when using the Realtek RTD SoC USB Type-C port.
214 	  The DHC (Digital Home Hub) RTD series SoC contains a type c module.
215 	  This driver will detect the status of the type-c port.
216 
217 endif
218