Skip to content

Commit 17f8d20

Browse files
committed
Merge tag 'usb-7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
Pull USB / Thunderbolt updates from Greg KH: "Here is the "big" set of USB and Thunderbolt driver updates for 7.0-rc1. Overall more lines were removed than added, thanks to dropping the obsolete isp1362 USB host controller driver, always a nice change. Other than that, nothing major happening here, highlights are: - lots of dwc3 driver updates and new hardware support added - usb gadget function driver updates - usb phy driver updates - typec driver updates and additions - USB rust binding updates for syntax and formatting changes - more usb serial device ids added - other smaller USB core and driver updates and additions All of these have been in linux-next for a long time, with no reported problems" * tag 'usb-7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (77 commits) usb: typec: ucsi: Add Thunderbolt alternate mode support usb: typec: hd3ss3220: Check if regulator needs to be switched usb: phy: tegra: parametrize PORTSC1 register offset usb: phy: tegra: parametrize HSIC PTS value usb: phy: tegra: return error value from utmi_wait_register usb: phy: tegra: cosmetic fixes dt-bindings: usb: renesas,usbhs: Add RZ/G3E SoC support usb: dwc2: fix resume failure if dr_mode is host usb: cdns3: fix role switching during resume usb: dwc3: gadget: Move vbus draw to workqueue context USB: serial: option: add Telit FN920C04 RNDIS compositions usb: dwc3: Log dwc3 address in traces usb: gadget: tegra-xudc: Add handling for BLCG_COREPLL_PWRDN usb: phy: tegra: add HSIC support usb: phy: tegra: use phy type directly usb: typec: ucsi: Enforce mode selection for cros_ec_ucsi usb: typec: ucsi: Support mode selection to activate altmodes usb: typec: Introduce mode_selection bit usb: typec: Implement mode selection usb: typec: Expose alternate mode priority via sysfs ...
2 parents 3ad7945 + da87d45 commit 17f8d20

110 files changed

Lines changed: 3495 additions & 4595 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Documentation/ABI/testing/configfs-usb-gadget-midi

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,12 @@ KernelVersion: 3.19
44
Description:
55
The attributes:
66

7-
========== ====================================
8-
index index value for the USB MIDI adapter
9-
id ID string for the USB MIDI adapter
10-
buflen MIDI buffer length
11-
qlen USB read request queue length
12-
in_ports number of MIDI input ports
13-
out_ports number of MIDI output ports
14-
========== ====================================
7+
================ ====================================
8+
index index value for the USB MIDI adapter
9+
id ID string for the USB MIDI adapter
10+
buflen MIDI buffer length
11+
qlen USB read request queue length
12+
in_ports number of MIDI input ports
13+
out_ports number of MIDI output ports
14+
interface_string USB AudioControl interface string
15+
================ ====================================

