# SPDX-License-Identifier: GPL-2.0 config TYPEC_UCSI tristate "USB Type-C Connector System Software Interface driver" depends on !CPU_BIG_ENDIAN help USB Type-C Connector System Software Interface (UCSI) is a specification for an interface that allows the operating system to control the USB Type-C ports. On UCSI system the USB Type-C ports function autonomously by default, but in order to get the status of the ports and support basic operations like role swapping, the driver is required. UCSI is available on most of the new Intel based systems that are equipped with Embedded Controller and USB Type-C ports. UCSI specification does not define the interface method, so depending on the platform, ACPI, PCI, I2C, etc. may be used. Therefore this driver only provides the core part, and separate drivers are needed for every supported interface method. The UCSI specification can be downloaded from: http://www.intel.com/content/www/us/en/io/universal-serial-bus/usb-type-c-ucsi-spec.html To compile the driver as a module, choose M here: the module will be called typec_ucsi. if TYPEC_UCSI config UCSI_CCG tristate "UCSI Interface Driver for Cypress CCGx" depends on I2C help This driver enables UCSI support on platforms that expose a Cypress CCGx Type-C controller over I2C interface. To compile the driver as a module, choose M here: the module will be called ucsi_ccg. config UCSI_ACPI tristate "UCSI ACPI Interface Driver" depends on ACPI help This driver enables UCSI support on platforms that expose UCSI interface as ACPI device. On new Intel Atom based platforms starting from Broxton SoCs and Core platforms stating from Skylake, UCSI is an ACPI enumerated device. To compile the driver as a module, choose M here: the module will be called ucsi_acpi endif