Skip to content

Commit 79160a6

Browse files
committed
Merge tag 'usb-5.14-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 patches for 5.14-rc1. Nothing major here just lots of little changes for new hardware and features. Highlights are: - more USB 4 support added to the thunderbolt core - build warning fixes all over the place - usb-serial driver updates and new device support - mtu3 driver updates - gadget driver updates - dwc3 driver updates - dwc2 driver updates - isp1760 host driver updates - musb driver updates - lots of other tiny things. Full details are in the shortlog. All of these have been in linux-next for a while now with no reported issues" * tag 'usb-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (223 commits) phy: qcom-qusb2: Add configuration for SM4250 and SM6115 dt-bindings: phy: qcom,qusb2: document sm4250/6115 compatible dt-bindings: usb: qcom,dwc3: Add bindings for sm6115/4250 USB: cdc-acm: blacklist Heimann USB Appset device usb: xhci-mtk: allow multiple Start-Split in a microframe usb: ftdi-elan: remove redundant continue statement in a while-loop usb: class: cdc-wdm: return the correct errno code xhci: remove redundant continue statement usb: dwc3: Fix debugfs creation flow usb: gadget: hid: fix error return code in hid_bind() usb: gadget: eem: fix echo command packet response issue usb: gadget: f_hid: fix endianness issue with descriptors Revert "USB: misc: Add onboard_usb_hub driver" Revert "of/platform: Add stubs for of_platform_device_create/destroy()" Revert "usb: host: xhci-plat: Create platform device for onboard hubs in probe()" Revert "arm64: dts: qcom: sc7180-trogdor: Add nodes for onboard USB hub" xhci: solve a double free problem while doing s4 xhci: handle failed buffer copy to URB sg list and fix a W=1 copiler warning xhci: Add adaptive interrupt rate for isoch TRBs with XHCI_AVOID_BEI quirk xhci: Remove unused defines for ERST_SIZE and ERST_ENTRIES ...
2 parents c932ed0 + 7756f1d commit 79160a6

215 files changed

Lines changed: 8848 additions & 2889 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-uac2

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ Description:
88
c_chmask capture channel mask
99
c_srate capture sampling rate
1010
c_ssize capture sample size (bytes)
11+
c_sync capture synchronization type (async/adaptive)
12+
fb_max maximum extra bandwidth in async mode
1113
p_chmask playback channel mask
1214
p_srate playback sampling rate
1315
p_ssize playback sample size (bytes)

Documentation/ABI/testing/sysfs-bus-thunderbolt

Lines changed: 59 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
What: /sys/bus/thunderbolt/devices/.../domainX/boot_acl
1+
What: /sys/bus/thunderbolt/devices/.../domainX/boot_acl
22
Date: Jun 2018
33
KernelVersion: 4.17
44
Contact: thunderbolt-software@lists.01.org
@@ -21,7 +21,7 @@ Description: Holds a comma separated list of device unique_ids that
2121
If a device is authorized automatically during boot its
2222
boot attribute is set to 1.
2323

24-
What: /sys/bus/thunderbolt/devices/.../domainX/deauthorization
24+
What: /sys/bus/thunderbolt/devices/.../domainX/deauthorization
2525
Date: May 2021
2626
KernelVersion: 5.12
2727
Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
@@ -30,7 +30,7 @@ Description: This attribute tells whether the system supports
3030
de-authorize PCIe tunnel by writing 0 to authorized
3131
attribute under each device.
3232

33-
What: /sys/bus/thunderbolt/devices/.../domainX/iommu_dma_protection
33+
What: /sys/bus/thunderbolt/devices/.../domainX/iommu_dma_protection
3434
Date: Mar 2019
3535
KernelVersion: 4.21
3636
Contact: thunderbolt-software@lists.01.org
@@ -39,7 +39,7 @@ Description: This attribute tells whether the system uses IOMMU
3939
it is not (DMA protection is solely based on Thunderbolt
4040
security levels).
4141

42-
What: /sys/bus/thunderbolt/devices/.../domainX/security
42+
What: /sys/bus/thunderbolt/devices/.../domainX/security
4343
Date: Sep 2017
4444
KernelVersion: 4.13
4545
Contact: thunderbolt-software@lists.01.org
@@ -61,7 +61,7 @@ Description: This attribute holds current Thunderbolt security level
6161
the BIOS.
6262
======= ==================================================
6363

64-
What: /sys/bus/thunderbolt/devices/.../authorized
64+
What: /sys/bus/thunderbolt/devices/.../authorized
6565
Date: Sep 2017
6666
KernelVersion: 4.13
6767
Contact: thunderbolt-software@lists.01.org
@@ -95,22 +95,22 @@ Description: This attribute is used to authorize Thunderbolt devices
9595
EKEYREJECTED if the challenge response did not match.
9696
== ========================================================
9797

98-
What: /sys/bus/thunderbolt/devices/.../boot
98+
What: /sys/bus/thunderbolt/devices/.../boot
9999
Date: Jun 2018
100100
KernelVersion: 4.17
101101
Contact: thunderbolt-software@lists.01.org
102102
Description: This attribute contains 1 if Thunderbolt device was already
103103
authorized on boot and 0 otherwise.
104104

