Skip to content

Commit

Permalink
Merge tag 'usb-6.7-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" set of USB and Thunderbolt changes for 6.7-rc1.
  Nothing really major in here, just lots of constant development for
  new hardware. Included in here are:

   - Thunderbolt (i.e. USB4) fixes for reported issues and support for
     new hardware types and devices

   - USB typec additions of new drivers and cleanups for some existing
     ones

   - xhci cleanups and expanded tracing support and some platform
     specific updates

   - USB "La Jolla Cove Adapter (LJCA)" support added, and the gpio,
     spi, and i2c drivers for that type of device (all acked by the
     respective subsystem maintainers.)

   - lots of USB gadget driver updates and cleanups

   - new USB dwc3 platforms supported, as well as other dwc3 fixes and
     cleanups

   - USB chipidea driver updates

   - other smaller driver cleanups and additions, full details in the
     shortlog

  All of these have been in the linux-next tree for a while with no
  reported problems"

* tag 'usb-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (167 commits)
  usb: gadget: uvc: Add missing initialization of ssp config descriptor
  usb: storage: set 1.50 as the lower bcdDevice for older "Super Top" compatibility
  usb: raw-gadget: report suspend, resume, reset, and disconnect events
  usb: raw-gadget: don't disable device if usb_ep_queue fails
  usb: raw-gadget: properly handle interrupted requests
  usb:cdnsp: remove TRB_FLUSH_ENDPOINT command
  usb: gadget: aspeed_udc: Convert to platform remove callback returning void
  dt-bindings: usb: fsa4480: Add compatible for OCP96011
  usb: typec: fsa4480: Add support to swap SBU orientation
  dt-bindings: usb: fsa4480: Add data-lanes property to endpoint
  usb: typec: tcpm: Fix NULL pointer dereference in tcpm_pd_svdm()
  Revert "dt-bindings: usb: Add bindings for multiport properties on DWC3 controller"
  Revert "dt-bindings: usb: qcom,dwc3: Add bindings for SC8280 Multiport"
  thunderbolt: Fix one kernel-doc comment
  usb: gadget: f_ncm: Always set current gadget in ncm_bind()
  usb: core: Remove duplicated check in usb_hub_create_port_device
  usb: typec: tcpm: Add additional checks for contaminant
  arm64: dts: rockchip: rk3588s: Add USB3 host controller
  usb: dwc3: add optional PHY interface clocks
  dt-bindings: usb: add rk3588 compatible to rockchip,dwc3
  ...
  • Loading branch information
torvalds committed Nov 4, 2023
2 parents 1f24458 + c70793f commit 2c40c1c
Show file tree
Hide file tree
Showing 150 changed files with 7,007 additions and 1,273 deletions.
2 changes: 2 additions & 0 deletions Documentation/ABI/testing/configfs-usb-gadget-uac2
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,6 @@ Description:
req_number the number of pre-allocated requests
for both capture and playback
function_name name of the interface
c_terminal_type code of the capture terminal type
p_terminal_type code of the playback terminal type
===================== =======================================
9 changes: 9 additions & 0 deletions Documentation/ABI/testing/sysfs-bus-usb
Original file line number Diff line number Diff line change
Expand Up @@ -313,6 +313,15 @@ Description:
Inter-Chip SSIC devices support asymmetric lanes up to 4 lanes per
direction. Devices before USB 3.2 are single lane (tx_lanes = 1)

What: /sys/bus/usb/devices/.../typec
Date: November 2023
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
Symlink to the USB Type-C partner device. USB Type-C partner
represents the component that communicates over the
Configuration Channel (CC signal on USB Type-C connectors and
cables) with the local port.

What: /sys/bus/usb/devices/usbX/bAlternateSetting
Description:
The current interface alternate setting number, in decimal.
Expand Down
7 changes: 7 additions & 0 deletions Documentation/ABI/testing/sysfs-class-usb_power_delivery
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,13 @@ Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
The voltage the supply supports in millivolts.

What: /sys/class/usb_power_delivery/.../source-capabilities/<position>:fixed_supply/peak_current
Date: October 2023
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
This file shows the value of the Fixed Power Source Peak Current
Capability field.

What: /sys/class/usb_power_delivery/.../source-capabilities/<position>:fixed_supply/maximum_current
Date: May 2022
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ properties:
- qcom,qcm2290-qmp-usb3-phy
- qcom,sa8775p-qmp-usb3-uni-phy
- qcom,sc8280xp-qmp-usb3-uni-phy
- qcom,sdx75-qmp-usb3-uni-phy
- qcom,sm6115-qmp-usb3-phy

reg:
Expand Down Expand Up @@ -75,6 +76,7 @@ allOf:
contains:
enum:
- qcom,ipq9574-qmp-usb3-phy
- qcom,sdx75-qmp-usb3-uni-phy
then:
properties:
clock-names:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,12 @@ description:

properties:
compatible:
const: qcom,sm8550-snps-eusb2-phy
oneOf:
- items:
- enum:
- qcom,sdx75-snps-eusb2-phy
- const: qcom,sm8550-snps-eusb2-phy
- const: qcom,sm8550-snps-eusb2-phy

