Skip to content

Commit e33a6d8

Browse files
committed
Merge tag 'usb-6.13-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 changes for 6.13-rc1. Overall, a pretty slow development cycle, the majority of the work going into the debugfs interface for the thunderbolt (i.e. USB4) code, to help with debugging the myrad ways that hardware vendors get their interfaces messed up. Other than that, here's the highlights: - thunderbolt changes and additions to debugfs interfaces - lots of device tree updates for new and old hardware - UVC configfs gadget updates and new apis for features - xhci driver updates and fixes - dwc3 driver updates and fixes - typec driver updates and fixes - lots of other small updates and fixes, full details in the shortlog All of these have been in linux-next for a while with no reported problems" * tag 'usb-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (148 commits) usb: typec: tcpm: Add support for sink-bc12-completion-time-ms DT property dt-bindings: usb: maxim,max33359: add usage of sink bc12 time property dt-bindings: connector: Add time property for Sink BC12 detection completion usb: dwc3: gadget: Remove dwc3_request->needs_extra_trb usb: dwc3: gadget: Cleanup SG handling usb: dwc3: gadget: Fix looping of queued SG entries usb: dwc3: gadget: Fix checking for number of TRBs left usb: dwc3: ep0: Don't clear ep0 DWC3_EP_TRANSFER_STARTED Revert "usb: gadget: composite: fix OS descriptors w_value logic" usb: ehci-spear: fix call balance of sehci clk handling routines USB: make to_usb_device_driver() use container_of_const() USB: make to_usb_driver() use container_of_const() USB: properly lock dynamic id list when showing an id USB: make single lock for all usb dynamic id lists drivers/usb/storage: refactor min with min_t drivers/usb/serial: refactor min with min_t drivers/usb/musb: refactor min/max with min_t/max_t drivers/usb/mon: refactor min with min_t drivers/usb/misc: refactor min with min_t drivers/usb/host: refactor min/max with min_t/max_t ...
2 parents 93e064c + 237d4e0 commit e33a6d8

File tree

257 files changed

+3502
-1349
lines changed

Some content is hidden

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

257 files changed

+3502
-1349
lines changed

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

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,70 @@ Description: Specific uncompressed frame descriptors
342342
support
343343
========================= =====================================
344344

345+
What: /config/usb-gadget/gadget/functions/uvc.name/streaming/framebased
346+
Date: Sept 2024
347+
KernelVersion: 5.15
348+
Description: Framebased format descriptors
349+
350+
What: /config/usb-gadget/gadget/functions/uvc.name/streaming/framebased/name
351+
Date: Sept 2024
352+
KernelVersion: 5.15
353+
Description: Specific framebased format descriptors
354+
355+
================== =======================================
356+
bFormatIndex unique id for this format descriptor;
357+
only defined after parent header is
358+
linked into the streaming class;
359+
read-only
360+
bmaControls this format's data for bmaControls in
361+
the streaming header
362+
bmInterlaceFlags specifies interlace information,
363+
read-only
364+
bAspectRatioY the X dimension of the picture aspect
365+
ratio, read-only
366+
bAspectRatioX the Y dimension of the picture aspect
367+
ratio, read-only
368+
bDefaultFrameIndex optimum frame index for this stream
369+
bBitsPerPixel number of bits per pixel used to
370+
specify color in the decoded video
371+
frame
372+
guidFormat globally unique id used to identify
373+
stream-encoding format
374+
================== =======================================
375+
376+
What: /config/usb-gadget/gadget/functions/uvc.name/streaming/framebased/name/name
377+
Date: Sept 2024
378+
KernelVersion: 5.15
379+
Description: Specific framebased frame descriptors
380+
381+
========================= =====================================
382+
bFrameIndex unique id for this framedescriptor;
383+
only defined after parent format is
384+
linked into the streaming header;
385+
read-only
386+
dwFrameInterval indicates how frame interval can be
387+
programmed; a number of values
388+
separated by newline can be specified
389+
dwDefaultFrameInterval the frame interval the device would
390+
like to use as default
391+
dwBytesPerLine Specifies the number of bytes per line
392+
of video for packed fixed frame size
393+
formats, allowing the receiver to
394+
perform stride alignment of the video.
395+
If the bVariableSize value (above) is
396+
TRUE (1), or if the format does not
397+
permit such alignment, this value shall
398+
be set to zero (0).
399+
dwMaxBitRate the maximum bit rate at the shortest
400+
frame interval in bps
401+
dwMinBitRate the minimum bit rate at the longest
402+
frame interval in bps
403+
wHeight height of decoded bitmap frame in px
404+
wWidth width of decoded bitmam frame in px
405+
bmCapabilities still image support, fixed frame-rate
406+
support
407+
========================= =====================================
408+
345409
What: /config/usb-gadget/gadget/functions/uvc.name/streaming/header
346410
Date: Dec 2014
347411
KernelVersion: 4.0

