Commit c6006b8c authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull USB / Thunderbolt updates from Greg KH:
 "Here is the big set of USB and thunderbolt drivers for 6.18-rc1. It
  was another normal development cycle, with lots of the usual drivers
  getting updates:

   - Thunderbolt driver cleanups and additions

   - dwc3 driver updates

   - dwc2 driver updates

   - typec driver updates

   - xhci driver updates and additions

   - offload USB engine updates for better power management

   - unused tracepoint removals

   - usb gadget fixes and updates as more users start to rely on these
     drivers instead of the "old" function gadget drivers

   - new USB device ids

   - other minor driver USB driver updates

   - new USB I/O driver framework and driver additions"

  The last item, the usb i/o driver, has an i2c and gpio driver added
  through this tree. Those drivers were acked by the respective
  subsystem maintainers.

  All of these have been in linux-next for a while"

* tag 'usb-6.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (132 commits)
  usb: vhci-hcd: Prevent suspending virtually attached devices
  USB: serial: option: add SIMCom 8230C compositions
  thunderbolt: Fix use-after-free in tb_dp_dprx_work
  usb: xhci: align PORTSC trace with one-based port numbering
  usb: xhci: correct indentation for PORTSC tracing function
  usb: xhci: improve TR Dequeue Pointer mask
  usb: xhci-pci: add support for hosts with zero USB3 ports
  usb: xhci: Update a comment about Stop Endpoint retries
  Revert "usb: xhci: Avoid Stop Endpoint retry loop if the endpoint seems Running"
  usb: gadget: f_rndis: Refactor bind path to use __free()
  usb: gadget: f_ecm: Refactor bind path to use __free()
  usb: gadget: f_acm: Refactor bind path to use __free()
  usb: gadget: f_ncm: Refactor bind path to use __free()
  usb: gadget: Introduce free_usb_request helper
  usb: gadget: Store endpoint pointer in usb_request
  usb: host: xhci-rcar: Add Renesas RZ/G3E USB3 Host driver support
  usb: host: xhci-plat: Add .post_resume_quirk for struct xhci_plat_priv
  usb: host: xhci-rcar: Move R-Car reg definitions
  dt-bindings: usb: Document Renesas RZ/G3E USB3HOST
  usb: gadget: f_fs: Fix epfile null pointer access after ep enable.
  ...
parents 5d2f4730 e40b984b
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -1890,6 +1890,11 @@ S: Reading
S: RG6 2NU
S: United Kingdom

N: Michael Jamet
E: michael.jamet@intel.com
D: Thunderbolt/USB4 driver maintainer
D: Thunderbolt/USB4 networking driver maintainer

N: Dave Jeffery
E: dhjeffery@gmail.com
D: SCSI hacks and IBM ServeRAID RAID driver maintenance
+39 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/intel,ixp4xx-udc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Intel IXP4xx SoC USB Device Controller (UDC)

description: The IXP4xx SoCs has a full-speed USB Device
  Controller with 16 endpoints and a built-in transceiver.

maintainers:
  - Linus Walleij <linus.walleij@linaro.org>

properties:
  compatible:
    const: intel,ixp4xx-udc

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

required:
  - compatible
  - reg
  - interrupts

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    usb@c800b000 {
        compatible = "intel,ixp4xx-udc";
        reg = <0xc800b000 0x1000>;
        interrupts = <12 IRQ_TYPE_LEVEL_HIGH>;
    };
+0 −23
Original line number Diff line number Diff line
Tegra SOC USB controllers

The device node for a USB controller that is part of a Tegra
SOC is as described in the document "Open Firmware Recommended
Practice : Universal Serial Bus" with the following modifications
and additions :

Required properties :
 - compatible : For Tegra20, must contain "nvidia,tegra20-ehci".
   For Tegra30, must contain "nvidia,tegra30-ehci".  Otherwise, must contain
   "nvidia,<chip>-ehci" plus at least one of the above, where <chip> is
   tegra114, tegra124, tegra132, or tegra210.
 - nvidia,phy : phandle of the PHY that the controller is connected to.
 - clocks : Must contain one entry, for the module clock.
   See ../clocks/clock-bindings.txt for details.
 - resets : Must contain an entry for each entry in reset-names.
   See ../reset/reset.txt for details.
 - reset-names : Must include the following entries:
   - usb

Optional properties:
 - nvidia,needs-double-reset : boolean is to be set for some of the Tegra20
   USB ports, which need reset twice due to hardware issues.
+87 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/renesas,rzg3e-xhci.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Renesas RZ/G3E USB 3.2 Gen2 Host controller

maintainers:
  - Biju Das <biju.das.jz@bp.renesas.com>

properties:
  compatible:
    const: renesas,r9a09g047-xhci

  reg:
    maxItems: 1

  interrupts:
    items:
      - description: Logical OR of all interrupt signals.
      - description: System management interrupt
      - description: Host system error interrupt
      - description: Power management event interrupt
      - description: xHC interrupt

  interrupt-names:
    items:
      - const: all
      - const: smi
      - const: hse
      - const: pme
      - const: xhc

  clocks:
    maxItems: 1

  phys:
    maxItems: 2

  phy-names:
    items:
      - const: usb2-phy
      - const: usb3-phy

  power-domains:
    maxItems: 1

  resets:
    maxItems: 1

required:
  - compatible
  - reg
  - interrupts
  - interrupt-names
  - clocks
  - power-domains
  - resets
  - phys
  - phy-names

allOf:
  - $ref: usb-xhci.yaml

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/renesas,r9a09g047-cpg.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    usb@15850000 {
      compatible = "renesas,r9a09g047-xhci";
      reg = <0x15850000 0x10000>;
      interrupts = <GIC_SPI 759 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 758 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 757 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 756 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 755 IRQ_TYPE_LEVEL_HIGH>;
      interrupt-names = "all", "smi", "hse", "pme", "xhc";
      clocks = <&cpg CPG_MOD 0xaf>;
      power-domains = <&cpg>;
      resets = <&cpg 0xaa>;
      phys = <&usb3_phy>, <&usb3_phy>;
      phy-names = "usb2-phy", "usb3-phy";
    };
+25 −3
Original line number Diff line number Diff line
@@ -59,6 +59,12 @@ properties:
              - renesas,usbhs-r8a77995 # R-Car D3
          - const: renesas,rcar-gen3-usbhs

      - const: renesas,usbhs-r9a09g077 # RZ/T2H

      - items:
          - const: renesas,usbhs-r9a09g087 # RZ/N2H
          - const: renesas,usbhs-r9a09g077 # RZ/T2H

  reg:
    maxItems: 1

@@ -140,6 +146,22 @@ allOf:
            - description: U2P_INT_DMAERR
      required:
        - resets
    else:
      if:
        properties:
          compatible:
            contains:
              const: renesas,usbhs-r9a09g077
      then:
        properties:
          resets: false
          clocks:
            maxItems: 1
          interrupts:
            items:
              - description: USB function interrupt USB_FI
              - description: USB function DMA0 transmit completion interrupt USB_FDMA0
              - description: USB function DMA1 transmit completion interrupt USB_FDMA1
      else:
        properties:
          interrupts:
Loading