Skip to content

Commit

Permalink
Merge tag 'usb-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/…
Browse files Browse the repository at this point in the history
…git/gregkh/usb

Pull USB / Thunderbolt updates from Greg KH:
 "Here is the big set of USB and Thunderbolt changes for 6.9-rc1. Lots
  of tiny changes and forward progress to support new hardware and
  better support for existing devices. Included in here are:

   - Thunderbolt (i.e. USB4) updates for newer hardware and uses as more
     people start to use the hardware

   - default USB authentication mode Kconfig and documentation update to
     make it more obvious what is going on

   - USB typec updates and enhancements

   - usual dwc3 driver updates

   - usual xhci driver updates

   - function USB (i.e. gadget) driver updates and additions

   - new device ids for lots of drivers

   - loads of other small updates, full details in the shortlog

  All of these, including a "last minute regression fix" have been in
  linux-next with no reported issues"

* tag 'usb-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (185 commits)
  usb: usb-acpi: Fix oops due to freeing uninitialized pld pointer
  usb: gadget: net2272: Use irqflags in the call to net2272_probe_fin
  usb: gadget: tegra-xudc: Fix USB3 PHY retrieval logic
  phy: tegra: xusb: Add API to retrieve the port number of phy
  USB: gadget: pxa27x_udc: Remove unused of_gpio.h
  usb: gadget/snps_udc_plat: Remove unused of_gpio.h
  usb: ohci-pxa27x: Remove unused of_gpio.h
  usb: sl811-hcd: only defined function checkdone if QUIRK2 is defined
  usb: Clarify expected behavior of dev_bin_attrs_are_visible()
  xhci: Allow RPM on the USB controller (1022:43f7) by default
  usb: isp1760: remove SLAB_MEM_SPREAD flag usage
  usb: misc: onboard_hub: use pointer consistently in the probe function
  usb: gadget: fsl: Increase size of name buffer for endpoints
  usb: gadget: fsl: Add of device table to enable module autoloading
  usb: typec: tcpm: add support to set tcpc connector orientatition
  usb: typec: tcpci: add generic tcpci fallback compatible
  dt-bindings: usb: typec-tcpci: add tcpci fallback binding
  usb: gadget: fsl-udc: Replace custom log wrappers by dev_{err,warn,dbg,vdbg}
  usb: core: Set connect_type of ports based on DT node
  dt-bindings: usb: Add downstream facing ports to realtek binding
  ...
  • Loading branch information
torvalds committed Mar 21, 2024
2 parents 2ac2b16 + a788e53 commit e09bf86
Show file tree
Hide file tree
Showing 178 changed files with 9,128 additions and 2,484 deletions.
12 changes: 10 additions & 2 deletions Documentation/ABI/testing/configfs-usb-gadget-ffs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,14 @@ KernelVersion: 3.13
Description: The purpose of this directory is to create and remove it.

A corresponding USB function instance is created/removed.
There are no attributes here.

All parameters are set through FunctionFS.
All attributes are read only:

============= ============================================
ready 1 if the function is ready to be used, E.G.
if userspace has written descriptors and
strings to ep0, so the gadget can be
enabled - 0 otherwise.
============= ============================================

All other parameters are set through FunctionFS.
10 changes: 10 additions & 0 deletions Documentation/ABI/testing/sysfs-bus-usb
Original file line number Diff line number Diff line change
Expand Up @@ -442,6 +442,16 @@ What: /sys/bus/usb/devices/usbX/descriptors
Description:
Contains the interface descriptors, in binary.

What: /sys/bus/usb/devices/usbX/bos_descriptors
Date: March 2024
Contact: Elbert Mai <code@elbertmai.com>
Description:
Binary file containing the cached binary device object store (BOS)
of the device. This consists of the BOS descriptor followed by the
set of device capability descriptors. All descriptors read from
this file are in bus-endian format. Note that the kernel will not
request the BOS from a device if its bcdUSB is less than 0x0201.

What: /sys/bus/usb/devices/usbX/idProduct
Description:
Product ID, in hexadecimal.
Expand Down
6 changes: 6 additions & 0 deletions Documentation/ABI/testing/sysfs-class-usb_role
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,9 @@ Description:
- none
- host
- device

