• Heikki Krogerus's avatar
    usb: Add driver for UCSI · 0c1849a8
    Heikki Krogerus authored
    USB Type-C Connector System Software Interface (UCSI) is
    specification that defines the registers and data structures
    that can be used to control USB Type-C ports on a system.
    UCSI is used on several Intel Broxton SoC based platforms.
    Things that UCSI can be used to control include at least USB
    Data Role swapping, Power Role swapping and controlling of
    Alternate Modes on top of providing general details about
    the port and the partners that are attached to it.
    
    The initial purpose of the UCSI driver is to make sure USB
    is in host mode on desktop and server systems that are USB
    dual role capable, and provide UCSI interface.
    
    The goal is to integrate the driver later to an USB Type-C
    framework for Linux kernel, and at the same time add support
    for more extensive USB Type-C port control that UCSI offers,
    for example data role swapping, power role swapping,
    Alternate Mode control etc.
    
    The UCSI specification is public can be obtained from here:
    http://www.intel.com/content/www/us/en/io/universal-serial-bus/usb-type-c-ucsi-spec.htmlSigned-off-by: default avatarHeikki Krogerus <heikki.krogerus@linux.intel.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    0c1849a8
ucsi.h 6.48 KB