Skip to content

Commit

Permalink
Merge tag 'usb-5.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel…
Browse files Browse the repository at this point in the history
…/git/gregkh/usb

Pull USB / Thunderbolt updates from Greg KH:
 "Here is the big USB and thunderbolt pull request for 5.11-rc1.

  Nothing major in here, just the grind of constant development to
  support new hardware and fix old issues:

   - thunderbolt updates for new USB4 hardware

   - cdns3 major driver updates

   - lots of typec updates and additions as more hardware is available

   - usb serial driver updates and fixes

   - other tiny USB driver updates

  All have been in linux-next with no reported issues"

* tag 'usb-5.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (172 commits)
  usb: phy: convert comma to semicolon
  usb: ucsi: convert comma to semicolon
  usb: typec: tcpm: convert comma to semicolon
  usb: typec: tcpm: Update vbus_vsafe0v on init
  usb: typec: tcpci: Enable bleed discharge when auto discharge is enabled
  usb: typec: Add class for plug alt mode device
  USB: typec: tcpci: Add Bleed discharge to POWER_CONTROL definition
  USB: typec: tcpm: Add a 30ms room for tPSSourceOn in PR_SWAP
  USB: typec: tcpm: Fix PR_SWAP error handling
  USB: typec: tcpm: Hard Reset after not receiving a Request
  USB: gadget: f_fs: remove likely/unlikely
  usb: gadget: f_fs: Re-use SS descriptors for SuperSpeedPlus
  USB: gadget: f_midi: setup SuperSpeed Plus descriptors
  USB: gadget: f_acm: add support for SuperSpeed Plus
  USB: gadget: f_rndis: fix bitrate for SuperSpeed and above
  usb: typec: intel_pmc_mux: Configure cable generation value for USB4
  MAINTAINERS: Add myself as a reviewer for CADENCE USB3 DRD IP DRIVER
  usb: chipidea: ci_hdrc_imx: Use of_device_get_match_data()
  usb: chipidea: usbmisc_imx: Use of_device_get_match_data()
  usb: cdns3: fix NULL pointer dereference on no platform data
  ...
  • Loading branch information
torvalds committed Dec 15, 2020
2 parents c367caf + a256e24 commit 0cee54c
Show file tree
Hide file tree
Showing 158 changed files with 4,292 additions and 4,702 deletions.
28 changes: 28 additions & 0 deletions Documentation/ABI/testing/sysfs-bus-thunderbolt
Original file line number Diff line number Diff line change
@@ -1,3 +1,31 @@
What: /sys/bus/thunderbolt/devices/<xdomain>/rx_speed
Date: Feb 2021
KernelVersion: 5.11
Contact: Isaac Hazan <[email protected]>
Description: This attribute reports the XDomain RX speed per lane.
All RX lanes run at the same speed.

What: /sys/bus/thunderbolt/devices/<xdomain>/rx_lanes
Date: Feb 2021
KernelVersion: 5.11
Contact: Isaac Hazan <[email protected]>
Description: This attribute reports the number of RX lanes the XDomain
is using simultaneously through its upstream port.

What: /sys/bus/thunderbolt/devices/<xdomain>/tx_speed
Date: Feb 2021
KernelVersion: 5.11
Contact: Isaac Hazan <[email protected]>
Description: This attribute reports the XDomain TX speed per lane.
All TX lanes run at the same speed.

What: /sys/bus/thunderbolt/devices/<xdomain>/tx_lanes
Date: Feb 2021
KernelVersion: 5.11
Contact: Isaac Hazan <[email protected]>
Description: This attribute reports number of TX lanes the XDomain
is using simultaneously through its upstream port.

What: /sys/bus/thunderbolt/devices/.../domainX/boot_acl
Date: Jun 2018
KernelVersion: 4.17
Expand Down
142 changes: 108 additions & 34 deletions Documentation/ABI/testing/sysfs-class-typec
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,49 @@ Description:
Shows if the partner supports USB Power Delivery communication:
Valid values: yes, no

What: /sys/class/typec/<port>-partner/number_of_alternate_modes
Date: November 2020
Contact: Prashant Malani <[email protected]>
Description:
Shows the number of alternate modes which are advertised by the partner
during Power Delivery discovery. This file remains hidden until a value
greater than or equal to 0 is set by Type C port driver.

What: /sys/class/typec/<port>-partner/type
Date: December 2020
Contact: Heikki Krogerus <[email protected]>
Description: USB Power Delivery Specification defines a set of product types
for the partner devices. This file will show the product type of
the partner if it is known. Dual-role capable partners will have
both UFP and DFP product types defined, but only one that
matches the current role will be active at the time. If the
product type of the partner is not visible to the device driver,
this file will not exist.

When the partner product type is detected, or changed with role
swap, uvevent is also raised that contains PRODUCT_TYPE=<product
type> (for example PRODUCT_TYPE=hub).

Valid values:

UFP / device role
====================== ==========================
undefined -
hub PDUSB Hub
peripheral PDUSB Peripheral
psd Power Bank
ama Alternate Mode Adapter
====================== ==========================

DFP / host role
====================== ==========================
undefined -
hub PDUSB Hub
host PDUSB Host
power_brick Power Brick
amc Alternate Mode Controller
====================== ==========================

What: /sys/class/typec/<port>-partner>/identity/
Date: April 2017
Contact: Heikki Krogerus <[email protected]>
Expand All @@ -151,31 +194,6 @@ Description:
directory exists, it will have an attribute file for every VDO
in Discover Identity command result.

What: /sys/class/typec/<port>-partner/identity/id_header
Date: April 2017
Contact: Heikki Krogerus <[email protected]>
Description:
ID Header VDO part of Discover Identity command result. The
value will show 0 until Discover Identity command result becomes
available. The value can be polled.

What: /sys/class/typec/<port>-partner/identity/cert_stat
Date: April 2017
Contact: Heikki Krogerus <[email protected]>
Description:
Cert Stat VDO part of Discover Identity command result. The
value will show 0 until Discover Identity command result becomes
available. The value can be polled.

What: /sys/class/typec/<port>-partner/identity/product
Date: April 2017
Contact: Heikki Krogerus <[email protected]>
Description:
Product VDO part of Discover Identity command result. The value
will show 0 until Discover Identity command result becomes
available. The value can be polled.


USB Type-C cable devices (eg. /sys/class/typec/port0-cable/)

Note: Electronically Marked Cables will have a device also for one cable plug
Expand All @@ -187,9 +205,21 @@ described in USB Type-C and USB Power Delivery specifications.
What: /sys/class/typec/<port>-cable/type
Date: April 2017
Contact: Heikki Krogerus <[email protected]>
Description:
Shows if the cable is active.
Valid values: active, passive
Description: USB Power Delivery Specification defines a set of product types
for the cables. This file will show the product type of the
cable if it is known. If the product type of the cable is not
visible to the device driver, this file will not exist.

When the cable product type is detected, uvevent is also raised
with PRODUCT_TYPE showing the product type of the cable.

Valid values:

====================== ==========================
undefined -
active Active Cable
passive Passive Cable
====================== ==========================

What: /sys/class/typec/<port>-cable/plug_type
Date: April 2017
Expand All @@ -202,40 +232,84 @@ Description:
- type-c
- captive

What: /sys/class/typec/<port>-cable/identity/
What: /sys/class/typec/<port>-<plug>/number_of_alternate_modes
Date: November 2020
Contact: Prashant Malani <[email protected]>
Description:
Shows the number of alternate modes which are advertised by the plug
associated with a particular cable during Power Delivery discovery.
This file remains hidden until a value greater than or equal to 0
is set by Type C port driver.


USB Type-C partner/cable Power Delivery Identity objects

NOTE: The following attributes will be applicable to both
partner (e.g /sys/class/typec/port0-partner/) and
cable (e.g /sys/class/typec/port0-cable/) devices. Consequently, the example file
paths below are prefixed with "/sys/class/typec/<port>-{partner|cable}/" to
reflect this.

What: /sys/class/typec/<port>-{partner|cable}/identity/
Date: April 2017
Contact: Heikki Krogerus <[email protected]>
Description:
This directory appears only if the port device driver is capable
of showing the result of Discover Identity USB power delivery
command. That will not always be possible even when USB power
delivery is supported. If the directory exists, it will have an
attribute for every VDO returned by Discover Identity command.
delivery is supported, for example when USB power delivery
communication for the port is mostly handled in firmware. If the
directory exists, it will have an attribute file for every VDO
in Discover Identity command result.

What: /sys/class/typec/<port>-cable/identity/id_header
What: /sys/class/typec/<port>-{partner|cable}/identity/id_header
Date: April 2017
Contact: Heikki Krogerus <[email protected]>
Description:
ID Header VDO part of Discover Identity command result. The
value will show 0 until Discover Identity command result becomes
available. The value can be polled.

What: /sys/class/typec/<port>-cable/identity/cert_stat
What: /sys/class/typec/<port>-{partner|cable}/identity/cert_stat
Date: April 2017
Contact: Heikki Krogerus <[email protected]>
Description:
Cert Stat VDO part of Discover Identity command result. The
value will show 0 until Discover Identity command result becomes
available. The value can be polled.

What: /sys/class/typec/<port>-cable/identity/product
What: /sys/class/typec/<port>-{partner|cable}/identity/product
Date: April 2017
Contact: Heikki Krogerus <[email protected]>
Description:
Product VDO part of Discover Identity command result. The value
will show 0 until Discover Identity command result becomes
available. The value can be polled.

What: /sys/class/typec/<port>-{partner|cable}/identity/product_type_vdo1
Date: October 2020
Contact: Prashant Malani <[email protected]>
Description:
1st Product Type VDO of Discover Identity command result.
The value will show 0 until Discover Identity command result becomes
available and a valid Product Type VDO is returned.