What: /sys/class/usb_role/<switch>/connector
Date: Feb 2024
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
Optional symlink to the USB Type-C connector.
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ properties:
- enum:
- qcom,pm4125-vbus-reg
- qcom,pm6150-vbus-reg
- qcom,pmi632-vbus-reg
- const: qcom,pm8150b-vbus-reg

reg:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ properties:
oneOf:
- items:
- enum:
- qcom,qcm6490-pmic-glink
- qcom,sc8180x-pmic-glink
- qcom,sc8280xp-pmic-glink
- qcom,sm8350-pmic-glink
Expand Down
55 changes: 55 additions & 0 deletions Documentation/devicetree/bindings/sound/qcom,q6usb.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/qcom,q6usb.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm ASoC DPCM USB backend DAI

maintainers:
- Wesley Cheng <quic_wcheng@quicinc.com>

description:
The USB port is a supported AFE path on the Q6 DSP. This ASoC DPCM
backend DAI will communicate the required settings to initialize the
XHCI host controller properly for enabling the offloaded audio stream.
Parameters defined under this node will carry settings, which will be
passed along during the QMI stream enable request and configuration of
the XHCI host controller.

allOf:
- $ref: dai-common.yaml#

properties:
compatible:
enum:
- qcom,q6usb

iommus:
maxItems: 1

"#sound-dai-cells":
const: 1

qcom,usb-audio-intr-idx:
description:
Desired XHCI interrupter number to use. Depending on the audio DSP
on the platform, it will operate on a specific XHCI interrupter.
$ref: /schemas/types.yaml#/definitions/uint16
maximum: 8

required:
- compatible
- "#sound-dai-cells"
- qcom,usb-audio-intr-idx

additionalProperties: false

examples:
- |
dais {
compatible = "qcom,q6usb";
#sound-dai-cells = <1>;
iommus = <&apps_smmu 0x180f 0x0>;
qcom,usb-audio-intr-idx = /bits/ 16 <2>;
};
13 changes: 0 additions & 13 deletions Documentation/devicetree/bindings/usb/analogix,anx7411.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,24 +23,11 @@ properties:
connector:
type: object
$ref: ../connector/usb-connector.yaml
unevaluatedProperties: false

description:
Properties for usb c connector.

properties:
compatible:
const: usb-c-connector

power-role: true

data-role: true

try-power-role: true

required:
- compatible

required:
- compatible
- reg
Expand Down
2 changes: 1 addition & 1 deletion Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -313,7 +313,7 @@ properties:

usb-phy:
description: phandle for the PHY device. Use "phys" instead.
$ref: /schemas/types.yaml#/definitions/phandle
maxItems: 1
deprecated: true

fsl,usbphy:
Expand Down
12 changes: 5 additions & 7 deletions Documentation/devicetree/bindings/usb/fcs,fsa4480.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,8 @@ properties:
vcc-supply:
description: power supply (2.7V-5.5V)

mode-switch:
description: Flag the port as possible handle of altmode switching
type: boolean

orientation-switch:
description: Flag the port as possible handler of orientation switching
type: boolean
mode-switch: true
orientation-switch: true

port:
$ref: /schemas/graph.yaml#/$defs/port-base
Expand Down Expand Up @@ -79,6 +74,9 @@ required:
- reg
- port

allOf:
- $ref: usb-switch.yaml#

additionalProperties: false

examples:
Expand Down
1 change: 1 addition & 0 deletions Documentation/devicetree/bindings/usb/generic-ehci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ properties:
- const: usb-ehci
- enum:
- generic-ehci
- marvell,ac5-ehci
- marvell,armada-3700-ehci
- marvell,orion-ehci
- nuvoton,npcm750-ehci
Expand Down
12 changes: 5 additions & 7 deletions Documentation/devicetree/bindings/usb/gpio-sbu-mux.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,8 @@ properties:
vcc-supply:
description: power supply

mode-switch:
description: Flag the port as possible handle of altmode switching
type: boolean

orientation-switch:
description: Flag the port as possible handler of orientation switching
type: boolean
mode-switch: true
orientation-switch: true

port:
$ref: /schemas/graph.yaml#/properties/port
Expand All @@ -54,6 +49,9 @@ required:
- orientation-switch
- port

