Skip to content

Commit c0c9379

Browse files
committed
Merge tag 'usb-6.16-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.16-rc1. Included in here are the following: - USB offload support for audio devices. I think this takes the record for the most number of patch series (30+) over the longest period of time (2+ years) to get merged properly. Many props go to Wesley Cheng for seeing this effort through, they took a major out-of-tree hacked-up-monstrosity that was created by multiple vendors for their specific devices, got it all merged into a semi-coherent set of changes, and got all of the different major subsystems to agree on how this should be implemented both with changes to their code as well as userspace apis, AND wrangled the hardware companies into agreeing to go forward with this, despite making them all redo work they had already done in their private device trees. This feature offers major power savings on embedded devices where a USB audio stream can continue to flow while the rest of the system is sleeping, something that devices running on battery power really care about. There are still some more small tweaks left to be done here, and those patches are still out for review and arguing among the different hardware companies, but this is a major step forward and a great example of how to do upstream development well. - small number of thunderbolt fixes and updates, things seem to be slowing down here (famous last words...) - xhci refactors and reworking to try to handle some rough corner cases in some hardware implementations where things don't always work properly - typec driver updates - USB3 power management reworking and updates - Removal of some old and orphaned UDC gadget drivers that had not been used in a very long time, dropping over 11 thousand lines from the tree, always a nice thing, making up for the 12k lines added for the USB offload feature. - lots of little updates and fixes in different drivers All of these have been in linux-next for over 2 weeks, the USB offload logic has been in there for 8 weeks now, with no reported issues" * tag 'usb-6.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (172 commits) ALSA: usb-audio: qcom: fix USB_XHCI dependency ASoC: qdsp6: fix compile-testing without CONFIG_OF usb: misc: onboard_usb_dev: fix build warning for CONFIG_USB_ONBOARD_DEV_USB5744=n usb: typec: tipd: fix typo in TPS_STATUS_HIGH_VOLAGE_WARNING macro USB: typec: fix const issue in typec_match() USB: gadget: udc: fix const issue in gadget_match_driver() USB: gadget: fix up const issue with struct usb_function_instance USB: serial: pl2303: add new chip PL2303GC-Q20 and PL2303GT-2AB USB: serial: bus: fix const issue in usb_serial_device_match() usb: usbtmc: Fix timeout value in get_stb usb: usbtmc: Fix read_stb function and get_stb ioctl ALSA: qc_audio_offload: try to reduce address space confusion ALSA: qc_audio_offload: avoid leaking xfer_buf allocation ALSA: qc_audio_offload: rename dma/iova/va/cpu/phys variables ALSA: usb-audio: qcom: Fix an error handling path in qc_usb_audio_probe() usb: misc: onboard_usb_dev: Fix usb5744 initialization sequence dt-bindings: usb: ti,usb8041: Add binding for TI USB8044 hub controller usb: misc: onboard_usb_dev: Add support for TI TUSB8044 hub usb: gadget: lpc32xx_udc: Use USB API functions rather than constants usb: gadget: epautoconf: Use USB API functions rather than constants ...
2 parents 378ec25 + 882826f commit c0c9379

File tree

160 files changed

+10369
-12392
lines changed

Some content is hidden

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

160 files changed

+10369
-12392
lines changed

Documentation/admin-guide/thunderbolt.rst

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,39 @@ information is missing.
296296
To recover from this mode, one needs to flash a valid NVM image to the
297297
host controller in the same way it is done in the previous chapter.
298298

299+
Tunneling events
300+
----------------
301+
The driver sends ``KOBJ_CHANGE`` events to userspace when there is a
302+
tunneling change in the ``thunderbolt_domain``. The notification carries
303+
following environment variables::
304+
305+
TUNNEL_EVENT=<EVENT>
306+
TUNNEL_DETAILS=0:12 <-> 1:20 (USB3)
307+
308+
Possible values for ``<EVENT>`` are:
309+
310+
activated
311+
The tunnel was activated (created).
312+
313+
changed
314+
There is a change in this tunnel. For example bandwidth allocation was
315+
changed.
316+
317+
deactivated
318+
The tunnel was torn down.
319+
320+
low bandwidth
321+
The tunnel is not getting optimal bandwidth.
322+
323+
insufficient bandwidth
324+
There is not enough bandwidth for the current tunnel requirements.
325+
326+
The ``TUNNEL_DETAILS`` is only provided if the tunnel is known. For
327+
example, in case of Firmware Connection Manager this is missing or does
328+
not provide full tunnel information. In case of Software Connection Manager
329+
this includes full tunnel details. The format currently matches what the
330+
driver uses when logging. This may change over time.
331+
299332
Networking over Thunderbolt cable
300333
---------------------------------
301334
Thunderbolt technology allows software communication between two hosts
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/net/wireless/realtek,rtl8188e.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Realtek RTL8188E USB WiFi
8+
9+
maintainers:
10+
- J. Neuschäfer <[email protected]>
11+
12+
description:
13+
Realtek RTL8188E is a family of USB-connected 2.4 GHz WiFi modules.
14+
15+
allOf:
16+
- $ref: /schemas/usb/usb-device.yaml#
17+
18+
properties:
19+
compatible:
20+
const: usbbda,179 # RTL8188ETV
21+
22+
reg: true
23+
24+
vdd-supply:
25+
description:
26+
Regulator for the 3V3 supply.
27+
28+
required:
29+
- compatible
30+
- reg
31+
- vdd-supply
32+
33+
additionalProperties: false
34+
35+
examples:
36+
- |
37+
#include <dt-bindings/gpio/gpio.h>
38+
39+
usb {
40+
#address-cells = <1>;
41+
#size-cells = <0>;
42+
43+
wifi: wifi@1 {
44+
compatible = "usbbda,179";
45+
reg = <1>;
46+
vdd-supply = <&vcc3v3>;
47+
};
48+
};
49+
50+
...

