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