Skip to content

Commit 99ef60d

Browse files
committed
Merge tag 'usb-7.1-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 7.1-rc1. Lots of little things in here, nothing major, just constant improvements, updates, and new features. Highlights are: - new USB power supply driver support. These changes did touch outside of drivers/usb/ but got acks from the relevant mantainers for them. - dts file updates and conversions - string function conversions into "safer" ones - new device quirks - xhci driver updates - usb gadget driver minor fixes - typec driver additions and updates - small number of thunderbolt driver changes - dwc3 driver updates and additions of new hardware support - other minor driver updates All of these have been in the linux-next tree for a while with no reported issues" * tag 'usb-7.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (176 commits) usb: dwc3: starfive: Add JHB100 USB 2.0 DRD controller dt-bindings: usb: dwc3: add support for StarFive JHB100 dt-bindings: usb: atmel,at91sam9rl-udc: convert to DT schema dt-bindings: usb: atmel,at91rm9200-udc: convert to DT schema dt-bindings: usb: generic-ehci: fix schema structure and add at91sam9g45 constraints dt-bindings: usb: generic-ohci: add AT91RM9200 OHCI binding support arm: dts: at91: remove unused #address-cells/#size-cells from sam9x60 udc node drivers/usb/host: Fix spelling error 'seperate' -> 'separate' usbip: tools: add hint when no exported devices are found USB: serial: iuu_phoenix: fix iuutool author name usb: gadget: f_ncm: validate minimum block_len in ncm_unwrap_ntb() usb: gadget: f_phonet: fix skb frags[] overflow in pn_rx_complete() usb: gadget: f_hid: Add missing error code usb: typec: cros_ec_ucsi: Load driver from OF and ACPI definitions dt-bindings: chrome: Add cros-ec-ucsi compatibility to typec binding USB: of: Simplify with scoped for each OF child loop usbip: validate number_of_packets in usbip_pack_ret_submit() usb: gadget: renesas_usb3: validate endpoint index in standard request handlers usb: core: config: reverse the size check of the SSP isoc endpoint descriptor usb: typec: ucsi: Set usb mode on partner change ...
2 parents 73398c2 + 8711734 commit 99ef60d

134 files changed

Lines changed: 4763 additions & 1381 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/sysfs-class-power

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -675,7 +675,8 @@ Description:
675675

676676
Valid values:
677677
"Unknown", "SDP", "DCP", "CDP", "ACA", "C", "PD",
678-
"PD_DRP", "PD_PPS", "BrickID"
678+
"PD_DRP", "PD_PPS", "BrickID", "PD_SPR_AVS",
679+
"PD_PPS_SPR_AVS"
679680

680681
**Device Specific Properties**
681682

Documentation/devicetree/bindings/chrome/google,cros-ec-typec.yaml

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,28 @@ title: Google Chrome OS EC(Embedded Controller) Type C port driver.
88

99
maintainers:
1010
- Benson Leung <bleung@chromium.org>
11-
- Prashant Malani <pmalani@chromium.org>
11+
- Abhishek Pandit-Subedi <abhishekpandit@chromium.org>
12+
- Andrei Kuchynski <akuchynski@chromium.org>
13+
- Łukasz Bartosik <ukaszb@chromium.org>
14+
- Jameson Thies <jthies@google.com>
1215

1316
description:
1417
Chrome OS devices have an Embedded Controller(EC) which has access to
1518
Type C port state. This node is intended to allow the host to read and
16-
control the Type C ports. The node for this device should be under a
17-
cros-ec node like google,cros-ec-spi.
19+
control the Type C ports. This binding is compatible with both the
20+
cros-ec-typec and cros-ec-ucsi drivers. The cros-ec-typec driver
21+
supports the host command interface used by the Chrome OS EC with a
22+
built-in Type-C port manager and external Type-C Port Controller
23+
(TCPC). The cros-ec-ucsi driver supports the USB Type-C Connector
24+
System Software (UCSI) interface used by the Chrome OS EC when the
25+
platform has a separate power delivery controller (PDC). The node for
26+
this device should be under a cros-ec node like google,cros-ec-spi.
1827

1928
properties:
2029
compatible:
21-
const: google,cros-ec-typec
30+
enum:
31+
- google,cros-ec-typec
32+
- google,cros-ec-ucsi
2233

2334
'#address-cells':
2435
const: 1

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

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -300,6 +300,40 @@ properties:
300300
$ref: /schemas/types.yaml#/definitions/uint8-array
301301
maxItems: 4
302302