Documentation/devicetree/bindings/sound/qcom,sm8250.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,4 +193,19 @@ examples:
193193
sound-dai = <&vamacro 0>;
194194
};
195195
};
196+
197+
usb-dai-link {
198+
link-name = "USB Playback";
199+
cpu {
200+
sound-dai = <&q6afedai USB_RX>;
201+
};
202+
203+
codec {
204+
sound-dai = <&usbdai USB_RX>;
205+
};
206+
207+
platform {
208+
sound-dai = <&q6routing>;
209+
};
210+
};
196211
};

Documentation/devicetree/bindings/usb/chipidea,usb2-common.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@ properties:
4242

4343
phy_type: true
4444

45+
iommus:
46+
maxItems: 1
47+
4548
itc-setting:
4649
description:
4750
interrupt threshold control register control, the setting should be

Documentation/devicetree/bindings/usb/chipidea,usb2-imx.yaml

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ properties:
4141
- fsl,imx8mm-usb
4242
- fsl,imx8mn-usb
4343
- fsl,imx93-usb
44+
- fsl,imx95-usb
4445
- const: fsl,imx7d-usb
4546
- const: fsl,imx27-usb
4647
- items:
@@ -54,7 +55,11 @@ properties:
5455
maxItems: 1
5556

5657
interrupts:
57-
maxItems: 1
58+
minItems: 1
59+
items:
60+
- description: USB controller interrupt or combine USB controller
61+
and wakeup interrupts.
62+
- description: Wakeup interrupt
5863

5964
clocks:
6065
minItems: 1
@@ -191,6 +196,7 @@ allOf:
191196
contains:
192197
enum:
193198
- fsl,imx93-usb
199+
- fsl,imx95-usb
194200
then:
195201
properties:
196202
clocks:
@@ -238,6 +244,22 @@ allOf:
238244
maxItems: 1
239245
clock-names: false
240246

247+
# imx95 soc use two interrupts
248+
- if:
249+
properties:
250+
compatible:
251+
contains:
252+
enum:
253+
- fsl,imx95-usb
254+
then:
255+
properties:
256+
interrupts:
257+
minItems: 2
258+
else:
259+
properties:
260+
interrupts:
261+
maxItems: 1
262+
241263
unevaluatedProperties: false
242264

243265
examples:

Documentation/devicetree/bindings/usb/fsl,usbmisc.yaml

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ properties:
3434
- fsl,imx8mm-usbmisc
3535
- fsl,imx8mn-usbmisc
3636
- fsl,imx8ulp-usbmisc
37+
- fsl,imx95-usbmisc
3738
- const: fsl,imx7d-usbmisc
3839
- const: fsl,imx6q-usbmisc
3940
- items:
@@ -45,7 +46,10 @@ properties:
4546
maxItems: 1
4647

4748
reg:
48-
maxItems: 1
49+
minItems: 1
50+
items:
51+
- description: Base and length of the Wrapper module register
52+
- description: Base and length of the HSIO Block Control register
4953

5054
'#index-cells':
5155
const: 1
@@ -56,6 +60,23 @@ required:
5660
- compatible
5761
- reg
5862

63+
allOf:
64+
# imx95 soc needs use HSIO Block Control
65+
- if:
66+
properties:
67+
compatible:
68+
contains:
69+
enum:
70+
- fsl,imx95-usbmisc
71+
then:
72+
properties:
73+
reg:
74+
minItems: 2
75+
else:
76+
properties:
77+
reg:
78+
maxItems: 1
79+
5980
additionalProperties: false
6081

6182
examples:

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ properties:
8686
- nuvoton,npcm845-ehci
8787
- ti,ehci-omap
8888
- usb-ehci
89+
- via,vt8500-ehci
8990

