Skip to content

Commit d9eb6f2

Browse files
committed
Merge: USB/TBT code rebase of supported drivers to upstream v6.13
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/6607 JIRA: https://issues.redhat.com/browse/RHEL-78828 JIRA: https://issues.redhat.com/browse/RHEL-47432 JIRA: https://issues.redhat.com/browse/RHEL-74197 JIRA: https://issues.redhat.com/browse/RHEL-81547 This MR rebases supported USB/TBT drivers to upstream kernel v6.13. By design, changes on this rebase are limited to supported USB/Thunderbolt drivers and infrastructure. Changes which happen to touch the drivers but are tree-wide are selectively or partially pulled in, whenever relevant. 1) Common Vulnerabilities and Exposures: CVE: CVE-2024-57914 CVE: CVE-2024-58059 CVE: CVE-2024-57981 2) Omits Omitted-fix: aa10804 ("media: Add P012 and P012M video format") Omitted-fix: a178dd3 ("media: Add Y212 v4l2 format info") Omitted-fix: 99c9549 ("media: Add YUV48_12 video format") Omitted-fix: da0b7a4 ("media: Add BGR48_12 video format") Omitted-fix: 302b988 ("media: Add ABGR64_12 video format") Omitted-fix: 914f896 ("media: v4l: Fix missing tabular column hint for Y14P format") Omitted-fix: e294092 ("usb: cdns2: Fix controller reset issue") Signed-off-by: Desnes Nunes <desnesn@redhat.com> Approved-by: José Ignacio Tornos Martínez <jtornosm@redhat.com> Approved-by: Eric Chanudet <echanude@redhat.com> Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com> Merged-by: Augusto Caringi <acaringi@redhat.com>
2 parents c6aeae4 + 017d51d commit d9eb6f2

File tree

189 files changed

+6969
-1242
lines changed

Some content is hidden

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

189 files changed

+6969
-1242
lines changed

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: 34 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,31 @@ 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+
required:
117+
- orientation-switch
118+
then:
119+
$ref: /schemas/usb/usb-switch.yaml#
120+
121+
unevaluatedProperties: false
93122

94123
examples:
95124
- |

Documentation/devicetree/bindings/phy/fsl,mxs-usbphy.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ properties:
3232
- enum:
3333
- fsl,imx8dxl-usbphy
3434
- fsl,imx8qm-usbphy
35+
- fsl,imx8qxp-usbphy
3536
- fsl,imx8ulp-usbphy
3637
- const: fsl,imx7ulp-usbphy
3738

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/genesys,gl850g.yaml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,14 @@ allOf:
6262
peer-hub: true
6363
vdd-supply: true
6464

65-
additionalProperties: false
65+
patternProperties:
66+
"^.*@[0-9a-f]{1,2}$":
67+
description: The hard wired USB devices
68+
type: object
69+
$ref: /schemas/usb/usb-device.yaml
70+
additionalProperties: true
71+
72+
unevaluatedProperties: false
6673