303+
sink-load-step:
304+
description: Indicates the preferred load step slew rate in mA/usec for
305+
the port (in sink mode). This property is defined in "6.5.13.7" of
306+
"USB Power Delivery Specification Revision 3.1 Version 1.8".
307+
$ref: /schemas/types.yaml#/definitions/uint32
308+
enum: [150, 500]
309+
default: 150
310+
311+
sink-load-characteristics:
312+
description: Indicates the port's (in sink mode) preferred load
313+
characteristics. Users can leverage SINK_LOAD_CHAR() defined in
314+
dt-bindings/usb/pd.h to populate this field. This property is defined in
315+
"6.5.13.8" of "USB Power Delivery Specification Revision 3.1 Version 1.8".
316+
$ref: /schemas/types.yaml#/definitions/uint16
317+
318+
sink-compliance:
319+
description: Represents the types of sources the sink device has been tested
320+
and certified with. This property is defined in "6.5.13.9" of
321+
"USB Power Delivery Specification Revision 3.1 Version 1.8"
322+
Bit 0 when set indicates it has been tested on LPS compliant source
323+
Bit 1 when set indicates it has been tested on PS1 compliant source
324+
Bit 2 when set indicates it has been tested on PS2 compliant source
325+
$ref: /schemas/types.yaml#/definitions/uint8
326+
maximum: 7
327+
328+
charging-adapter-pdp-milliwatt:
329+
description: This corresponds to the Power Delivery Profile rating of the
330+
charging adapter shipped or recommended for use with the connector port.
331+
This property is a requirement to infer the USB PD property
332+
"SPR Sink Operational PDP" given in "6.5.13.14" of
333+
"USB Power Delivery Specification Revision 3.1 Version 1.8".
334+
minimum: 0
335+
maximum: 100000
336+
303337
dependencies:
304338
pd-disable: [typec-power-opmode]
305339
sink-vdos-v1: [ sink-vdos ]
@@ -331,8 +365,9 @@ $defs:
331365
"Universal Serial Bus Power Delivery Specification" chapter 6.4.1.3
332366
Sink Capabilities Message, the order of each entry(PDO) should follow the
333367
PD spec chapter 6.4.1. Required for power sink and power dual role. User
334-
can specify the sink PDO array via PDO_FIXED/BATT/VAR/PPS_APDO() defined
335-
in dt-bindings/usb/pd.h.
368+
can specify the sink PDO array via
369+
PDO_FIXED/BATT/VAR/PPS_APDO/SPR_AVS_SNK_APDO() defined in
370+
dt-bindings/usb/pd.h.
336371
minItems: 1
337372
maxItems: 7
338373
$ref: /schemas/types.yaml#/definitions/uint32-array

Documentation/devicetree/bindings/mfd/maxim,max77759.yaml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ description: |
1616
The MAX77759 includes Battery Charger, Fuel Gauge, temperature sensors, USB
1717
Type-C Port Controller (TCPC), NVMEM, and a GPIO expander.
1818
19+
allOf:
20+
- $ref: /schemas/power/supply/power-supply.yaml#
21+
1922
properties:
2023
compatible:
2124
const: maxim,max77759
@@ -37,12 +40,18 @@ properties:
3740
nvmem-0:
3841
$ref: /schemas/nvmem/maxim,max77759-nvmem.yaml
3942

43+
chgin-otg-regulator:
44+
type: object
45+
description: Provides Boost for sourcing VBUS.
46+
$ref: /schemas/regulator/regulator.yaml#
47+
unevaluatedProperties: false
48+
4049
required:
4150
- compatible
4251
- interrupts
4352
- reg
4453

45-
additionalProperties: false
54+
unevaluatedProperties: false
4655