What: /sys/class/typec/<port>-{partner|cable}/identity/product_type_vdo2
Date: October 2020
Contact: Prashant Malani <[email protected]>
Description:
2nd Product Type VDO of Discover Identity command result.
The value will show 0 until Discover Identity command result becomes
available and a valid Product Type VDO is returned.

What: /sys/class/typec/<port>-{partner|cable}/identity/product_type_vdo3
Date: October 2020
Contact: Prashant Malani <[email protected]>
Description:
3rd Product Type VDO of Discover Identity command result.
The value will show 0 until Discover Identity command result becomes
available and a valid Product Type VDO is returned.


USB Type-C port alternate mode devices.

Expand Down
1 change: 1 addition & 0 deletions Documentation/admin-guide/kernel-parameters.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5665,6 +5665,7 @@
device);
j = NO_REPORT_LUNS (don't use report luns
command, uas only);
k = NO_SAME (do not use WRITE_SAME, uas only)
l = NOT_LOCKABLE (don't try to lock and
unlock ejectable media, not on uas);
m = MAX_SECTORS_64 (don't transfer more
Expand Down
19 changes: 19 additions & 0 deletions Documentation/devicetree/bindings/connector/usb-connector.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,25 @@ properties:
required:
- port@0

new-source-frs-typec-current:
description: Initial current capability of the new source when vSafe5V
is applied during PD3.0 Fast Role Swap. "Table 6-14 Fixed Supply PDO - Sink"
of "USB Power Delivery Specification Revision 3.0, Version 1.2" provides the
different power levels and "6.4.1.3.1.6 Fast Role Swap USB Type-C Current"
provides a detailed description of the field. The sink PDO from current source
reflects the current source's(i.e. transmitter of the FRS signal) power
requirement during fr swap. The current sink (i.e. receiver of the FRS signal),
a.k.a new source, should check if it will be able to satisfy the current source's,
new sink's, requirement during frswap before enabling the frs signal reception.
This property refers to maximum current capability that the current sink can
satisfy. During FRS, VBUS voltage is at 5V, as the partners are in implicit
contract, hence, the power level is only a function of the current capability.
"1" refers to default USB power level as described by "Table 6-14 Fixed Supply PDO - Sink".
"2" refers to 1.5A@5V.
"3" refers to 3.0A@5V.
$ref: /schemas/types.yaml#/definitions/uint32
enum: [1, 2, 3]

required:
- compatible

Expand Down
70 changes: 70 additions & 0 deletions Documentation/devicetree/bindings/usb/brcm,usb-pinmap.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/brcm,usb-pinmap.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Broadcom USB pin map Controller Device Tree Bindings

maintainers:
- Al Cooper <[email protected]>

properties:
compatible:
items:
- const: brcm,usb-pinmap

reg:
maxItems: 1

interrupts:
maxItems: 1
description: Interrupt for signals mirrored to out-gpios.

in-gpios:
description: Array of one or two GPIO pins used for input signals.

brcm,in-functions:
$ref: /schemas/types.yaml#/definitions/string-array
description: Array of input signal names, one per gpio in in-gpios.

brcm,in-masks:
$ref: /schemas/types.yaml#/definitions/uint32-array
description: Array of enable and mask pairs, one per gpio in-gpios.

out-gpios:
description: Array of one GPIO pin used for output signals.

brcm,out-functions:
$ref: /schemas/types.yaml#/definitions/string-array
description: Array of output signal names, one per gpio in out-gpios.

brcm,out-masks:
$ref: /schemas/types.yaml#/definitions/uint32-array
description: Array of enable, value, changed and clear masks, one
per gpio in out-gpios.

required:
- compatible
- reg

additionalProperties: false

dependencies:
in-gpios: [ interrupts ]

examples:
- |
usb_pinmap: usb-pinmap@22000d0 {
compatible = "brcm,usb-pinmap";
reg = <0x22000d0 0x4>;
in-gpios = <&gpio 18 0>, <&gpio 19 0>;
brcm,in-functions = "VBUS", "PWRFLT";
brcm,in-masks = <0x8000 0x40000 0x10000 0x80000>;
out-gpios = <&gpio 20 0>;
brcm,out-functions = "PWRON";
brcm,out-masks = <0x20000 0x800000 0x400000 0x200000>;
interrupts = <0x0 0xb2 0x4>;
};
...
5 changes: 5 additions & 0 deletions Documentation/devicetree/bindings/usb/cdns,usb3.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,21 @@ properties:
- const: dev

interrupts:
minItems: 3
items:
- description: OTG/DRD controller interrupt
- description: XHCI host controller interrupt
- description: Device controller interrupt
- description: interrupt used to wake up core, e.g when usbcmd.rs is
cleared by xhci core, this interrupt is optional

interrupt-names:
minItems: 3
items:
- const: host
- const: peripheral
- const: otg
- const: wakeup

dr_mode:
enum: [host, otg, peripheral]
Expand Down
Loading

0 comments on commit 0cee54c

Please sign in to comment.