Skip to content

Commit 9e2e5ea

Browse files
committed
Merge tag 'usb-6.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 Thunderbolt and USB changes for 6.0-rc1. Lots of little things here, nothing major, just constant development on some new hardware support and cleanups of older drivers. Highlights are: - lots of typec changes and improvements for new hardware - new gadget controller driver - thunderbolt support for new hardware - the normal set of new usb-serial device ids and cleanups - loads of dwc3 controller fixes and improvements - mtu3 driver updates - testusb fixes for longtime issues (not many people use this tool it seems.) - minor driver fixes and improvements over the USB tree - chromeos platform driver changes were added and then reverted as they depened on some typec changes, but the cross-tree merges caused problems so they will come back later through the platform tree. All of these have been in linux-next for a while now with no reported issues" * tag 'usb-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (193 commits) usb: misc: onboard_usb_hub: Remove duplicated power_on delay usb: misc: onboard_usb_hub: Add TI USB8041 hub support usb: misc: onboard_usb_hub: Add reset-gpio support USB: usbsevseg: convert sysfs snprintf to sysfs_emit dt-bindings: usb: Add binding for TI USB8041 hub controller ARM: multi_v7_defconfig: enable USB onboard HUB driver ARM: dts: stm32: add support for USB2514B onboard hub on stm32mp15xx-dkx usb: misc: onboard-hub: add support for Microchip USB2514B USB 2.0 hub dt-bindings: usb: generic-ehci: allow usb-hcd schema properties usb: typec: ucsi: stm32g0: add bootloader support usb: typec: ucsi: stm32g0: add support for stm32g0 controller dt-bindings: usb: typec: add bindings for stm32g0 controller usb: typec: ucsi: Acknowledge the GET_ERROR_STATUS command completion usb: cdns3: change place of 'priv_ep' assignment in cdns3_gadget_ep_dequeue(), cdns3_gadget_ep_enable() usb/chipidea: fix repeated words in comments usb: renesas-xhci: Do not print any log while fw verif success usb: typec: retimer: Add missing id check in match callback USB: xhci: Fix comment typo usb/typec/tcpm: fix repeated words in comments usb/musb: fix repeated words in comments ...
2 parents cfeafd9 + 8288c99 commit 9e2e5ea

172 files changed

Lines changed: 8396 additions & 692 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-mass-storage

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ KernelVersion: 3.13
1919
Description:
2020
The attributes:
2121

22-
=========== ==============================================
22+
============ ==============================================
2323
file The path to the backing file for the LUN.
2424
Required if LUN is not marked as removable.
2525
ro Flag specifying access to the LUN shall be
@@ -32,4 +32,10 @@ Description:
3232
being a CD-ROM.
3333
nofua Flag specifying that FUA flag
3434
in SCSI WRITE(10,12)
35-
=========== ==============================================
35+
forced_eject This write-only file is useful only when
36+
the function is active. It causes the backing
37+
file to be forcibly detached from the LUN,
38+
regardless of whether the host has allowed it.
39+
Any non-zero number of bytes written will
40+
result in ejection.
41+
============ ==============================================
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
What: /sys/bus/platform/devices/<dev>/always_powered_in_suspend
2+
Date: June 2022
3+
KernelVersion: 5.20
4+
Contact: Matthias Kaehlcke <matthias@kaehlcke.net>
5+
linux-usb@vger.kernel.org
6+
Description:
7+
(RW) Controls whether the USB hub remains always powered
8+
during system suspend or not.

Documentation/ABI/testing/sysfs-bus-usb

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,17 @@ Description:
253253
only if the system firmware is capable of describing the
254254
connection between a port and its connector.
255255