Documentation/ABI/testing/sysfs-bus-pci-drivers-xhci_hcd

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,3 +85,45 @@ Description:
8585
up to 5000. The default value is 64 ms.
8686
This polling interval is used while DbC is enabled but has no
8787
active data transfers.
88+
89+
What: /sys/bus/pci/drivers/xhci_hcd/.../dbc_serial
90+
Date: January 2026
91+
Contact: Łukasz Bartosik <ukaszb@chromium.org>
92+
Description:
93+
The dbc_serial attribute allows to change the serial number
94+
string descriptor presented by the debug device when a host
95+
requests a string descriptor with iSerialNumber index.
96+
Index is found in the iSerialNumber field in the device
97+
descriptor.
98+
Value can only be changed while debug capability (DbC) is in
99+
disabled state to prevent USB device descriptor change while
100+
connected to a USB host.
101+
The default value is "0001".
102+
The field length can be from 1 to 126 characters.
103+
104+
What: /sys/bus/pci/drivers/xhci_hcd/.../dbc_product
105+
Date: January 2026
106+
Contact: Łukasz Bartosik <ukaszb@chromium.org>
107+
Description:
108+
The dbc_product attribute allows to change the product string
109+
descriptor presented by the debug device when a host requests
110+
a string descriptor with iProduct index.
111+
Index is found in the iProduct field in the device descriptor.
112+
Value can only be changed while debug capability (DbC) is in
113+
disabled state to prevent USB device descriptor change while
114+
connected to a USB host.
115+
The default value is "Linux USB Debug Target".
116+
The field length can be from 1 to 126 characters.
117+
118+
What: /sys/bus/pci/drivers/xhci_hcd/.../dbc_manufacturer
119+
Date: January 2026
120+
Contact: Łukasz Bartosik <ukaszb@chromium.org>
121+
Description:
122+
The dbc_manufacturer attribute allows to change the manufacturer
123+
string descriptor presented by the debug device when a host
124+
requests a string descriptor with iManufacturer index.
125+
Value can only be changed while debug capability (DbC) is in
126+
disabled state to prevent USB device descriptor change while
127+
connected to a USB host.
128+
The default value is "Linux Foundation".
129+
The field length can be from 1 to 126 characters.

Documentation/ABI/testing/sysfs-class-typec

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,17 @@ Description: Lists the supported USB Modes. The default USB mode that is used
162162
- usb3 (USB 3.2)
163163
- usb4 (USB4)
164164

165+
What: /sys/class/typec/<port>/<alt-mode>/priority
166+
Date: July 2025
167+
Contact: Andrei Kuchynski <akuchynski@chromium.org>
168+
Description:
169+
Displays and allows setting the priority for a specific alternate mode.
170+
The priority is an integer in the range 0-255. A lower numerical value
171+
indicates a higher priority (0 is the highest).
172+
If the new value is already in use by another mode, the priority of the
173+
conflicting mode and any subsequent modes will be incremented until they
174+
are all unique.
175+
165176
USB Type-C partner devices (eg. /sys/class/typec/port0-partner/)
166177

167178
What: /sys/class/typec/<port>-partner/accessory_mode

Documentation/admin-guide/thunderbolt.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -370,7 +370,7 @@ is built-in to the kernel image, there is no need to do anything.
370370

371371
The driver will create one virtual ethernet interface per Thunderbolt
372372
port which are named like ``thunderbolt0`` and so on. From this point
373-
you can either use standard userspace tools like ``ifconfig`` to
373+
you can either use standard userspace tools like ``ip`` to
374374
configure the interface or let your GUI handle it automatically.
375375

376376
Forcing power

Documentation/devicetree/bindings/usb/aspeed,usb-vhub.yaml

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,22 +17,26 @@ description: |+
1717
1818
Supported number of devices and endpoints vary depending on hardware
1919
revisions. AST2400 and AST2500 Virtual Hub supports 5 downstream devices
20-
and 15 generic endpoints, while AST2600 Virtual Hub supports 7 downstream
21-
devices and 21 generic endpoints.
20+
and 15 generic endpoints, while AST2600 and AST2700 Virtual Hub supports
21+
7 downstream devices and 21 generic endpoints.
2222
2323
properties:
2424
compatible:
2525
enum:
2626
- aspeed,ast2400-usb-vhub
2727
- aspeed,ast2500-usb-vhub
2828
- aspeed,ast2600-usb-vhub
29+
- aspeed,ast2700-usb-vhub
2930

3031
reg:
3132
maxItems: 1
3233

3334
clocks:
3435
maxItems: 1
3536

37+
resets:
38+
maxItems: 1
39+
3640
interrupts:
3741
maxItems: 1
3842

@@ -107,6 +111,20 @@ required:
107111
- aspeed,vhub-downstream-ports
108112
- aspeed,vhub-generic-endpoints
109113

114+
if:
115+
properties:
116+
compatible:
117+
contains:
118+
const: aspeed,ast2700-usb-vhub
119+
120+
then:
121+
required:
122+
- resets
123+
124+
else:
125+
properties:
126+
resets: false
127+
110128
additionalProperties: false
111129