allOf:
- $ref: usb-switch.yaml#

additionalProperties: false

examples:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/hisilicon,hi3798mv200-dwc3.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: HiSilicon Hi3798MV200 DWC3 USB SoC controller

maintainers:
- Yang Xiwen <forbidden405@foxmail.com>

properties:
compatible:
const: hisilicon,hi3798mv200-dwc3

'#address-cells':
const: 1

'#size-cells':
const: 1

ranges: true

clocks:
items:
- description: Controller bus clock
- description: Controller suspend clock
- description: Controller reference clock
- description: Controller gm clock
- description: Controller gs clock
- description: Controller utmi clock
- description: Controller pipe clock

clock-names:
items:
- const: bus
- const: suspend
- const: ref
- const: gm
- const: gs
- const: utmi
- const: pipe

resets:
maxItems: 1

reset-names:
const: soft

patternProperties:
'^usb@[0-9a-f]+$':
$ref: snps,dwc3.yaml#

required:
- compatible
- ranges
- '#address-cells'
- '#size-cells'
- clocks
- clock-names
- resets
- reset-names

additionalProperties: false

examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
usb {
compatible = "hisilicon,hi3798mv200-dwc3";
ranges;
#address-cells = <1>;
#size-cells = <1>;
clocks = <&clk_bus>,
<&clk_suspend>,
<&clk_ref>,
<&clk_gm>,
<&clk_gs>,
<&clk_utmi>,
<&clk_pipe>;
clock-names = "bus", "suspend", "ref", "gm", "gs", "utmi", "pipe";
resets = <&crg 0xb0 12>;
reset-names = "soft";
usb@98a0000 {
compatible = "snps,dwc3";
reg = <0x98a0000 0x10000>;
interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk_bus>,
<&clk_suspend>,
<&clk_ref>;
clock-names = "bus_early", "suspend", "ref";
phys = <&usb2_phy1_port2>, <&combphy0 0>;
phy-names = "usb2-phy", "usb3-phy";
maximum-speed = "super-speed";
dr_mode = "host";
};
};
72 changes: 72 additions & 0 deletions Documentation/devicetree/bindings/usb/ite,it5205.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/ite,it5205.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: ITE IT5202 Type-C USB Alternate Mode Passive MUX

maintainers:
- AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
- Tianping Fang <tianping.fang@mediatek.com>

properties:
compatible:
const: ite,it5205

reg:
maxItems: 1

vcc-supply:
description: Power supply for VCC pin (3.3V)

mode-switch:
description: Flag the port as possible handle of altmode switching
type: boolean

orientation-switch:
description: Flag the port as possible handler of orientation switching
type: boolean

ite,ovp-enable:
description: Enable Over Voltage Protection functionality
type: boolean

port:
$ref: /schemas/graph.yaml#/properties/port
description:
A port node to link the IT5205 to a TypeC controller for the purpose of
handling altmode muxing and orientation switching.

required:
- compatible
- reg
- orientation-switch
- port

additionalProperties: false

examples:
- |
#include <dt-bindings/interrupt-controller/irq.h>
i2c2 {
#address-cells = <1>;
#size-cells = <0>;
typec-mux@48 {
compatible = "ite,it5205";
reg = <0x48>;
mode-switch;
orientation-switch;
vcc-supply = <&mt6359_vibr_ldo_reg>;
port {
it5205_usbss_sbu: endpoint {
remote-endpoint = <&typec_controller>;
};
};
};
};
...
5 changes: 4 additions & 1 deletion Documentation/devicetree/bindings/usb/mediatek,mtu3.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,10 @@ properties:
2 - used by mt2712 etc, revision 2 with following IPM rule;
101 - used by mt8183, specific 1.01;
102 - used by mt8192, specific 1.02;
enum: [1, 2, 101, 102]
103 - used by mt8195, IP0, specific 1.03;
105 - used by mt8195, IP2, specific 1.05;
106 - used by mt8195, IP3, specific 1.06;
enum: [1, 2, 101, 102, 103, 105, 106]
mediatek,u3p-dis-msk:
$ref: /schemas/types.yaml#/definitions/uint32
Expand Down
Loading

0 comments on commit e09bf86

Please sign in to comment.