105-
What: /sys/bus/thunderbolt/devices/.../generation
105+
What: /sys/bus/thunderbolt/devices/.../generation
106106
Date: Jan 2020
107107
KernelVersion: 5.5
108108
Contact: Christian Kellner <christian@kellner.me>
109109
Description: This attribute contains the generation of the Thunderbolt
110110
controller associated with the device. It will contain 4
111111
for USB4.
112112

113-
What: /sys/bus/thunderbolt/devices/.../key
113+
What: /sys/bus/thunderbolt/devices/.../key
114114
Date: Sep 2017
115115
KernelVersion: 4.13
116116
Contact: thunderbolt-software@lists.01.org
@@ -213,19 +213,36 @@ Description: When new NVM image is written to the non-active NVM
213213
restarted with the new NVM firmware. If the image
214214
verification fails an error code is returned instead.
215215

216-
This file will accept writing values "1" or "2"
216+
This file will accept writing values "1", "2" or "3".
217217

218218
- Writing "1" will flush the image to the storage
219219
area and authenticate the image in one action.
220220
- Writing "2" will run some basic validation on the image
221221
and flush it to the storage area.
222+
- Writing "3" will authenticate the image that is
223+
currently written in the storage area. This is only
224+
supported with USB4 devices and retimers.
222225

223226
When read holds status of the last authentication
224227
operation if an error occurred during the process. This
225228
is directly the status value from the DMA configuration
226229
based mailbox before the device is power cycled. Writing
227230
0 here clears the status.
228231

232+
What: /sys/bus/thunderbolt/devices/.../nvm_authenticate_on_disconnect
233+
Date: Oct 2020
234+
KernelVersion: v5.9
235+
Contact: Mario Limonciello <mario.limonciello@dell.com>
236+
Description: For supported devices, automatically authenticate the new Thunderbolt
237+
image when the device is disconnected from the host system.
238+
239+
This file will accept writing values "1" or "2"
240+
241+
- Writing "1" will flush the image to the storage
242+
area and prepare the device for authentication on disconnect.
243+
- Writing "2" will run some basic validation on the image
244+
and flush it to the storage area.
245+
229246
What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/key
230247
Date: Jan 2018
231248
KernelVersion: 4.15
@@ -276,6 +293,39 @@ Contact: thunderbolt-software@lists.01.org
276293
Description: This contains XDomain service specific settings as
277294
bitmask. Format: %x
278295

296+
What: /sys/bus/thunderbolt/devices/usb4_portX/link
297+
Date: Sep 2021
298+
KernelVersion: v5.14
299+
Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
300+
Description: Returns the current link mode. Possible values are
301+
"usb4", "tbt" and "none".
302+
303+
What: /sys/bus/thunderbolt/devices/usb4_portX/offline
304+
Date: Sep 2021
305+
KernelVersion: v5.14
306+
Contact: Rajmohan Mani <rajmohan.mani@intel.com>
307+
Description: Writing 1 to this attribute puts the USB4 port into
308+
offline mode. Only allowed when there is nothing
309+
connected to the port (link attribute returns "none").
310+
Once the port is in offline mode it does not receive any
311+
hotplug events. This is used to update NVM firmware of
312+
on-board retimers. Writing 0 puts the port back to
313+
online mode.
314+
315+
This attribute is only visible if the platform supports
316+
powering on retimers when there is no cable connected.
317+
318+
What: /sys/bus/thunderbolt/devices/usb4_portX/rescan
319+
Date: Sep 2021
320+
KernelVersion: v5.14
321+
Contact: Rajmohan Mani <rajmohan.mani@intel.com>
322+
Description: When the USB4 port is in offline mode writing 1 to this
323+
attribute forces rescan of the sideband for on-board
324+
retimers. Each retimer appear under the USB4 port as if
325+
the USB4 link was up. These retimers act in the same way
326+
as if the cable was connected so upgrading their NVM
327+
firmware can be done the usual way.
328+
279329
What: /sys/bus/thunderbolt/devices/<device>:<port>.<index>/device
280330
Date: Oct 2020
281331
KernelVersion: v5.9
@@ -308,17 +358,3 @@ Date: Oct 2020
308358
KernelVersion: v5.9
309359
Contact: Mika Westerberg <mika.westerberg@linux.intel.com>
310360
Description: Retimer vendor identifier read from the hardware.
311-
312-
What: /sys/bus/thunderbolt/devices/.../nvm_authenticate_on_disconnect
313-
Date: Oct 2020
314-
KernelVersion: v5.9
315-
Contact: Mario Limonciello <mario.limonciello@dell.com>
316-
Description: For supported devices, automatically authenticate the new Thunderbolt
317-
image when the device is disconnected from the host system.
318-
319-
This file will accept writing values "1" or "2"
320-
321-
- Writing "1" will flush the image to the storage
322-
area and prepare the device for authentication on disconnect.
323-
- Writing "2" will run some basic validation on the image
324-
and flush it to the storage area.