112130
examples:

Documentation/devicetree/bindings/usb/generic-ehci.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,8 @@ properties:
9393
minItems: 1
9494
maxItems: 2
9595

96+
dma-coherent: true
97+
9698
interrupts:
9799
maxItems: 1
98100

Documentation/devicetree/bindings/usb/generic-ohci.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@ properties:
6464
reg:
6565
maxItems: 1
6666

67+
dma-coherent: true
68+
6769
interrupts:
6870
maxItems: 1
6971

Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
# Copyright (c) 2025, Google LLC
3+
%YAML 1.2
4+
---
5+
$id: http://devicetree.org/schemas/usb/google,lga-dwc3.yaml#
6+
$schema: http://devicetree.org/meta-schemas/core.yaml#
7+
8+
title: Google Tensor Series G5 (Laguna) DWC3 USB SoC Controller
9+
10+
maintainers:
11+
- Roy Luo <royluo@google.com>
12+
13+
description:
14+
Describes the DWC3 USB controller block implemented on Google Tensor SoCs,
15+
starting with the G5 generation (laguna). Based on Synopsys DWC3 IP, the
16+
controller features Dual-Role Device single port with hibernation add-on.
17+
18+
properties:
19+
compatible:
20+
const: google,lga-dwc3
21+
22+
reg:
23+
items:
24+
- description: Core DWC3 IP registers.
25+
26+
interrupts:
27+
items:
28+
- description: Core DWC3 interrupt.
29+
- description: High speed power management event for remote wakeup.
30+
- description: Super speed power management event for remote wakeup.
31+
32+
interrupt-names:
33+
items:
34+
- const: core
35+
- const: hs_pme
36+
- const: ss_pme
37+
38+
clocks:
39+
items:
40+
- description: Non-sticky module clock.
41+
- description: Sticky module clock.
42+
43+
clock-names:
44+
items:
45+
- const: non_sticky
46+
- const: sticky
47+
48+
resets:
49+
items:
50+
- description: Non-sticky module reset.
51+
- description: Sticky module reset.
52+
- description: DRD bus reset.
53+
- description: Top-level reset.
54+
55+
reset-names:
56+
items:
57+
- const: non_sticky
58+
- const: sticky
59+
- const: drd_bus
60+
- const: top
61+
62+
power-domains:
63+
items:
64+
- description: Power switchable domain, the child of top domain.
65+
Turning it on puts the controller into full power state,
66+
turning it off puts the controller into power gated state.
67+
- description: Top domain, the parent of power switchable domain.
68+
Turning it on puts the controller into power gated state,
69+
turning it off completely shuts off the controller.
70+
71+
power-domain-names:
72+
items:
73+
- const: psw
74+
- const: top
75+
76+
iommus:
77+
maxItems: 1
78+
79+
google,usb-cfg-csr:
80+
description:
81+
A phandle to a syscon node used to access the USB configuration
82+
registers. These registers are the top-level wrapper of the USB
83+
subsystem and provide control and status for the integrated USB
84+
controller and USB PHY.
85+
$ref: /schemas/types.yaml#/definitions/phandle-array
86+
items:
87+
- items:
88+
- description: phandle to the syscon node.
89+
- description: USB host controller configuration register offset.
90+
- description: USB custom interrrupts control register offset.
91+
92+
required:
93+
- compatible
94+
- reg
95+
- interrupts
96+
- interrupt-names
97+
- clocks
98+
- clock-names
99+
- resets
100+
- reset-names
101+
- power-domains
102+
- power-domain-names
103+
- google,usb-cfg-csr
104+
105+
allOf:
106+
- $ref: snps,dwc3-common.yaml#
107+
108+
unevaluatedProperties: false
109+
110+
examples:
111+
- |
112+
#include <dt-bindings/interrupt-controller/arm-gic.h>
113+
#include <dt-bindings/interrupt-controller/irq.h>
114+
soc {
115+
#address-cells = <2>;
116+
#size-cells = <2>;
117+
118+
usb@c400000 {
119+
compatible = "google,lga-dwc3";
120+
reg = <0 0x0c400000 0 0xd060>;
121+
interrupts = <GIC_SPI 580 IRQ_TYPE_LEVEL_HIGH 0>,
122+
<GIC_SPI 597 IRQ_TYPE_LEVEL_HIGH 0>,
123+
<GIC_SPI 598 IRQ_TYPE_LEVEL_HIGH 0>;
124+
interrupt-names = "core", "hs_pme", "ss_pme";
125+
clocks = <&hsion_usbc_non_sticky_clk>, <&hsion_usbc_sticky_clk>;
126+
clock-names = "non_sticky", "sticky";
127+
resets = <&hsion_resets_usbc_non_sticky>, <&hsion_resets_usbc_sticky>,
128+
<&hsion_resets_usb_drd_bus>, <&hsion_resets_usb_top>;
129+
reset-names = "non_sticky", "sticky", "drd_bus", "top";
130+
power-domains = <&hsio_n_usb_psw>, <&hsio_n_usb>;
131+
power-domain-names = "psw", "top";
132+
phys = <&usb_phy 0>;
133+
phy-names = "usb2-phy";
134+
snps,quirk-frame-length-adjustment = <0x20>;
135+
snps,gfladj-refclk-lpm-sel-quirk;
136+
snps,incr-burst-type-adjustment = <4>;
137+
google,usb-cfg-csr = <&usb_cfg_csr 0x0 0x20>;
138+
};
139+
};
140+
...
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/usb/microchip,lan9691-dwc3.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Microchip LAN969x SuperSpeed DWC3 USB SoC controller
8+
9+
maintainers:
10+
- Robert Marko <robert.marko@sartura.hr>
11+
12+
select:
13+
properties:
14+
compatible:
15+
contains:
16+
enum:
17+
- microchip,lan9691-dwc3
18+
required:
19+
- compatible
20+
21+
properties:
22+
compatible:
23+
items:
24+
- enum:
25+
- microchip,lan9691-dwc3
26+
- const: snps,dwc3
27+
28+
reg:
29+
maxItems: 1
30+
31+
interrupts:
32+
maxItems: 1
33+
34+
clocks:
35+
items:
36+
- description: Gated USB DRD clock
37+
- description: Controller reference clock
38+
39+
clock-names:
40+
items:
41+
- const: bus_early
42+
- const: ref
43+
44+
unevaluatedProperties: false
45+
46+
required:
47+
- compatible
48+
- reg
49+
- interrupts
50+
- clocks
51+
- clock-names
52+
53+
allOf:
54+
- $ref: snps,dwc3.yaml#
55+
56+
examples:
57+
- |
58+
#include <dt-bindings/interrupt-controller/arm-gic.h>
59+
60+
usb@300000 {
61+
compatible = "microchip,lan9691-dwc3", "snps,dwc3";
62+
reg = <0x300000 0x80000>;
63+
interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
64+
clocks = <&clks 12>, <&clks 11>;
65+
clock-names = "bus_early", "ref";
66+
};

Documentation/devicetree/bindings/usb/renesas,usbhs.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ properties:
2727
- renesas,usbhs-r9a07g044 # RZ/G2{L,LC}
2828
- renesas,usbhs-r9a07g054 # RZ/V2L
2929
- renesas,usbhs-r9a08g045 # RZ/G3S
30+
- renesas,usbhs-r9a09g047 # RZ/G3E
3031
- renesas,usbhs-r9a09g056 # RZ/V2N
3132
- renesas,usbhs-r9a09g057 # RZ/V2H(P)
3233
- const: renesas,rzg2l-usbhs

0 commit comments

Comments
 (0)