Commit a8ab3e76 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge tag 'usb-for-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next



Felipe writes:

USB: changes for v5.7 merge window

Lots of changes on dwc3 this time, most of them from Thinh fixing a
bunch of really old mishaps on the driver.

DWC2 got support for STM32MP15 and a couple RockChip SoCs while DWC3
learned about Amlogic A1 family.

Apart from these, we have a few spelling fixes and other minor
non-critical fixes all over the place.

Signed-off-by: default avatarFelipe Balbi <balbi@kernel.org>

* tag 'usb-for-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb: (41 commits)
  dt-bindings: usb: add documentation for aspeed usb-vhub
  ARM: dts: aspeed-g4: add vhub port and endpoint properties
  ARM: dts: aspeed-g5: add vhub port and endpoint properties
  ARM: dts: aspeed-g6: add usb functions
  usb: gadget: aspeed: add ast2600 vhub support
  usb: gadget: aspeed: read vhub properties from device tree
  usb: gadget: aspeed: support per-vhub usb descriptors
  usb: gadget: f_phonet: Replace zero-length array with flexible-array member
  usb: gadget: composite: Inform controller driver of self-powered
  usb: gadget: amd5536udc: fix spelling mistake "reserverd" -> "reserved"
  udc: s3c-hsudc: Silence warning about supplies during deferred probe
  usb: dwc2: Silence warning about supplies during deferred probe
  dt-bindings: usb: dwc2: add compatible property for rk3368 usb
  dt-bindings: usb: dwc2: add compatible property for rk3328 usb
  usb: gadget: add raw-gadget interface
  usb: dwc2: Implement set_selfpowered()
  usb: dwc3: qcom: Replace <linux/clk-provider.h> by <linux/of_clk.h>
  usb: dwc3: core: don't do suspend for device mode if already suspended
  usb: dwc3: Rework resets initialization to be more flexible
  usb: dwc3: Rework clock initialization to be more flexible
  ...
parents 6a7c533d 4a5dbd90
Loading
Loading
Loading
Loading
+23 −0
Original line number Diff line number Diff line
@@ -22,10 +22,14 @@ description: |
  The DWC3 Glue controls the PHY routing and power, an interrupt line is
  connected to the Glue to serve as OTG ID change detection.

  The Amlogic A1 embeds a DWC3 USB IP Core configured for USB2 in
  host-only mode.

properties:
  compatible:
    enum:
      - amlogic,meson-g12a-usb-ctrl
      - amlogic,meson-a1-usb-ctrl

  ranges: true

@@ -84,6 +88,25 @@ required:
  - phys
  - dr_mode

allOf:
  - if:
      properties:
        compatible:
          enum:
            - amlogic,meson-a1-usb-ctrl

    then:
      properties:
        clocks:
          minItems: 3
        clock-names:
          items:
            - const: usb_ctrl
            - const: usb_bus
            - const: xtal_usb_ctrl
      required:
        - clock-names