Documentation/ABI/testing/sysfs-bus-usb

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -154,17 +154,6 @@ Description:
154154
files hold a string value (enable or disable) indicating whether
155155
or not USB3 hardware LPM U1 or U2 is enabled for the device.
156156

157-
What: /sys/bus/usb/devices/.../removable
158-
Date: February 2012
159-
Contact: Matthew Garrett <mjg@redhat.com>
160-
Description:
161-
Some information about whether a given USB device is
162-
physically fixed to the platform can be inferred from a
163-
combination of hub descriptor bits and platform-specific data
164-
such as ACPI. This file will read either "removable" or
165-
"fixed" if the information is available, and "unknown"
166-
otherwise.
167-
168157
What: /sys/bus/usb/devices/.../ltm_capable
169158
Date: July 2012
170159
Contact: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
What: /sys/devices/.../removable
2+
Date: May 2021
3+
Contact: Rajat Jain <rajatxjain@gmail.com>
4+
Description:
5+
Information about whether a given device can be removed from the
6+
platform by the user. This is determined by its subsystem in a
7+
bus / platform-specific way. This attribute is only present for
8+
devices that can support determining such information:
9+
10+
"removable": device can be removed from the platform by the user
11+
"fixed": device is fixed to the platform / cannot be removed
12+
by the user.
13+
"unknown": The information is unavailable / cannot be deduced.
14+
15+
Currently this is only supported by USB (which infers the
16+
information from a combination of hub descriptor bits and
17+
platform-specific data such as ACPI) and PCI (which gets this
18+
from ACPI / device tree).

Documentation/admin-guide/thunderbolt.rst

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,35 @@ Note names of the NVMem devices ``nvm_activeN`` and ``nvm_non_activeN``
256256
depend on the order they are registered in the NVMem subsystem. N in
257257
the name is the identifier added by the NVMem subsystem.
258258

259+
Upgrading on-board retimer NVM when there is no cable connected
260+
---------------------------------------------------------------
261+
If the platform supports, it may be possible to upgrade the retimer NVM
262+
firmware even when there is nothing connected to the USB4
263+
ports. When this is the case the ``usb4_portX`` devices have two special
264+
attributes: ``offline`` and ``rescan``. The way to upgrade the firmware
265+
is to first put the USB4 port into offline mode::
266+
267+
# echo 1 > /sys/bus/thunderbolt/devices/0-0/usb4_port1/offline
268+
269+
This step makes sure the port does not respond to any hotplug events,
270+
and also ensures the retimers are powered on. The next step is to scan
271+
for the retimers::
272+
273+
# echo 1 > /sys/bus/thunderbolt/devices/0-0/usb4_port1/rescan
274+
275+
This enumerates and adds the on-board retimers. Now retimer NVM can be
276+
upgraded in the same way than with cable connected (see previous
277+
section). However, the retimer is not disconnected as we are offline
278+
mode) so after writing ``1`` to ``nvm_authenticate`` one should wait for
279+
5 or more seconds before running rescan again::
280+
281+
# echo 1 > /sys/bus/thunderbolt/devices/0-0/usb4_port1/rescan
282+
283+
This point if everything went fine, the port can be put back to
284+
functional state again::
285+
286+
# echo 0 > /sys/bus/thunderbolt/devices/0-0/usb4_port1/offline
287+
259288
Upgrading NVM when host controller is in safe mode
260289
--------------------------------------------------
261290
If the existing NVM is not properly authenticated (or is missing) the

Documentation/devicetree/bindings/phy/allwinner,sun8i-h3-usb-phy.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ properties:
1515
const: 1
1616

1717
compatible:
18-
const: allwinner,sun8i-h3-usb-phy
18+
enum:
19+
- allwinner,sun8i-h3-usb-phy
20+
- allwinner,sun50i-h616-usb-phy
1921

2022
reg:
2123
items:

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ properties:
2323
- qcom,msm8998-qusb2-phy
2424
- qcom,sdm660-qusb2-phy
2525
- qcom,ipq6018-qusb2-phy
26+
- qcom,sm4250-qusb2-phy
27+
- qcom,sm6115-qusb2-phy
2628
- items:
2729
- enum:
2830
- qcom,sc7180-qusb2-phy

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ properties:
2222
- allwinner,sun8i-a83t-musb
2323
- allwinner,sun50i-h6-musb
2424
- const: allwinner,sun8i-a33-musb
25+
- items:
26+
- const: allwinner,sun50i-h616-musb
27+
- const: allwinner,sun8i-h3-musb
2528

2629
reg:
2730
maxItems: 1

Documentation/devicetree/bindings/usb/cdns,usb3.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ required:
7575
- reg
7676
- reg-names
7777
- interrupts
78+
- interrupt-names
7879

7980
additionalProperties: false
8081

Documentation/devicetree/bindings/usb/dwc2.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ properties:
2424
- rockchip,rk3188-usb
2525
- rockchip,rk3228-usb
2626
- rockchip,rk3288-usb
27+
- rockchip,rk3308-usb
2728
- rockchip,rk3328-usb
2829
- rockchip,rk3368-usb
2930
- rockchip,rv1108-usb

0 commit comments

Comments
 (0)