Commit 8c94ccc7 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 changes for 6.8-rc1.
  Included in here are the following:

   - Thunderbolt subsystem and driver updates for USB 4 hardware and
     issues reported by real devices

   - xhci driver updates

   - dwc3 driver updates

   - uvc_video gadget driver updates

   - typec driver updates

   - gadget string functions cleaned up

   - other small changes

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

* tag 'usb-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (169 commits)
  usb: typec: tipd: fix use of device-specific init function
  usb: typec: tipd: Separate reset for TPS6598x
  usb: mon: Fix atomicity violation in mon_bin_vma_fault
  usb: gadget: uvc: Remove nested locking
  usb: gadget: uvc: Fix use are free during STREAMOFF
  usb: typec: class: fix typec_altmode_put_partner to put plugs
  dt-bindings: usb: dwc3: Limit num-hc-interrupters definition
  dt-bindings: usb: xhci: Add num-hc-interrupters definition
  xhci: add support to allocate several interrupters
  USB: core: Use device_driver directly in struct usb_driver and usb_device_driver
  arm64: dts: mediatek: mt8195: Add 'rx-fifo-depth' for cherry
  usb: xhci-mtk: fix a short packet issue of gen1 isoc-in transfer
  dt-bindings: usb: mtk-xhci: add a property for Gen1 isoc-in transfer issue
  arm64: dts: qcom: msm8996: Remove PNoC clock from MSS
  arm64: dts: qcom: msm8996: Remove AGGRE2 clock from SLPI
  arm64: dts: qcom: msm8998: Remove AGGRE2 clock from SLPI
  arm64: dts: qcom: msm8939: Drop RPM bus clocks
  arm64: dts: qcom: sdm630: Drop RPM bus clocks
  arm64: dts: qcom: qcs404: Drop RPM bus clocks
  arm64: dts: qcom: msm8996: Drop RPM bus clocks
  ...
parents bd736f38 933bb7b8
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -6933,6 +6933,9 @@
					pause after every control message);
				o = USB_QUIRK_HUB_SLOW_RESET (Hub needs extra
					delay after resetting its port);
				p = USB_QUIRK_SHORT_SET_ADDRESS_REQ_TIMEOUT
					(Reduce timeout of the SET_ADDRESS
					request from 5000 ms to 500 ms);
			Example: quirks=0781:5580:bk,0a5c:5834:gij

	usbhid.mousepoll=
+94 −30
Original line number Diff line number Diff line
@@ -66,7 +66,6 @@ properties:
      Particularly, if use an output GPIO to control a VBUS regulator, should
      model it as a regulator. See bindings/regulator/fixed-regulator.yaml

  # The following are optional properties for "usb-c-connector".
  power-role:
    description: Determines the power role that the Type C connector will
      support. "dual" refers to Dual Role Port (DRP).
@@ -119,30 +118,6 @@ properties:

  # The following are optional properties for "usb-c-connector" with power
  # delivery support.
  source-pdos:
    description: An array of u32 with each entry providing supported power
      source data object(PDO), the detailed bit definitions of PDO can be found
      in "Universal Serial Bus Power Delivery Specification" chapter 6.4.1.2
      Source_Capabilities Message, the order of each entry(PDO) should follow
      the PD spec chapter 6.4.1. Required for power source and power dual role.
      User can specify the source PDO array via PDO_FIXED/BATT/VAR/PPS_APDO()
      defined in dt-bindings/usb/pd.h.
    minItems: 1
    maxItems: 7
    $ref: /schemas/types.yaml#/definitions/uint32-array

  sink-pdos:
    description: An array of u32 with each entry providing supported power sink
      data object(PDO), the detailed bit definitions of PDO can be found in
      "Universal Serial Bus Power Delivery Specification" chapter 6.4.1.3
      Sink Capabilities Message, the order of each entry(PDO) should follow the
      PD spec chapter 6.4.1. Required for power sink and power dual role. User
      can specify the sink PDO array via PDO_FIXED/BATT/VAR/PPS_APDO() defined
      in dt-bindings/usb/pd.h.
    minItems: 1
    maxItems: 7
    $ref: /schemas/types.yaml#/definitions/uint32-array

  sink-vdos:
    description: An array of u32 with each entry, a Vendor Defined Message Object (VDO),
      providing additional information corresponding to the product, the detailed bit
@@ -166,10 +141,43 @@ properties:
    maxItems: 6
    $ref: /schemas/types.yaml#/definitions/uint32-array

  op-sink-microwatt:
    description: Sink required operating power in microwatt, if source can't
      offer the power, Capability Mismatch is set. Required for power sink and
      power dual role.
  accessory-mode-audio:
    type: boolean
    description: Whether the device supports Audio Adapter Accessory Mode. This
      is only necessary if there are no other means to discover supported
      alternative modes (e.g. through the UCSI firmware interface).

  accessory-mode-debug:
    type: boolean
    description: Whether the device supports Debug Accessory Mode. This
      is only necessary if there are no other means to discover supported
      alternative modes (e.g. through the UCSI firmware interface).

  altmodes:
    type: object
    description: List of Alternative Modes supported by the schematics on the
      particular device. This is only necessary if there are no other means to
      discover supported alternative modes (e.g. through the UCSI firmware
      interface).

    additionalProperties: false

    patternProperties:
      "^(displayport)$":
        type: object
        description:
          A single USB-C Alternative Mode as supported by the USB-C connector logic.

        additionalProperties: false

        properties:
          svid:
            $ref: /schemas/types.yaml#/definitions/uint16
            description: Unique value assigned by USB-IF to the Vendor / AltMode.
            enum: [ 0xff01 ]
          vdo:
            $ref: /schemas/types.yaml#/definitions/uint32
            description: VDO returned by Discover Modes USB PD command.

  port:
    $ref: /schemas/graph.yaml#/properties/port