256+
What: /sys/bus/usb/devices/.../<hub_interface>/port<X>/disable
257+
Date: June 2022
258+
Contact: Michael Grzeschik <m.grzeschik@pengutronix.de>
259+
Description:
260+
This file controls the state of a USB port, including
261+
Vbus power output (but only on hubs that support
262+
power switching -- most hubs don't support it). If
263+
a port is disabled, the port is unusable: Devices
264+
attached to the port will not be detected, initialized,
265+
or enumerated.
266+
256267
What: /sys/bus/usb/devices/.../power/usb2_lpm_l1_timeout
257268
Date: May 2013
258269
Contact: Mathias Nyman <mathias.nyman@linux.intel.com>

Documentation/ABI/testing/sysfs-class-typec

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,14 @@ Description:
141141
- "reverse": CC2 orientation
142142
- "unknown": Orientation cannot be determined.
143143

144+
What: /sys/class/typec/<port>/select_usb_power_delivery
145+
Date: May 2022
146+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
147+
Description:
148+
Lists the USB Power Delivery Capabilities that the port can
149+
advertise to the partner. The currently used capabilities are in
150+
brackets. Selection happens by writing to the file.
151+
144152
USB Type-C partner devices (eg. /sys/class/typec/port0-partner/)
145153

146154
What: /sys/class/typec/<port>-partner/accessory_mode
Lines changed: 240 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,240 @@
1+
What: /sys/class/usb_power_delivery
2+
Date: May 2022
3+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
4+
Description:
5+
Directory for USB Power Delivery devices.
6+
7+
What: /sys/class/usb_power_delivery/.../revision
8+
Date: May 2022
9+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
10+
Description:
11+
File showing the USB Power Delivery Specification Revision used
12+
in communication.
13+
14+
What: /sys/class/usb_power_delivery/.../version
15+
Date: May 2022
16+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
17+
Description:
18+
This is an optional attribute file showing the version of the
19+
specific revision of the USB Power Delivery Specification. In
20+
most cases the specification version is not known and the file
21+
is not available.
22+
23+
What: /sys/class/usb_power_delivery/.../source-capabilities
24+
Date: May 2022
25+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
26+
Description:
27+
The source capabilities message "Source_Capabilities" contains a
28+
set of Power Data Objects (PDO), each representing a type of
29+
power supply. The order of the PDO objects is defined in the USB
30+
Power Delivery Specification. Each PDO - power supply - will
31+
have its own device, and the PDO device name will start with the
32+
object position number as the first character followed by the
33+
power supply type name (":" as delimiter).
34+
35+
/sys/class/usb_power_delivery/.../source_capabilities/<position>:<type>
36+
37+
What: /sys/class/usb_power_delivery/.../sink-capabilities
38+
Date: May 2022
39+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
40+
Description:
41+
The sink capability message "Sink_Capabilities" contains a set
42+
of Power Data Objects (PDO) just like with source capabilities,
43+
but instead of describing the power capabilities, these objects
44+
describe the power requirements.
45+
46+
The order of the objects in the sink capability message is the
47+
same as with the source capabilities message.
48+
49+
Fixed Supplies
50+
51+
What: /sys/class/usb_power_delivery/.../<capability>/<position>:fixed_supply
52+
Date: May 2022
53+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
54+
Description:
55+
Devices containing the attributes (the bit fields) defined for
56+
Fixed Supplies.
57+
58+
The device "1:fixed_supply" is special. USB Power Delivery
59+
Specification dictates that the first PDO (at object position
60+
1), and the only mandatory PDO, is always the vSafe5V Fixed
61+
Supply Object. vSafe5V Object has additional fields defined for
62+
it that the other Fixed Supply Objects do not have and that are
63+
related to the USB capabilities rather than power capabilities.
64+
65+
What: /sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/dual_role_power
66+
Date: May 2022
67+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
68+
Description:
69+
This file contains boolean value that tells does the device
70+
support both source and sink power roles.
71+
72+
What: /sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/usb_suspend_supported
73+
Date: May 2022
74+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
75+
Description:
76+
This file shows the value of the USB Suspend Supported bit in
77+
vSafe5V Fixed Supply Object. If the bit is set then the device
78+
will follow the USB 2.0 and USB 3.2 rules for suspend and
79+
resume.
80+
81+
What: /sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/unconstrained_power
82+
Date: May 2022
83+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
84+
Description:
85+
This file shows the value of the Unconstrained Power bit in
86+
vSafe5V Fixed Supply Object. The bit is set when an external
87+
source of power, powerful enough to power the entire system on
88+
its own, is available for the device.
89+
90+
What: /sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/usb_communication_capable
91+
Date: May 2022
92+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
93+
Description:
94+
This file shows the value of the USB Communication Capable bit in
95+
vSafe5V Fixed Supply Object.
96+
97+
What: /sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/dual_role_data
98+
Date: May 2022
99+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
100+
Description:
101+
This file shows the value of the Dual-Role Data bit in vSafe5V
102+
Fixed Supply Object. Dual role data means ability act as both
103+
USB host and USB device.
104+
105+
What: /sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/unchunked_extended_messages_supported
106+
Date: May 2022
107+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
108+
Description:
109+
This file shows the value of the Unchunked Extended Messages
110+
Supported bit in vSafe5V Fixed Supply Object.
111+
112+
What: /sys/class/usb_power_delivery/.../<capability>/<position>:fixed_supply/voltage
113+
Date: May 2022
114+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
115+
Description:
116+
The voltage the supply supports in millivolts.
117+
118+
What: /sys/class/usb_power_delivery/.../source-capabilities/<position>:fixed_supply/maximum_current
119+
Date: May 2022
120+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
121+
Description:
122+
Maximum current of the fixed source supply in milliamperes.
123+
124+
What: /sys/class/usb_power_delivery/.../sink-capabilities/<position>:fixed_supply/operational_current
125+
Date: May 2022
126+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
127+
Description:
128+
Operational current of the sink in milliamperes.
129+
130+
What: /sys/class/usb_power_delivery/.../sink-capabilities/<position>:fixed_supply/fast_role_swap_current
131+
Date: May 2022
132+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
133+
Description:
134+
This file contains the value of the "Fast Role Swap USB Type-C
135+
Current" field that tells the current level the sink requires
136+
after a Fast Role Swap.
137+
0 - Fast Swap not supported"
138+
1 - Default USB Power"
139+
2 - 1.5A@5V"
140+
3 - 3.0A@5V"
141+
142+
Variable Supplies
143+
144+
What: /sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply
145+
Date: May 2022
146+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
147+
Description:
148+
Variable Power Supply PDO.
149+
150+
What: /sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply/maximum_voltage
151+
Date: May 2022
152+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
153+
Description:
154+
Maximum Voltage in millivolts.
155+
156+
What: /sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply/minimum_voltage
157+
Date: May 2022
158+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
159+
Description:
160+
Minimum Voltage in millivolts.
161+
162+
What: /sys/class/usb_power_delivery/.../source-capabilities/<position>:variable_supply/maximum_current
163+
Date: May 2022
164+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
165+
Description:
166+
The maximum current in milliamperes that the source can supply
167+
at the given Voltage range.
168+
169+
What: /sys/class/usb_power_delivery/.../sink-capabilities/<position>:variable_supply/operational_current
170+
Date: May 2022
171+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
172+
Description:
173+
The operational current in milliamperes that the sink requires
174+
at the given Voltage range.
175+
176+
Battery Supplies
177+
178+
What: /sys/class/usb_power_delivery/.../<capability>/<position>:battery
179+
Date: May 2022
180+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
181+
Description:
182+
Battery PDO.
183+
184+
What: /sys/class/usb_power_delivery/.../<capability>/<position>:battery/maximum_voltage
185+
Date: May 2022
186+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
187+
Description:
188+
Maximum Voltage in millivolts.
189+
190+
What: /sys/class/usb_power_delivery/.../<capability>/<position>:battery/minimum_voltage
191+
Date: May 2022
192+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
193+
Description:
194+
Minimum Voltage in millivolts.
195+
196+
What: /sys/class/usb_power_delivery/.../source-capabilities/<position>:battery/maximum_power
197+
Date: May 2022
198+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
199+
Description:
200+
Maximum allowable Power in milliwatts.
201+
202+
What: /sys/class/usb_power_delivery/.../sink-capabilities/<position>:battery/operational_power
203+
Date: May 2022
204+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
205+
Description:
206+
The operational power that the sink requires at the given
207+
voltage range.
208+
209+
Standard Power Range (SPR) Programmable Power Supplies
210+
211+
What: /sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply
212+
Date: May 2022
213+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
214+
Description:
215+
Programmable Power Supply (PPS) Augmented PDO (APDO).
216+
217+
What: /sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/maximum_voltage
218+
Date: May 2022
219+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
220+
Description:
221+
Maximum Voltage in millivolts.
222+
223+
What: /sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/minimum_voltage
224+
Date: May 2022
225+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
226+
Description:
227+
Minimum Voltage in millivolts.
228+
229+
What: /sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/maximum_current
230+
Date: May 2022
231+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
232+
Description:
233+
Maximum Current in milliamperes.
234+
235+
What: /sys/class/usb_power_delivery/.../source-capabilities/<position>:programmable_supply/pps_power_limited
236+
Date: May 2022
237+
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
238+
Description:
239+
The PPS Power Limited bit indicates whether or not the source
240+
supply will exceed the rated output power if requested.
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/usb/analogix,anx7411.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Analogix ANX7411 Type-C controller bindings
8+
9+
maintainers:
10+
- Xin Ji <xji@analogixsemi.com>
11+
12+
properties:
13+
compatible:
14+
enum:
15+
- analogix,anx7411
16+
17+
reg:
18+
maxItems: 1
19+
20+
interrupts:
21+
maxItems: 1
22+
23+
connector:
24+
type: object
25+
$ref: ../connector/usb-connector.yaml
26+
description:
27+
Properties for usb c connector.
28+
29+
properties:
30+
compatible:
31+
const: usb-c-connector
32+
33+
power-role: true
34+
35+
data-role: true
36+
37+
try-power-role: true
38+
39+
required:
40+
- compatible
41+
42+
required:
43+
- compatible
44+
- reg
45+
- connector
46+
47+
additionalProperties: false
48+
49+
examples:
50+
- |
51+
#include <dt-bindings/interrupt-controller/irq.h>
52+
i2c {
53+
#address-cells = <1>;
54+
#size-cells = <0>;
55+
56+
typec@2c {
57+
compatible = "analogix,anx7411";
58+
reg = <0x2c>;
59+
interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
60+
interrupt-parent = <&gpio0>;
61+
62+
typec_con: connector {
63+
compatible = "usb-c-connector";
64+
power-role = "dual";
65+
data-role = "dual";
66+
try-power-role = "source";
67+
68+
ports {
69+
#address-cells = <1>;
70+
#size-cells = <0>;
71+
port@0 {
72+
reg = <0>;
73+
typec_con_ep: endpoint {
74+
remote-endpoint = <&usbotg_hs_ep>;
75+
};
76+
};
77+
};
78+
};
79+
};
80+
};
81+
...

0 commit comments

Comments
 (0)