xref: /linux/drivers/usb/typec/ucsi/Kconfig (revision 44f57d78)
1# SPDX-License-Identifier: GPL-2.0
2
3config TYPEC_UCSI
4	tristate "USB Type-C Connector System Software Interface driver"
5	depends on !CPU_BIG_ENDIAN
6	help
7	  USB Type-C Connector System Software Interface (UCSI) is a
8	  specification for an interface that allows the operating system to
9	  control the USB Type-C ports. On UCSI system the USB Type-C ports
10	  function autonomously by default, but in order to get the status of
11	  the ports and support basic operations like role swapping, the driver
12	  is required. UCSI is available on most of the new Intel based systems
13	  that are equipped with Embedded Controller and USB Type-C ports.
14
15	  UCSI specification does not define the interface method, so depending
16	  on the platform, ACPI, PCI, I2C, etc. may be used. Therefore this
17	  driver only provides the core part, and separate drivers are needed
18	  for every supported interface method.
19
20	  The UCSI specification can be downloaded from:
21	  http://www.intel.com/content/www/us/en/io/universal-serial-bus/usb-type-c-ucsi-spec.html
22
23	  To compile the driver as a module, choose M here: the module will be
24	  called typec_ucsi.
25
26if TYPEC_UCSI
27
28config UCSI_CCG
29	tristate "UCSI Interface Driver for Cypress CCGx"
30	depends on I2C
31	help
32	  This driver enables UCSI support on platforms that expose a
33	  Cypress CCGx Type-C controller over I2C interface.
34
35	  To compile the driver as a module, choose M here: the module will be
36	  called ucsi_ccg.
37
38config UCSI_ACPI
39	tristate "UCSI ACPI Interface Driver"
40	depends on ACPI
41	help
42	  This driver enables UCSI support on platforms that expose UCSI
43	  interface as ACPI device. On new Intel Atom based platforms starting
44	  from Broxton SoCs and Core platforms stating from Skylake, UCSI is an
45	  ACPI enumerated device.
46
47	  To compile the driver as a module, choose M here: the module will be
48	  called ucsi_acpi
49
50endif
51