Documentation/ABI/testing/sysfs-class-typec

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,19 @@ Description:
149149
advertise to the partner. The currently used capabilities are in
150150
brackets. Selection happens by writing to the file.
151151

152+
What: /sys/class/typec/<port>/usb_capability
153+
Date: November 2024
154+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
155+
Description: Lists the supported USB Modes. The default USB mode that is used
156+
next time with the Enter_USB Message is in brackets. The default
157+
mode can be changed by writing to the file when supported by the
158+
driver.
159+
160+
Valid values:
161+
- usb2 (USB 2.0)
162+
- usb3 (USB 3.2)
163+
- usb4 (USB4)
164+
152165
USB Type-C partner devices (eg. /sys/class/typec/port0-partner/)
153166

154167
What: /sys/class/typec/<port>-partner/accessory_mode
@@ -220,6 +233,20 @@ Description:
220233
directory exists, it will have an attribute file for every VDO
221234
in Discover Identity command result.
222235

236+
What: /sys/class/typec/<port>-partner/usb_mode
237+
Date: November 2024
238+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
239+
Description: The USB Modes that the partner device supports. The active mode
240+
is displayed in brackets. The active USB mode can be changed by
241+
writing to this file when the port driver is able to send Data
242+
Reset Message to the partner. That requires USB Power Delivery
243+
contract between the partner and the port.
244+
245+
Valid values:
246+
- usb2 (USB 2.0)
247+
- usb3 (USB 3.2)
248+
- usb4 (USB4)
249+
223250
USB Type-C cable devices (eg. /sys/class/typec/port0-cable/)
224251

225252
Note: Electronically Marked Cables will have a device also for one cable plug

Documentation/devicetree/bindings/connector/usb-connector.yaml

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,46 @@ properties:
253253

254254
additionalProperties: false
255255

256+
sink-wait-cap-time-ms:
257+
description: Represents the max time in ms that USB Type-C port (in sink
258+
role) should wait for the port partner (source role) to send source caps.
259+
SinkWaitCap timer starts when port in sink role attaches to the source.
260+
This timer will stop when sink receives PD source cap advertisement before
261+
timeout in which case it'll move to capability negotiation stage. A
262+
timeout leads to a hard reset message by the port.
263+
minimum: 310
264+
maximum: 620
265+
default: 310
266+
267+
ps-source-off-time-ms:
268+
description: Represents the max time in ms that a DRP in source role should
269+
take to turn off power after the PsSourceOff timer starts. PsSourceOff
270+
timer starts when a sink's PHY layer receives EOP of the GoodCRC message
271+
(corresponding to an Accept message sent in response to a PR_Swap or a
272+
FR_Swap request). This timer stops when last bit of GoodCRC EOP
273+
corresponding to the received PS_RDY message is transmitted by the PHY
274+
layer. A timeout shall lead to error recovery in the type-c port.
275+
minimum: 750
276+
maximum: 920
277+
default: 920
278+
279+
cc-debounce-time-ms:
280+
description: Represents the max time in ms that a port shall wait to
281+
determine if it's attached to a partner.
282+
minimum: 100
283+
maximum: 200
284+
default: 200
285+
286+
sink-bc12-completion-time-ms:
287+
description: Represents the max time in ms that a port in sink role takes
288+
to complete Battery Charger (BC1.2) Detection. BC1.2 detection is a
289+
hardware mechanism, which in some TCPC implementations, can run in
290+
parallel once the Type-C connection state machine reaches the "potential
291+
connect as sink" state. In TCPCs where this causes delays to respond to
292+
the incoming PD messages, sink-bc12-completion-time-ms is used to delay
293+
PD negotiation till BC1.2 detection completes.
294+
default: 0
295+
256296
dependencies:
257297
sink-vdos-v1: [ sink-vdos ]
258298
sink-vdos: [ sink-vdos-v1 ]
@@ -380,7 +420,7 @@ examples:
380420
};
381421
382422
# USB-C connector attached to a typec port controller(ptn5110), which has
383-
# power delivery support and enables drp.
423+
# power delivery support, explicitly defines time properties and enables drp.
384424
- |
385425
#include <dt-bindings/usb/pd.h>
386426
typec: ptn5110 {
@@ -393,6 +433,10 @@ examples:
393433
sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_USB_COMM)
394434
PDO_VAR(5000, 12000, 2000)>;
395435
op-sink-microwatt = <10000000>;
436+
sink-wait-cap-time-ms = <465>;
437+
ps-source-off-time-ms = <835>;
438+
cc-debounce-time-ms = <101>;
439+
sink-bc12-completion-time-ms = <500>;
396440
};
397441
};
398442

Documentation/devicetree/bindings/phy/fsl,imx8mq-usb-phy.yaml

