Merge tag 'i2c-for-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa...
[platform/kernel/linux-rpi.git] / drivers / extcon / Kconfig
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_MAX14577
79         tristate "Maxim MAX14577/77836 EXTCON Support"
80         depends on MFD_MAX14577
81         select IRQ_DOMAIN
82         select REGMAP_I2C
83         help
84           If you say yes here you get support for the MUIC device of
85           Maxim MAX14577/77836. The MAX14577/77836 MUIC is a USB port accessory
86           detector and switch.
87
88 config EXTCON_MAX3355
89         tristate "Maxim MAX3355 USB OTG EXTCON Support"
90         depends on GPIOLIB || COMPILE_TEST
91         help
92           If you say yes here you get support for the USB OTG role detection by
93           MAX3355. The MAX3355 chip integrates a charge pump and comparators to
94           enable a system with an integrated USB OTG dual-role transceiver to
95           function as an USB OTG dual-role device.
96
97 config EXTCON_MAX77693
98         tristate "Maxim MAX77693 EXTCON Support"
99         depends on MFD_MAX77693 && INPUT
100         select IRQ_DOMAIN
101         select REGMAP_I2C
102         help
103           If you say yes here you get support for the MUIC device of
104           Maxim MAX77693 PMIC. The MAX77693 MUIC is a USB port accessory
105           detector and switch.
106
107 config EXTCON_MAX77843
108         tristate "Maxim MAX77843 EXTCON Support"
109         depends on MFD_MAX77843
110         select IRQ_DOMAIN
111         select REGMAP_I2C
112         help
113           If you say yes here you get support for the MUIC device of
114           Maxim MAX77843. The MAX77843 MUIC is a USB port accessory
115           detector add switch.
116
117 config EXTCON_MAX8997
118         tristate "Maxim MAX8997 EXTCON Support"
119         depends on MFD_MAX8997 && IRQ_DOMAIN
120         help
121           If you say yes here you get support for the MUIC device of
122           Maxim MAX8997 PMIC. The MAX8997 MUIC is a USB port accessory
123           detector and switch.
124
125 config EXTCON_PALMAS
126         tristate "Palmas USB EXTCON support"
127         depends on MFD_PALMAS
128         help
129           Say Y here to enable support for USB peripheral and USB host
130           detection by palmas usb.
131
132 config EXTCON_PTN5150
133         tristate "NXP PTN5150 CC LOGIC USB EXTCON support"
134         depends on I2C && (GPIOLIB || COMPILE_TEST)
135         depends on USB_ROLE_SWITCH || !USB_ROLE_SWITCH
136         select REGMAP_I2C
137         help
138           Say Y here to enable support for USB peripheral and USB host
139           detection by NXP PTN5150 CC (Configuration Channel) logic chip.
140
141 config EXTCON_QCOM_SPMI_MISC
142         tristate "Qualcomm USB extcon support"
143         depends on ARCH_QCOM || COMPILE_TEST
144         help
145           Say Y here to enable SPMI PMIC based USB cable detection
146           support on Qualcomm PMICs such as PM8941.
147
148 config EXTCON_RT8973A
149         tristate "Richtek RT8973A EXTCON support"
150         depends on I2C
151         select IRQ_DOMAIN
152         select REGMAP_I2C
153         select REGMAP_IRQ
154         help
155           If you say yes here you get support for the MUIC device of
156           Richtek RT8973A. The RT8973A is a USB port accessory detector
157           and switch that is optimized to protect low voltage system
158           from abnormal high input voltage (up to 28V).
159
160 config EXTCON_SM5502
161         tristate "Silicon Mitus SM5502/SM5504/SM5703 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           Silicon Mitus SM5502. The SM5502 is a USB port accessory
169           detector and switch.
170
171 config EXTCON_USB_GPIO
172         tristate "USB GPIO extcon support"
173         depends on GPIOLIB || COMPILE_TEST
174         help
175           Say Y here to enable GPIO based USB cable detection extcon support.
176           Used typically if GPIO is used for USB ID pin detection.
177
178 config EXTCON_USBC_CROS_EC
179         tristate "ChromeOS Embedded Controller EXTCON support"
180         depends on CROS_EC
181         help
182           Say Y here to enable USB Type C cable detection extcon support when
183           using Chrome OS EC based USB Type-C ports.
184
185 config EXTCON_USBC_TUSB320
186         tristate "TI TUSB320 USB-C extcon support"
187         depends on I2C && TYPEC
188         select REGMAP_I2C
189         depends on USB_ROLE_SWITCH || !USB_ROLE_SWITCH
190         help
191           Say Y here to enable support for USB Type C cable detection extcon
192           support using a TUSB320.
193
194 endif