123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- menuconfig TYPEC
- tristate "USB Type-C Support"
- help
- USB Type-C Specification defines a cable and connector for USB where
- only one type of plug is supported on both ends, i.e. there will not
- be Type-A plug on one end of the cable and Type-B plug on the other.
- Determination of the host-to-device relationship happens through a
- specific Configuration Channel (CC) which goes through the USB Type-C
- cable. The Configuration Channel may also be used to detect optional
- Accessory Modes - Analog Audio and Debug - and if USB Power Delivery
- is supported, the Alternate Modes, where the connector is used for
- something else then USB communication.
- USB Power Delivery Specification defines a protocol that can be used
- to negotiate the voltage and current levels with the connected
- partners. USB Power Delivery allows higher voltages then the normal
- 5V, up to 20V, and current up to 5A over the cable. The USB Power
- Delivery protocol is also used to negotiate the optional Alternate
- Modes when they are supported. USB Power Delivery does not depend on
- USB Type-C connector, however it is mostly used together with USB
- Type-C connectors.
- USB Type-C and USB Power Delivery Specifications define a set of state
- machines that need to be implemented in either software or firmware.
- Simple USB Type-C PHYs, for example USB Type-C Port Controller
- Interface Specification compliant "Port Controllers" need the state
- machines to be handled in the OS, but stand-alone USB Type-C and Power
- Delivery controllers handle the state machines inside their firmware.
- The USB Type-C and Power Delivery controllers usually function
- autonomously, and do not necessarily require drivers.
- Enable this configurations option if you have USB Type-C connectors on
- your system and 1) you know your USB Type-C hardware requires OS
- control (a driver) to function, or 2) if you need to be able to read
- the status of the USB Type-C ports in your system, or 3) if you need
- to be able to swap the power role (decide are you supplying or
- consuming power over the cable) or data role (host or device) when
- both roles are supported.
- For more information, see the kernel documentation for USB Type-C
- Connector Class API (Documentation/driver-api/usb/typec.rst)
- <https://www.kernel.org/doc/html/latest/driver-api/usb/typec.html>
- and ABI (Documentation/ABI/testing/sysfs-class-typec).
- if TYPEC
- config TYPEC_TCPM
- tristate "USB Type-C Port Controller Manager"
- depends on USB
- select USB_ROLE_SWITCH
- select POWER_SUPPLY
- help
- The Type-C Port Controller Manager provides a USB PD and USB Type-C
- state machine for use with Type-C Port Controllers.
- if TYPEC_TCPM
- config TYPEC_TCPCI
- tristate "Type-C Port Controller Interface driver"
- depends on I2C
- select REGMAP_I2C
- help
- Type-C Port Controller driver for TCPCI-compliant controller.
- config TYPEC_RT1711H
- tristate "Richtek RT1711H Type-C chip driver"
- depends on I2C
- select TYPEC_TCPCI
- help
- Richtek RT1711H Type-C chip driver that works with
- Type-C Port Controller Manager to provide USB PD and USB
- Type-C functionalities.
- source "drivers/usb/typec/fusb302/Kconfig"
- config TYPEC_WCOVE
- tristate "Intel WhiskeyCove PMIC USB Type-C PHY driver"
- depends on ACPI
- depends on INTEL_SOC_PMIC
- depends on INTEL_PMC_IPC
- depends on BXT_WC_PMIC_OPREGION
- help
- This driver adds support for USB Type-C detection on Intel Broxton
- platforms that have Intel Whiskey Cove PMIC. The driver can detect the
- role and cable orientation.
- To compile this driver as module, choose M here: the module will be
- called typec_wcove
- endif # TYPEC_TCPM
- source "drivers/usb/typec/ucsi/Kconfig"
- config TYPEC_TPS6598X
- tristate "TI TPS6598x USB Power Delivery controller driver"
- depends on I2C
- select REGMAP_I2C
- help
- Say Y or M here if your system has TI TPS65982 or TPS65983 USB Power
- Delivery controller.
- If you choose to build this driver as a dynamically linked module, the
- module will be called tps6598x.ko.
- source "drivers/usb/typec/mux/Kconfig"
- source "drivers/usb/typec/altmodes/Kconfig"
- endif # TYPEC
|