4756
examples:
4857
- |
@@ -59,6 +68,11 @@ examples:
5968
6069
interrupt-controller;
6170
#interrupt-cells = <2>;
71+
power-supplies = <&maxtcpci>;
72+
73+
chgin-otg-regulator {
74+
regulator-name = "chgin-otg";
75+
};
6276
6377
gpio {
6478
compatible = "maxim,max77759-gpio";
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/usb/atmel,at91rm9200-udc.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Atmel AT91 USB Device Controller (UDC)
8+
9+
maintainers:
10+
- Nicolas Ferre <nicolas.ferre@microchip.com>
11+
- Alexandre Belloni <alexandre.belloni@bootlin.com>
12+
13+
description:
14+
The Atmel AT91 USB Device Controller provides USB gadget (device-mode)
15+
functionality on AT91 SoCs. It requires a peripheral clock and an AHB
16+
clock for operation and may optionally control VBUS power through a GPIO.
17+
18+
properties:
19+
compatible:
20+
enum:
21+
- atmel,at91rm9200-udc
22+
- atmel,at91sam9260-udc
23+
- atmel,at91sam9261-udc
24+
- atmel,at91sam9263-udc
25+
26+
reg:
27+
maxItems: 1
28+
29+
interrupts:
30+
maxItems: 1
31+
32+
clocks:
33+
maxItems: 2
34+
35+
clock-names:
36+
items:
37+
- const: pclk
38+
- const: hclk
39+
40+
atmel,vbus-gpio:
41+
description: GPIO used to enable or control VBUS power for the USB bus.
42+
maxItems: 1
43+
44+
atmel,matrix:
45+
$ref: /schemas/types.yaml#/definitions/phandle
46+
description: Phandle to the Atmel bus matrix controller.
47+
48+
atmel,pullup-gpio:
49+
description:
50+
GPIO controlling the USB D+ pull-up resistor used to signal device
51+
connection to the host.
52+
maxItems: 1
53+
54+
required:
55+
- compatible
56+
- reg
57+
- interrupts
58+
- clocks
59+
- clock-names
60+
61+
additionalProperties: false
62+
63+
examples:
64+
- |
65+
#include <dt-bindings/interrupt-controller/irq.h>
66+
#include <dt-bindings/clock/at91.h>
67+
#include <dt-bindings/gpio/gpio.h>
68+
gadget@fffa4000 {
69+
compatible = "atmel,at91rm9200-udc";
70+
reg = <0xfffa4000 0x4000>;
71+
interrupts = <11 IRQ_TYPE_LEVEL_HIGH 2>;
72+
clocks = <&udc_clk>, <&udpck>;
73+
clock-names = "pclk", "hclk";
74+
atmel,vbus-gpio = <&pioC 5 GPIO_ACTIVE_HIGH>;
75+
};
76+
...
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/usb/atmel,at91sam9rl-udc.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Atmel High-Speed USB Device Controller (USBA)
8+
9+
maintainers:
10+
- Nicolas Ferre <nicolas.ferre@microchip.com>
11+
- Alexandre Belloni <alexandre.belloni@bootlin.com>
12+
13+
description:
14+
The Atmel High-Speed USB Device Controller (USBA) provides USB 2.0
15+
high-speed gadget functionality on several Atmel and Microchip SoCs.
16+
The controller requires a peripheral clock and a host clock for operation
17+
and may optionally use a GPIO to detect VBUS presence.
18+
19+
properties:
20+
compatible:
21+
oneOf:
22+
- enum:
23+
- atmel,at91sam9rl-udc
24+
- atmel,at91sam9g45-udc
25+
- atmel,sama5d3-udc
26+
- items:
27+
- const: microchip,lan9662-udc
28+
- const: atmel,sama5d3-udc
29+
- const: microchip,sam9x60-udc
30+
31+
reg:
32+
maxItems: 2
33+
34+
interrupts:
35+
maxItems: 1
36+
37+
clocks:
38+
maxItems: 2
39+
40+
clock-names:
41+
minItems: 2
42+
maxItems: 2
43+
items:
44+
enum: [pclk, hclk]
45+
46+
atmel,vbus-gpio:
47+
description: GPIO used to detect the presence of VBUS, indicating that
48+
the USB cable is connected.
49+
maxItems: 1
50+
51+
required:
52+
- compatible
53+
- reg
54+
- interrupts
55+
- clocks
56+
- clock-names
57+
58+
unevaluatedProperties: false
59+
60+
examples:
61+
- |
62+
#include <dt-bindings/interrupt-controller/irq.h>
63+
#include <dt-bindings/clock/at91.h>
64+
#include <dt-bindings/gpio/gpio.h>
65+
gadget@fff78000 {
66+
compatible = "atmel,at91sam9g45-udc";
67+
reg = <0x00600000 0x80000
68+
0xfff78000 0x400>;
69+
interrupts = <27 IRQ_TYPE_LEVEL_HIGH 0>;
70+
clocks = <&pmc PMC_TYPE_PERIPHERAL 27>, <&pmc PMC_TYPE_CORE PMC_UTMI>;
71+
clock-names = "pclk", "hclk";
72+
atmel,vbus-gpio = <&pioC 15 GPIO_ACTIVE_HIGH>;
73+
};
74+
...

0 commit comments

Comments
 (0)