Commit ecfd7940 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull USB/Thunderbolt updates from Greg KH:
 "Here is the large set of USB and Thunderbolt patches for 5.9-rc1.

  Nothing really magic/major in here, just lots of little changes and
  updates:

   - clean up language usages in USB core and some drivers

   - Thunderbolt driver updates and additions

   - USB Gadget driver updates

   - dwc3 driver updates (like always...)

   - build with "W=1" warning fixups

   - mtu3 driver updates

   - usb-serial driver updates and device ids

   - typec additions and updates for new hardware

   - xhci debug code updates for future platforms

   - cdns3 driver updates

   - lots of other minor driver updates and fixes and cleanups

  All of these have been in linux-next for a while with no reported
  issues"

* tag 'usb-5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (330 commits)
  usb: common: usb-conn-gpio: Register charger
  usb: mtu3: simplify mtu3_req_complete()
  usb: mtu3: clear dual mode of u3port when disable device
  usb: mtu3: use MTU3_EP_WEDGE flag
  usb: mtu3: remove useless member @busy in mtu3_ep struct
  usb: mtu3: remove repeated error log
  usb: mtu3: add ->udc_set_speed()
  usb: mtu3: introduce a funtion to check maximum speed
  usb: mtu3: clear interrupts status when disable interrupts
  usb: mtu3: reinitialize CSR registers
  usb: mtu3: fix macro for maximum number of packets
  usb: mtu3: remove unnecessary pointer checks
  usb: xhci: Fix ASMedia ASM1142 DMA addressing
  usb: xhci: define IDs for various ASMedia host controllers
  usb: musb: convert to devm_platform_ioremap_resource_byname
  usb: gadget: tegra-xudc: convert to devm_platform_ioremap_resource_byname
  usb: gadget: r8a66597: convert to devm_platform_ioremap_resource_byname
  usb: dwc3: convert to devm_platform_ioremap_resource_byname
  usb: cdns3: convert to devm_platform_ioremap_resource_byname
  usb: phy: am335x: convert to devm_platform_ioremap_resource_byname
  ...
parents dd27111e e3ee0e74
Loading
Loading
Loading
Loading
+55 −2
Original line number Diff line number Diff line
@@ -178,11 +178,18 @@ KernelVersion: 4.13
Contact:	thunderbolt-software@lists.01.org
Description:	When new NVM image is written to the non-active NVM
		area (through non_activeX NVMem device), the
		authentication procedure is started by writing 1 to
		this file. If everything goes well, the device is
		authentication procedure is started by writing to
		this file.
		If everything goes well, the device is
		restarted with the new NVM firmware. If the image
		verification fails an error code is returned instead.

		This file will accept writing values "1" or "2"
		- Writing "1" will flush the image to the storage
		area and authenticate the image in one action.
		- Writing "2" will run some basic validation on the image
		and flush it to the storage area.

		When read holds status of the last authentication
		operation if an error occurred during the process. This
		is directly the status value from the DMA configuration
@@ -236,3 +243,49 @@ KernelVersion: 4.15
Contact:	thunderbolt-software@lists.01.org
Description:	This contains XDomain service specific settings as
		bitmask. Format: %x

What:		/sys/bus/thunderbolt/devices/<device>:<port>.<index>/device
Date:		Oct 2020
KernelVersion:	v5.9
Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
Description:	Retimer device identifier read from the hardware.

What:		/sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_authenticate
Date:		Oct 2020
KernelVersion:	v5.9
Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
Description:	When new NVM image is written to the non-active NVM
		area (through non_activeX NVMem device), the
		authentication procedure is started by writing 1 to
		this file. If everything goes well, the device is
		restarted with the new NVM firmware. If the image
		verification fails an error code is returned instead.

		When read holds status of the last authentication
		operation if an error occurred during the process.
		Format: %x.

What:		/sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_version
Date:		Oct 2020
KernelVersion:	v5.9
Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
Description:	Holds retimer NVM version number. Format: %x.%x, major.minor.

What:		/sys/bus/thunderbolt/devices/<device>:<port>.<index>/vendor
Date:		Oct 2020
KernelVersion:	v5.9
Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
Description:	Retimer vendor identifier read from the hardware.

What:		/sys/bus/thunderbolt/devices/.../nvm_authenticate_on_disconnect
Date:		Oct 2020
KernelVersion:	v5.9
Contact:	Mario Limonciello <mario.limonciello@dell.com>
Description:	For supported devices, automatically authenticate the new Thunderbolt
		image when the device is disconnected from the host system.

		This file will accept writing values "1" or "2"
		- Writing "1" will flush the image to the storage
		area and prepare the device for authentication on disconnect.
		- Writing "2" will run some basic validation on the image
		and flush it to the storage area.