6774
examples:
6875
- |
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/usb/ti,tusb1046.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Texas Instruments TUSB1046-DCI Type-C crosspoint switch
8+
9+
maintainers:
10+
- Romain Gantois <romain.gantois@bootlin.com>
11+
12+
allOf:
13+
- $ref: usb-switch.yaml#
14+
15+
properties:
16+
compatible:
17+
const: ti,tusb1046
18+
19+
reg:
20+
maxItems: 1
21+
22+
required:
23+
- compatible
24+
- reg
25+
- port
26+
27+
unevaluatedProperties: false
28+
29+
examples:
30+
- |
31+
i2c {
32+
#address-cells = <1>;
33+
#size-cells = <0>;
34+
35+
typec-mux@44 {
36+
compatible = "ti,tusb1046";
37+
reg = <0x44>;
38+
39+
mode-switch;
40+
orientation-switch;
41+
42+
port {
43+
endpoint {
44+
remote-endpoint = <&typec_controller>;
45+
};
46+
};
47+
};
48+
};
49+
...
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/usb/ti,tusb73x0-pci.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: TUSB73x0 USB 3.0 xHCI Host Controller (PCIe)
8+
9+
maintainers:
10+
- Francesco Dolcini <francesco.dolcini@toradex.com>
11+
12+
description:
13+
TUSB73x0 USB 3.0 xHCI Host Controller via PCIe x1 Gen2 interface.
14+
The TUSB7320 supports up to two downstream ports, the TUSB7340 supports up
15+
to four downstream ports, both variants share the same PCI device ID.
16+
17+
properties:
18+
compatible:
19+
const: pci104c,8241
20+
21+
reg:
22+
maxItems: 1
23+
24+
ti,pwron-active-high:
25+
$ref: /schemas/types.yaml#/definitions/flag
26+
description:
27+
Configure the polarity of the PWRONx# signals. When this is present, the
28+
PWRONx# pins are active high and their internal pull-down resistors are
29+
disabled. When this is absent, the PWRONx# pins are active low (default)
30+
and their internal pull-down resistors are enabled.
31+
32+
required:
33+
- compatible
34+
- reg
35+
36+
allOf:
37+
- $ref: usb-xhci.yaml
38+
39+
additionalProperties: false
40+
41+
examples:
42+
- |
43+
pcie@0 {
44+
reg = <0x0 0x1000>;
45+
ranges = <0x02000000 0x0 0x100000 0x10000000 0x0 0x0>;
46+
#address-cells = <3>;
47+
#size-cells = <2>;
48+
device_type = "pci";
49+
50+
usb@0 {
51+
compatible = "pci104c,8241";
52+
reg = <0x0 0x0 0x0 0x0 0x0>;
53+
ti,pwron-active-high;
54+
};
55+
};
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+
3+
.. _V4L2-PIX-FMT-Y16I:
4+
5+
**************************
6+
V4L2_PIX_FMT_Y16I ('Y16I')
7+
**************************
8+
9+
Interleaved grey-scale image, e.g. from a stereo-pair
10+
11+
12+
Description
13+
===========
14+
15+
This is a grey-scale image with a depth of 16 bits per pixel, but with pixels
16+
from 2 sources interleaved and unpacked. Each pixel is stored in a 16-bit word
17+
in the little-endian order. The first pixel is from the left source.
18+
19+
**Pixel unpacked representation.**
20+
Left/Right pixels 16-bit unpacked - 16-bit for each interleaved pixel.
21+
22+
.. flat-table::
23+
:header-rows: 0
24+
:stub-columns: 0
25+
26+
* - Y'\ :sub:`0L[7:0]`
27+
- Y'\ :sub:`0L[15:8]`
28+
- Y'\ :sub:`0R[7:0]`
29+
- Y'\ :sub:`0R[15:8]`
30+
31+
**Byte Order.**
32+
Each cell is one byte.
33+
34+
.. flat-table::
35+
:header-rows: 0
36+
:stub-columns: 0
37+
38+
* - start + 0:
39+
- Y'\ :sub:`00Llow`
40+
- Y'\ :sub:`00Lhigh`
41+
- Y'\ :sub:`00Rlow`
42+
- Y'\ :sub:`00Rhigh`
43+
- Y'\ :sub:`01Llow`
44+
- Y'\ :sub:`01Lhigh`
45+
- Y'\ :sub:`01Rlow`
46+
- Y'\ :sub:`01Rhigh`
47+
* - start + 8:
48+
- Y'\ :sub:`10Llow`
49+
- Y'\ :sub:`10Lhigh`
50+
- Y'\ :sub:`10Rlow`
51+
- Y'\ :sub:`10Rhigh`
52+
- Y'\ :sub:`11Llow`
53+
- Y'\ :sub:`11Lhigh`
54+
- Y'\ :sub:`11Rlow`
55+
- Y'\ :sub:`11Rhigh`
56+
* - start + 16:
57+
- Y'\ :sub:`20Llow`
58+
- Y'\ :sub:`20Lhigh`
59+
- Y'\ :sub:`20Rlow`
60+
- Y'\ :sub:`20Rhigh`
61+
- Y'\ :sub:`21Llow`
62+
- Y'\ :sub:`21Lhigh`
63+
- Y'\ :sub:`21Rlow`
64+
- Y'\ :sub:`21Rhigh`
65+
* - start + 24:
66+
- Y'\ :sub:`30Llow`
67+
- Y'\ :sub:`30Lhigh`
68+
- Y'\ :sub:`30Rlow`
69+
- Y'\ :sub:`30Rhigh`
70+
- Y'\ :sub:`31Llow`
71+
- Y'\ :sub:`31Lhigh`
72+
- Y'\ :sub:`31Rlow`
73+
- Y'\ :sub:`31Rhigh`

0 commit comments

Comments
 (0)