9091
reg:
9192
minItems: 1
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/usb/parade,ps5511.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Parade PS5511 4+1 Port USB 3.2 Gen 1 Hub Controller
8+
9+
maintainers:
10+
- Pin-yen Lin <[email protected]>
11+
12+
properties:
13+
compatible:
14+
enum:
15+
- usb1da0,5511
16+
- usb1da0,55a1
17+
18+
reset-gpios:
19+
items:
20+
- description: GPIO specifier for RESETB pin.
21+
22+
vddd11-supply:
23+
description:
24+
1V1 power supply to the hub
25+
26+
vdd33-supply:
27+
description:
28+
3V3 power supply to the hub
29+
30+
peer-hub: true
31+
32+
ports:
33+
$ref: /schemas/graph.yaml#/properties/ports
34+
35+
patternProperties:
36+
'^port@':
37+
$ref: /schemas/graph.yaml#/properties/port
38+
39+
properties:
40+
reg:
41+
minimum: 1
42+
maximum: 5
43+
44+
additionalProperties:
45+
properties:
46+
reg:
47+
minimum: 1
48+
maximum: 5
49+
50+
required:
51+
- peer-hub
52+
53+
allOf:
54+
- $ref: usb-hub.yaml#
55+
- if:
56+
not:
57+
properties:
58+
compatible:
59+
enum:
60+
- usb1da0,55a1
61+
then:
62+
properties:
63+
ports:
64+
properties:
65+
port@5: false
66+
67+
patternProperties:
68+
'^.*@5$': false
69+
70+
examples:
71+
- |
72+
usb {
73+
#address-cells = <1>;
74+
#size-cells = <0>;
75+
76+
/* 2.0 hub on port 1 */
77+
hub_2_0: hub@1 {
78+
compatible = "usb1da0,55a1";
79+
reg = <1>;
80+
peer-hub = <&hub_3_0>;
81+
#address-cells = <1>;
82+
#size-cells = <0>;
83+
/* USB 2.0 device on port 5 */
84+
device@5 {
85+
reg = <5>;
86+
compatible = "usb123,4567";
87+
};
88+
};
89+
90+
/* 3.0 hub on port 2 */
91+
hub_3_0: hub@2 {
92+
compatible = "usb1da0,5511";
93+
reg = <2>;
94+
peer-hub = <&hub_2_0>;
95+
96+
ports {
97+
#address-cells = <1>;
98+
#size-cells = <0>;
99+
/* Type-A connector on port 3 */
100+
port@3 {
101+
reg = <3>;
102+
endpoint {
103+
remote-endpoint = <&usb_a0_ss>;
104+
};
105+
};
106+
};
107+
};
108+
};

Documentation/devicetree/bindings/usb/parade,ps8830.yaml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,11 @@ maintainers:
1111

1212
properties:
1313
compatible:
14-
enum:
15-
- parade,ps8830
14+
oneOf:
15+
- items:
16+
- const: parade,ps8833
17+
- const: parade,ps8830
18+
- const: parade,ps8830
1619

1720
reg:
1821
maxItems: 1

Documentation/devicetree/bindings/usb/qcom,dwc3.yaml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,22 @@
44
$id: http://devicetree.org/schemas/usb/qcom,dwc3.yaml#
55
$schema: http://devicetree.org/meta-schemas/core.yaml#
66

7-
title: Qualcomm SuperSpeed DWC3 USB SoC controller
7+
title: Legacy Qualcomm SuperSpeed DWC3 USB SoC controller
88

99
maintainers:
1010
- Wesley Cheng <[email protected]>
1111

12+
# Use the combined qcom,snps-dwc3 instead
13+
deprecated: true
14+
15+
select:
16+
properties:
17+
compatible:
18+
contains:
19+
const: qcom,dwc3
20+
required:
21+
- compatible
22+
1223
properties:
1324
compatible:
1425
items:
@@ -55,6 +66,7 @@ properties:
5566
- qcom,sm8450-dwc3
5667
- qcom,sm8550-dwc3
5768
- qcom,sm8650-dwc3
69+
- qcom,sm8750-dwc3
5870
- qcom,x1e80100-dwc3
5971
- qcom,x1e80100-dwc3-mp
6072
- const: qcom,dwc3
@@ -354,6 +366,7 @@ allOf:
354366
- qcom,sm8450-dwc3
355367
- qcom,sm8550-dwc3
356368
- qcom,sm8650-dwc3
369+
- qcom,sm8750-dwc3
357370
then:
358371
properties:
359372
clocks:
@@ -497,6 +510,7 @@ allOf:
497510
- qcom,sm8450-dwc3
498511
- qcom,sm8550-dwc3
499512
- qcom,sm8650-dwc3
513+
- qcom,sm8750-dwc3
500514
then:
501515
properties:
502516
interrupts:

0 commit comments

Comments
 (0)