+6 −5
Original line number Diff line number Diff line
@@ -173,8 +173,8 @@ following ``udev`` rule::

  ACTION=="add", SUBSYSTEM=="thunderbolt", ATTRS{iommu_dma_protection}=="1", ATTR{authorized}=="0", ATTR{authorized}="1"

Upgrading NVM on Thunderbolt device or host
-------------------------------------------
Upgrading NVM on Thunderbolt device, host or retimer
----------------------------------------------------
Since most of the functionality is handled in firmware running on a
host controller or a device, it is important that the firmware can be
upgraded to the latest where possible bugs in it have been fixed.
@@ -185,9 +185,10 @@ for some machines:

  `Thunderbolt Updates <https://thunderbolttechnology.net/updates>`_

Before you upgrade firmware on a device or host, please make sure it is a
suitable upgrade. Failing to do that may render the device (or host) in a
state where it cannot be used properly anymore without special tools!
Before you upgrade firmware on a device, host or retimer, please make
sure it is a suitable upgrade. Failing to do that may render the device
in a state where it cannot be used properly anymore without special
tools!

Host NVM upgrade on Apple Macs is not supported.

+2 −2
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@ Broadcom USB Device Controller (BDC)
Required properties:

- compatible: must be one of:
                "brcm,bdc-v0.16"
                "brcm,bdc-udc-v2"
                "brcm,bdc"
- reg: the base register address and length
- interrupts: the interrupt line for this controller
@@ -21,7 +21,7 @@ On Broadcom STB platforms, these properties are required:
Example:

        bdc@f0b02000 {
                compatible = "brcm,bdc-v0.16";
                compatible = "brcm,bdc-udc-v2";
                reg = <0xf0b02000 0xfc4>;
                interrupts = <0x0 0x60 0x0>;
                phys = <&usbphy_0 0x0>;
+5 −1
Original line number Diff line number Diff line
@@ -4,10 +4,11 @@
$id: http://devicetree.org/schemas/usb/ingenic,jz4770-phy.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Ingenic JZ4770 USB PHY devicetree bindings
title: Ingenic SoCs USB PHY devicetree bindings

maintainers:
  - Paul Cercueil <paul@crapouillou.net>
  - 周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>

properties:
  $nodename:
@@ -16,6 +17,9 @@ properties:
  compatible:
    enum:
      - ingenic,jz4770-phy
      - ingenic,jz4780-phy
      - ingenic,x1000-phy
      - ingenic,x1830-phy

  reg:
    maxItems: 1
+37 −14
Original line number Diff line number Diff line
@@ -11,22 +11,36 @@ maintainers:

properties:
  compatible:
    oneOf:
      - const: "ti,keystone-dwc3"
      - const: "ti,am654-dwc3"
    items:
      - enum:
        - ti,keystone-dwc3
        - ti,am654-dwc3

  reg:
    maxItems: 1
    description: Address and length of the register set for the USB subsystem on
      the SOC.

  '#address-cells':
    const: 1

  '#size-cells':
    const: 1

  ranges: true

  interrupts:
    maxItems: 1
    description: The irq number of this device that is used to interrupt the MPU.


  clocks:
    description: Clock ID for USB functional clock.
    minItems: 1
    maxItems: 2

  assigned-clocks:
    minItems: 1
    maxItems: 2

  assigned-clock-parents:
    minItems: 1
    maxItems: 2

  power-domains:
    description: Should contain a phandle to a PM domain provider node
@@ -42,33 +56,42 @@ properties:

  phy-names:
    items:
      - const: "usb3-phy"
      - const: usb3-phy

  dma-coherent: true

  dwc3:
  dma-ranges: true

patternProperties:
  "usb@[a-f0-9]+$":
    type: object
    description: This is the node representing the DWC3 controller instance
      Documentation/devicetree/bindings/usb/dwc3.txt

required:
  - compatible
  - reg
  - "#address-cells"
  - "#size-cells"
  - ranges
  - interrupts
  - clocks

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    usb: usb@2680000 {
    dwc3@2680000 {
      compatible = "ti,keystone-dwc3";
      #address-cells = <1>;
      #size-cells = <1>;
      reg = <0x2680000 0x10000>;
      clocks = <&clkusb>;
      clock-names = "usb";
      interrupts = <GIC_SPI 393 IRQ_TYPE_EDGE_RISING>;
      ranges;

      dwc3@2690000 {
      usb@2690000 {
        compatible = "synopsys,dwc3";
        reg = <0x2690000 0x70000>;
        interrupts = <GIC_SPI 393 IRQ_TYPE_EDGE_RISING>;
Loading