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