Lines changed: 37 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,17 @@ maintainers:
1111

1212
properties:
1313
compatible:
14-
enum:
15-
- fsl,imx8mq-usb-phy
16-
- fsl,imx8mp-usb-phy
14+
oneOf:
15+
- enum:
16+
- fsl,imx8mq-usb-phy
17+
- fsl,imx8mp-usb-phy
18+
- items:
19+
- const: fsl,imx95-usb-phy
20+
- const: fsl,imx8mp-usb-phy
1721

1822
reg:
19-
maxItems: 1
23+
minItems: 1
24+
maxItems: 2
2025

2126
"#phy-cells":
2227
const: 0
@@ -89,7 +94,34 @@ required:
8994
- clocks
9095
- clock-names
9196

92-
additionalProperties: false
97+
allOf:
98+
- if:
99+
properties:
100+
compatible:
101+
contains:
102+
enum:
103+
- fsl,imx95-usb-phy
104+
then:
105+
properties:
106+
reg:
107+
items:
108+
- description: USB PHY Control range
109+
- description: USB PHY TCA Block range
110+
else:
111+
properties:
112+
reg:
113+
maxItems: 1
114+
115+
- if:
116+
properties:
117+
compatible:
118+
contains:
119+
enum:
120+
- fsl,imx95-usb-phy
121+
then:
122+
$ref: /schemas/usb/usb-switch.yaml#
123+
124+
unevaluatedProperties: false
93125

94126
examples:
95127
- |

Documentation/devicetree/bindings/phy/qcom,msm8998-qmp-usb3-phy.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ properties:
1818
enum:
1919
- qcom,msm8998-qmp-usb3-phy
2020
- qcom,qcm2290-qmp-usb3-phy
21+
- qcom,qcs615-qmp-usb3-phy
2122
- qcom,sdm660-qmp-usb3-phy
2223
- qcom,sm6115-qmp-usb3-phy
2324

@@ -96,6 +97,7 @@ allOf:
9697
contains:
9798
enum:
9899
- qcom,msm8998-qmp-usb3-phy
100+
- qcom,qcs615-qmp-usb3-phy
99101
- qcom,sdm660-qmp-usb3-phy
100102
then:
101103
properties:

Documentation/devicetree/bindings/phy/qcom,qusb2-phy.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ properties:
2525
- qcom,msm8996-qusb2-phy
2626
- qcom,msm8998-qusb2-phy
2727
- qcom,qcm2290-qusb2-phy
28+
- qcom,qcs615-qusb2-phy
2829
- qcom,sdm660-qusb2-phy
2930
- qcom,sm4250-qusb2-phy
3031
- qcom,sm6115-qusb2-phy

Documentation/devicetree/bindings/usb/allwinner,sun4i-a10-musb.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ properties:
2525
- allwinner,sun20i-d1-musb
2626
- allwinner,sun50i-a100-musb
2727
- allwinner,sun50i-h6-musb
28+
- allwinner,sun55i-a523-musb
2829
- const: allwinner,sun8i-a33-musb
2930
- items:
3031
- const: allwinner,sun50i-h616-musb

Documentation/devicetree/bindings/usb/cypress,cypd4226.yaml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,18 +61,15 @@ additionalProperties: false
6161

6262
examples:
6363
- |
64-
#include <dt-bindings/gpio/tegra194-gpio.h>
6564
#include <dt-bindings/interrupt-controller/arm-gic.h>
6665
i2c {
6766
#address-cells = <1>;
6867
#size-cells = <0>;
69-
#interrupt-cells = <2>;
7068
7169
typec@8 {
7270
compatible = "cypress,cypd4226";
7371
reg = <0x08>;
74-
interrupt-parent = <&gpio_aon>;
75-
interrupts = <TEGRA194_AON_GPIO(BB, 2) IRQ_TYPE_LEVEL_LOW>;
72+
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
7673
firmware-name = "nvidia,jetson-agx-xavier";
7774
#address-cells = <1>;
7875
#size-cells = <0>;

Documentation/devicetree/bindings/usb/fsl,imx8mp-dwc3.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,11 @@ maintainers:
1212

1313
properties:
1414
compatible:
15-
const: fsl,imx8mp-dwc3
15+
oneOf:
16+
- items:
17+
- const: fsl,imx95-dwc3
18+
- const: fsl,imx8mp-dwc3
19+
- const: fsl,imx8mp-dwc3
1620

1721
reg:
1822
items:

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ properties:
3232
- allwinner,sun50i-a64-ehci
3333
- allwinner,sun50i-h6-ehci
3434
- allwinner,sun50i-h616-ehci
35+
- allwinner,sun55i-a523-ehci
3536
- allwinner,sun5i-a13-ehci
3637
- allwinner,sun6i-a31-ehci
3738
- allwinner,sun7i-a20-ehci

0 commit comments

Comments
 (0)