examples:
  - |
    usb: usb@ffe09000 {
+77 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright (c) 2020 Facebook Inc.
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/aspeed,usb-vhub.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: ASPEED USB 2.0 Virtual Hub Controller

maintainers:
  - Benjamin Herrenschmidt <benh@kernel.crashing.org>

description: |+
  The ASPEED USB 2.0 Virtual Hub Controller implements 1 set of USB Hub
  register and several sets of Device and Endpoint registers to support
  the Virtual Hub's downstream USB devices.

  Supported number of devices and endpoints vary depending on hardware
  revisions. AST2400 and AST2500 Virtual Hub supports 5 downstream devices
  and 15 generic endpoints, while AST2600 Virtual Hub supports 7 downstream
  devices and 21 generic endpoints.

properties:
  compatible:
    enum:
      - aspeed,ast2400-usb-vhub
      - aspeed,ast2500-usb-vhub
      - aspeed,ast2600-usb-vhub

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  interrupts:
    maxItems: 1

  aspeed,vhub-downstream-ports:
    description: Number of downstream ports supported by the Virtual Hub
    allOf:
      - $ref: /schemas/types.yaml#/definitions/uint32
      - default: 5
        minimum: 1
        maximum: 7

  aspeed,vhub-generic-endpoints:
    description: Number of generic endpoints supported by the Virtual Hub
    allOf:
      - $ref: /schemas/types.yaml#/definitions/uint32
      - default: 15
        minimum: 1
        maximum: 21

required:
  - compatible
  - reg
  - clocks
  - interrupts
  - aspeed,vhub-downstream-ports
  - aspeed,vhub-generic-endpoints

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/aspeed-clock.h>
    vhub: usb-vhub@1e6a0000 {
            compatible = "aspeed,ast2500-usb-vhub";
            reg = <0x1e6a0000 0x300>;
            interrupts = <5>;
            clocks = <&syscon ASPEED_CLK_GATE_USBPORT1CLK>;
            aspeed,vhub-downstream-ports = <5>;
            aspeed,vhub-generic-endpoints = <15>;
            pinctrl-names = "default";
            pinctrl-0 = <&pinctrl_usb2ad_default>;
    };
+9 −21
Original line number Diff line number Diff line
@@ -18,27 +18,15 @@ properties:
          - const: rockchip,rk3066-usb
          - const: snps,dwc2
      - items:
          - const: rockchip,px30-usb
          - const: rockchip,rk3066-usb
          - const: snps,dwc2
      - items:
          - const: rockchip,rk3036-usb
          - const: rockchip,rk3066-usb
          - const: snps,dwc2
      - items:
          - const: rockchip,rv1108-usb
          - const: rockchip,rk3066-usb
          - const: snps,dwc2
      - items:
          - const: rockchip,rk3188-usb
          - const: rockchip,rk3066-usb
          - const: snps,dwc2
      - items:
          - const: rockchip,rk3228-usb
          - const: rockchip,rk3066-usb
          - const: snps,dwc2
      - items:
          - const: rockchip,rk3288-usb
          - enum:
            - rockchip,px30-usb
            - rockchip,rk3036-usb
            - rockchip,rk3188-usb
            - rockchip,rk3228-usb
            - rockchip,rk3288-usb
            - rockchip,rk3328-usb
            - rockchip,rk3368-usb
            - rockchip,rv1108-usb
          - const: rockchip,rk3066-usb
          - const: snps,dwc2
      - const: lantiq,arx100-usb
+5 −2
Original line number Diff line number Diff line
@@ -7,7 +7,8 @@ Required properties:
 - compatible: must be "snps,dwc3"
 - reg : Address and length of the register set for the device
 - interrupts: Interrupts used by the dwc3 controller.
 - clock-names: should contain "ref", "bus_early", "suspend"
 - clock-names: list of clock names. Ideally should be "ref",
                "bus_early", "suspend" but may be less or more.
 - clocks: list of phandle and clock specifier pairs corresponding to
           entries in the clock-names property.

@@ -36,7 +37,7 @@ Optional properties:
 - phys: from the *Generic PHY* bindings
 - phy-names: from the *Generic PHY* bindings; supported names are "usb2-phy"
	or "usb3-phy".
 - resets: a single pair of phandle and reset specifier
 - resets: set of phandle and reset specifier pairs
 - snps,usb2-lpm-disable: indicate if we don't want to enable USB2 HW LPM
 - snps,usb3_lpm_capable: determines if platform is USB3 LPM capable
 - snps,dis-start-transfer-quirk: when set, disable isoc START TRANSFER command
@@ -75,6 +76,8 @@ Optional properties:
			from P0 to P1/P2/P3 without delay.
 - snps,dis-tx-ipgap-linecheck-quirk: when set, disable u2mac linestate check
			during HS transmit.
 - snps,parkmode-disable-ss-quirk: when set, all SuperSpeed bus instances in
			park mode are disabled.
 - snps,dis_metastability_quirk: when set, disable metastability workaround.
			CAUTION: use only if you are absolutely sure of it.
 - snps,is-utmi-l1-suspend: true when DWC3 asserts output signal
+6 −0
Original line number Diff line number Diff line
@@ -35,6 +35,12 @@ Optional properties:
			the USB data role (USB host or USB device) for a given
			USB connector, such as Type-C, Type-B(micro).
			see connector/usb-connector.txt.
 - role-switch-default-mode: indicating if usb-role-switch is enabled, the
			device default operation mode of controller while usb
			role is USB_ROLE_NONE. Valid arguments are "host" and
			"peripheral". Defaults to "peripheral" if not
			specified.


This is an attribute to a USB controller such as:

Loading