reg:
maxItems: 1
Expand Down
19 changes: 19 additions & 0 deletions Documentation/devicetree/bindings/soc/qcom/qcom,pmic-glink.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,12 @@ properties:
'#size-cells':
const: 0

orientation-gpios:
description: Array of input gpios for the Type-C connector orientation indication.
The GPIO indication is used to detect the orientation of the Type-C connector.
The array should contain a gpio entry for each PMIC Glink connector, in reg order.
It is defined that GPIO active level means "CC2" or Reversed/Flipped orientation.

patternProperties:
'^connector@\d$':
$ref: /schemas/connector/usb-connector.yaml#
Expand All @@ -44,6 +50,19 @@ patternProperties:
required:
- compatible

allOf:
- if:
not:
properties:
compatible:
contains:
enum:
- qcom,sm8450-pmic-glink
- qcom,sm8550-pmic-glink
then:
properties:
orientation-gpios: false

additionalProperties: false

examples:
Expand Down
7 changes: 7 additions & 0 deletions Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@ properties:
oneOf:
- enum:
- chipidea,usb2
- fsl,imx27-usb
- lsi,zevio-usb
- nuvoton,npcm750-udc
- nvidia,tegra20-ehci
- nvidia,tegra20-udc
- nvidia,tegra30-ehci
Expand Down Expand Up @@ -66,6 +68,10 @@ properties:
- items:
- const: xlnx,zynq-usb-2.20a
- const: chipidea,usb2
- items:
- enum:
- nuvoton,npcm845-udc
- const: nuvoton,npcm750-udc

reg:
minItems: 1
Expand Down Expand Up @@ -388,6 +394,7 @@ allOf:
enum:
- chipidea,usb2
- lsi,zevio-usb
- nuvoton,npcm750-udc
- nvidia,tegra20-udc
- nvidia,tegra30-udc
- nvidia,tegra114-udc
Expand Down
43 changes: 40 additions & 3 deletions Documentation/devicetree/bindings/usb/fcs,fsa4480.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,12 @@ maintainers:

properties:
compatible:
enum:
- fcs,fsa4480
oneOf:
- const: fcs,fsa4480
- items:
- enum:
- ocs,ocp96011
- const: fcs,fsa4480

reg:
maxItems: 1
Expand All @@ -32,10 +36,43 @@ properties:
type: boolean

port:
$ref: /schemas/graph.yaml#/properties/port
$ref: /schemas/graph.yaml#/$defs/port-base
description:
A port node to link the FSA4480 to a TypeC controller for the purpose of
handling altmode muxing and orientation switching.
unevaluatedProperties: false

properties:
endpoint:
$ref: /schemas/graph.yaml#/$defs/endpoint-base
unevaluatedProperties: false

properties:
data-lanes:
$ref: /schemas/types.yaml#/definitions/uint32-array
description:
Specifies how the AUX+/- lines are connected to SBU1/2.
oneOf:
- items:
- const: 0
- const: 1
description: |
Default AUX/SBU layout (FSA4480)
- AUX+ connected to SBU2
- AUX- connected to SBU1
Default AUX/SBU layout (OCP96011)
- AUX+ connected to SBU1
- AUX- connected to SBU2
- items:
- const: 1
- const: 0
description: |
Swapped AUX/SBU layout (FSA4480)
- AUX+ connected to SBU1
- AUX- connected to SBU2
Swapped AUX/SBU layout (OCP96011)
- AUX+ connected to SBU2
- AUX- connected to SBU1
required:
- compatible
Expand Down
3 changes: 2 additions & 1 deletion Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
$id: http://devicetree.org/schemas/usb/genesys,gl850g.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Genesys Logic GL850G USB 2.0 hub controller
title: Genesys Logic USB hub controller

maintainers:
- Icenowy Zheng <uwu@icenowy.me>
Expand All @@ -18,6 +18,7 @@ properties:
- usb5e3,608
- usb5e3,610
- usb5e3,620
- usb5e3,626

reg: true

Expand Down
2 changes: 1 addition & 1 deletion Documentation/devicetree/bindings/usb/gpio-sbu-mux.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ properties:
compatible:
items:
- enum:
- nxp,cbdtu02043
- onnn,fsusb43l10x
- pericom,pi3usb102
- const: gpio-sbu-mux
Expand Down Expand Up @@ -50,7 +51,6 @@ required:
- compatible
- enable-gpios
- select-gpios
- mode-switch
- orientation-switch
- port

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

title: NXP PTN36502 Type-C USB 3.1 Gen 1 and DisplayPort v1.2 combo redriver

maintainers:
- Luca Weiss <luca.weiss@fairphone.com>

properties:
compatible:
enum:
- nxp,ptn36502

reg:
maxItems: 1

vdd18-supply:
description: Power supply for VDD18 pin

retimer-switch:
description: Flag the port as possible handle of SuperSpeed signals retiming
type: boolean