@@ -231,6 +239,20 @@ properties:
      SNK_READY for non-pd link.
    type: boolean

  capabilities:
    description: A child node to contain all the selectable USB Power Delivery capabilities.
    type: object

    patternProperties:
      "^caps-[0-9]+$":
        description: Child nodes under "capabilities" node. Each node contains a selectable USB
          Power Delivery capability.
        type: object
        $ref: "#/$defs/capabilities"
        unevaluatedProperties: false

    additionalProperties: false

dependencies:
  sink-vdos-v1: [ sink-vdos ]
  sink-vdos: [ sink-vdos-v1 ]
@@ -238,7 +260,42 @@ dependencies:
required:
  - compatible

$defs:
  capabilities:
    type: object

    properties:
      source-pdos:
        description: An array of u32 with each entry providing supported power
          source data object(PDO), the detailed bit definitions of PDO can be found
          in "Universal Serial Bus Power Delivery Specification" chapter 6.4.1.2
          Source_Capabilities Message, the order of each entry(PDO) should follow
          the PD spec chapter 6.4.1. Required for power source and power dual role.
          User can specify the source PDO array via PDO_FIXED/BATT/VAR/PPS_APDO()
          defined in dt-bindings/usb/pd.h.
        minItems: 1
        maxItems: 7
        $ref: /schemas/types.yaml#/definitions/uint32-array

      sink-pdos:
        description: An array of u32 with each entry providing supported power sink
          data object(PDO), the detailed bit definitions of PDO can be found in
          "Universal Serial Bus Power Delivery Specification" chapter 6.4.1.3
          Sink Capabilities Message, the order of each entry(PDO) should follow the
          PD spec chapter 6.4.1. Required for power sink and power dual role. User
          can specify the sink PDO array via PDO_FIXED/BATT/VAR/PPS_APDO() defined
          in dt-bindings/usb/pd.h.
        minItems: 1
        maxItems: 7
        $ref: /schemas/types.yaml#/definitions/uint32-array

      op-sink-microwatt:
        description: Sink required operating power in microwatt, if source can't
          offer the power, Capability Mismatch is set. Required for power sink and
          power dual role.

allOf:
  - $ref: "#/$defs/capabilities"
  - if:
      properties:
        compatible:
@@ -267,7 +324,7 @@ anyOf:
        - typec-power-opmode
        - new-source-frs-typec-current

additionalProperties: false
unevaluatedProperties: false

examples:
  # Micro-USB connector with HS lines routed via controller (MUIC).
@@ -289,6 +346,13 @@ examples:
            compatible = "usb-c-connector";
            label = "USB-C";

            altmodes {
                displayport {
                    svid = /bits/ 16 <0xff01>;
                    vdo = <0x00001c46>;
                };
            };

            ports {
                #address-cells = <1>;
                #size-cells = <0>;
+22 −3
Original line number Diff line number Diff line
@@ -9,9 +9,6 @@ title: USB xHCI Controller
maintainers:
  - Mathias Nyman <mathias.nyman@intel.com>

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

properties:
  compatible:
    oneOf:
@@ -25,6 +22,11 @@ properties:
              - marvell,armada-380-xhci
              - marvell,armada-8k-xhci
          - const: generic-xhci
      - description: Broadcom SoCs with power domains
        items:
          - enum:
              - brcm,bcm2711-xhci
          - const: brcm,xhci-brcm-v2
      - description: Broadcom STB SoCs with xHCI
        enum:
          - brcm,xhci-brcm-v2
@@ -49,6 +51,9 @@ properties:
      - const: core
      - const: reg

  power-domains:
    maxItems: 1

unevaluatedProperties: false

required:
@@ -56,6 +61,20 @@ required:
  - reg
  - interrupts

allOf:
  - $ref: usb-xhci.yaml#
  - if:
      properties:
        compatible:
          contains:
            const: brcm,bcm2711-xhci
    then:
      required:
        - power-domains
    else:
      properties:
        power-domains: false

examples:
  - |
    usb@f0931000 {
+5 −0
Original line number Diff line number Diff line
@@ -29,6 +29,11 @@ properties:
    description:
      the regulator that provides 3.3V core power to the hub.

  peer-hub:
    $ref: /schemas/types.yaml#/definitions/phandle
    description:
      phandle to the peer hub on the controller.

required:
  - compatible
  - reg
+11 −0
Original line number Diff line number Diff line
@@ -124,6 +124,17 @@ properties:
      defined in the xHCI spec on MTK's controller.
    default: 5000

  rx-fifo-depth:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      It is a quirk used to work around Gen1 isoc-in endpoint transfer issue
      that still send out unexpected ACK after device finishes the burst
      transfer with a short packet and cause an exception, specially on a 4K
      camera device, it happens on controller before about IPM v1.6.0;
      the side-effect is that it may cause performance drop about 10%,
      including bulk transfer, prefer to use 3k here. The size is in bytes.
    enum: [1024, 2048, 3072, 4096]

  # the following properties are only used for case 1
  wakeup-source:
    description: enable USB remote wakeup, see power/wakeup-source.txt
Loading