orientation-switch:
description: Flag the port as possible handler of orientation switching
type: boolean

ports:
$ref: /schemas/graph.yaml#/properties/ports
properties:
port@0:
$ref: /schemas/graph.yaml#/properties/port
description: Super Speed (SS) Output endpoint to the Type-C connector

port@1:
$ref: /schemas/graph.yaml#/properties/port
description: Super Speed (SS) Input endpoint from the Super-Speed PHY

port@2:
$ref: /schemas/graph.yaml#/properties/port
description:
Sideband Use (SBU) AUX lines endpoint to the Type-C connector for the purpose of
handling altmode muxing and orientation switching.

required:
- compatible
- reg

additionalProperties: false

examples:
- |
i2c {
#address-cells = <1>;
#size-cells = <0>;
typec-mux@1a {
compatible = "nxp,ptn36502";
reg = <0x1a>;
vdd18-supply = <&usb_redrive_1v8>;
retimer-switch;
orientation-switch;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
usb_con_ss: endpoint {
remote-endpoint = <&typec_con_ss>;
};
};
port@1 {
reg = <1>;
phy_con_ss: endpoint {
remote-endpoint = <&usb_phy_ss>;
};
};
port@2 {
reg = <2>;
usb_con_sbu: endpoint {
remote-endpoint = <&typec_dp_aux>;
};
};
};
};
};
...
7 changes: 7 additions & 0 deletions Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ properties:
items:
- enum:
- qcom,ipq4019-dwc3
- qcom,ipq5018-dwc3
- qcom,ipq5332-dwc3
- qcom,ipq6018-dwc3
- qcom,ipq8064-dwc3
Expand All @@ -34,6 +35,7 @@ properties:
- qcom,sdm845-dwc3
- qcom,sdx55-dwc3
- qcom,sdx65-dwc3
- qcom,sdx75-dwc3
- qcom,sm4250-dwc3
- qcom,sm6115-dwc3
- qcom,sm6125-dwc3
Expand Down Expand Up @@ -180,6 +182,8 @@ allOf:
- qcom,sdm670-dwc3
- qcom,sdm845-dwc3
- qcom,sdx55-dwc3
- qcom,sdx65-dwc3
- qcom,sdx75-dwc3
- qcom,sm6350-dwc3
then:
properties:
Expand Down Expand Up @@ -238,6 +242,7 @@ allOf:
compatible:
contains:
enum:
- qcom,ipq5018-dwc3
- qcom,ipq5332-dwc3
- qcom,msm8994-dwc3
- qcom,qcs404-dwc3
Expand Down Expand Up @@ -363,6 +368,7 @@ allOf:
- qcom,sdm845-dwc3
- qcom,sdx55-dwc3
- qcom,sdx65-dwc3
- qcom,sdx75-dwc3
- qcom,sm4250-dwc3
- qcom,sm6125-dwc3
- qcom,sm6350-dwc3
Expand Down Expand Up @@ -411,6 +417,7 @@ allOf:
compatible:
contains:
enum:
- qcom,ipq5018-dwc3
- qcom,ipq5332-dwc3
- qcom,sdm660-dwc3
then:
Expand Down
Loading

1 comment on commit 2c40c1c

@manfredg
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This commit may have introduced some incompatibility with the latest Lenovo X1 laptops, specifically X1 Carbon Gen 10 / X1 Yoga Gen 7:

After updating to kernel 6.7 the USB connection on my Lenovo X1 Yoga Gen 7 became unstable. For instance, when I try to use my PlayerOneAstronomy Uranus-C camera in its native resolution, it fails to initialize and is stuck in an infinite reset loop. The respective message in the kernel log is:

kern :info : [Feb15 18:44] usb 4-1: new SuperSpeed USB device number 2 using xhci_hcd
kern :info : [ +0.018551] usb 4-1: New USB device found, idVendor=a0a0, idProduct=5850, bcdDevice= 0.00
kern :info : [ +0.000032] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
kern :info : [ +0.000011] usb 4-1: Product: Uranus-C
kern :info : [ +0.000007] usb 4-1: Manufacturer: Player One
kern :info : [ +31.527976] usb 4-1: reset SuperSpeed USB device number 2 using xhci_hcd
kern :info : [ +3.370075] usb 4-1: reset SuperSpeed USB device number 2 using xhci_hcd
kern :info : [ +3.363085] usb 4-1: reset SuperSpeed USB device number 2 using xhci_hcd
kern :info : [ +3.363459] usb 4-1: reset SuperSpeed USB device number 2 using xhci_hcd
kern :info : [ +3.366393] usb 4-1: reset SuperSpeed USB device number 2 using xhci_hcd
[...]

I contacted the software developer of the imaging programme I am using and after we established that it is not a bug in the software I contacted the device manufacturer. I also updated the BIOS and firmware to the latest available version. The bottom line is, that all evidence points towards an incompatibility with the USB controller that has been introduced with this kernel commit: this commit happened between kernels 6.6 and 6.7 and changes were made in many places relating to USB and XHCI.

Please sign in to comment.