Commit 99ef60d1 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 7.1-rc1.

  Lots of little things in here, nothing major, just constant
  improvements, updates, and new features. Highlights are:

   - new USB power supply driver support.

     These changes did touch outside of drivers/usb/ but got acks from
     the relevant mantainers for them.

   - dts file updates and conversions

   - string function conversions into "safer" ones

   - new device quirks

   - xhci driver updates

   - usb gadget driver minor fixes

   - typec driver additions and updates

   - small number of thunderbolt driver changes

   - dwc3 driver updates and additions of new hardware support

   - other minor driver updates

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

* tag 'usb-7.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (176 commits)
  usb: dwc3: starfive: Add JHB100 USB 2.0 DRD controller
  dt-bindings: usb: dwc3: add support for StarFive JHB100
  dt-bindings: usb: atmel,at91sam9rl-udc: convert to DT schema
  dt-bindings: usb: atmel,at91rm9200-udc: convert to DT schema
  dt-bindings: usb: generic-ehci: fix schema structure and add at91sam9g45 constraints
  dt-bindings: usb: generic-ohci: add AT91RM9200 OHCI binding support
  arm: dts: at91: remove unused #address-cells/#size-cells from sam9x60 udc node
  drivers/usb/host: Fix spelling error 'seperate' -> 'separate'
  usbip: tools: add hint when no exported devices are found
  USB: serial: iuu_phoenix: fix iuutool author name
  usb: gadget: f_ncm: validate minimum block_len in ncm_unwrap_ntb()
  usb: gadget: f_phonet: fix skb frags[] overflow in pn_rx_complete()
  usb: gadget: f_hid: Add missing error code
  usb: typec: cros_ec_ucsi: Load driver from OF and ACPI definitions
  dt-bindings: chrome: Add cros-ec-ucsi compatibility to typec binding
  USB: of: Simplify with scoped for each OF child loop
  usbip: validate number_of_packets in usbip_pack_ret_submit()
  usb: gadget: renesas_usb3: validate endpoint index in standard request handlers
  usb: core: config: reverse the size check of the SSP isoc endpoint descriptor
  usb: typec: ucsi: Set usb mode on partner change
  ...
parents 73398c27 87117347
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -675,7 +675,8 @@ Description:

		Valid values:
			      "Unknown", "SDP", "DCP", "CDP", "ACA", "C", "PD",
			      "PD_DRP", "PD_PPS", "BrickID"
			      "PD_DRP", "PD_PPS", "BrickID", "PD_SPR_AVS",
			      "PD_PPS_SPR_AVS"

**Device Specific Properties**

+15 −4
Original line number Diff line number Diff line
@@ -8,17 +8,28 @@ title: Google Chrome OS EC(Embedded Controller) Type C port driver.

maintainers:
  - Benson Leung <bleung@chromium.org>
  - Prashant Malani <pmalani@chromium.org>
  - Abhishek Pandit-Subedi <abhishekpandit@chromium.org>
  - Andrei Kuchynski <akuchynski@chromium.org>
  - Łukasz Bartosik <ukaszb@chromium.org>
  - Jameson Thies <jthies@google.com>

description:
  Chrome OS devices have an Embedded Controller(EC) which has access to
  Type C port state. This node is intended to allow the host to read and
  control the Type C ports. The node for this device should be under a
  cros-ec node like google,cros-ec-spi.
  control the Type C ports. This binding is compatible with both the
  cros-ec-typec and cros-ec-ucsi drivers. The cros-ec-typec driver
  supports the host command interface used by the Chrome OS EC with a
  built-in Type-C port manager and external Type-C Port Controller
  (TCPC). The cros-ec-ucsi driver supports the USB Type-C Connector
  System Software (UCSI) interface used by the Chrome OS EC when the
  platform has a separate power delivery controller (PDC). The node for
  this device should be under a cros-ec node like google,cros-ec-spi.

properties:
  compatible:
    const: google,cros-ec-typec
    enum:
      - google,cros-ec-typec
      - google,cros-ec-ucsi

  '#address-cells':
    const: 1
+37 −2
Original line number Diff line number Diff line
@@ -300,6 +300,40 @@ properties:
    $ref: /schemas/types.yaml#/definitions/uint8-array
    maxItems: 4

  sink-load-step:
    description: Indicates the preferred load step slew rate in mA/usec for
      the port (in sink mode). This property is defined in "6.5.13.7" of
      "USB Power Delivery Specification Revision 3.1 Version 1.8".
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [150, 500]
    default: 150

  sink-load-characteristics:
    description: Indicates the port's (in sink mode) preferred load
      characteristics. Users can leverage SINK_LOAD_CHAR() defined in
      dt-bindings/usb/pd.h to populate this field. This property is defined in
      "6.5.13.8" of "USB Power Delivery Specification Revision 3.1 Version 1.8".
    $ref: /schemas/types.yaml#/definitions/uint16

  sink-compliance:
    description: Represents the types of sources the sink device has been tested
      and certified with. This property is defined in "6.5.13.9" of
      "USB Power Delivery Specification Revision 3.1 Version 1.8"
      Bit 0 when set indicates it has been tested on LPS compliant source
      Bit 1 when set indicates it has been tested on PS1 compliant source
      Bit 2 when set indicates it has been tested on PS2 compliant source
    $ref: /schemas/types.yaml#/definitions/uint8
    maximum: 7

  charging-adapter-pdp-milliwatt:
    description: This corresponds to the Power Delivery Profile rating of the
      charging adapter shipped or recommended for use with the connector port.
      This property is a requirement to infer the USB PD property
      "SPR Sink Operational PDP" given in "6.5.13.14" of
      "USB Power Delivery Specification Revision 3.1 Version 1.8".
    minimum: 0
    maximum: 100000

dependencies:
  pd-disable: [typec-power-opmode]
  sink-vdos-v1: [ sink-vdos ]
@@ -331,8 +365,9 @@ $defs:
          "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.
          can specify the sink PDO array via
          PDO_FIXED/BATT/VAR/PPS_APDO/SPR_AVS_SNK_APDO() defined in
          dt-bindings/usb/pd.h.
        minItems: 1
        maxItems: 7
        $ref: /schemas/types.yaml#/definitions/uint32-array
+15 −1
Original line number Diff line number Diff line
@@ -16,6 +16,9 @@ description: |
  The MAX77759 includes Battery Charger, Fuel Gauge, temperature sensors, USB
  Type-C Port Controller (TCPC), NVMEM, and a GPIO expander.

allOf:
  - $ref: /schemas/power/supply/power-supply.yaml#

properties:
  compatible:
    const: maxim,max77759
@@ -37,12 +40,18 @@ properties:
  nvmem-0:
    $ref: /schemas/nvmem/maxim,max77759-nvmem.yaml

  chgin-otg-regulator:
    type: object
    description: Provides Boost for sourcing VBUS.
    $ref: /schemas/regulator/regulator.yaml#
    unevaluatedProperties: false

required:
  - compatible
  - interrupts
  - reg

additionalProperties: false
unevaluatedProperties: false

examples:
  - |
@@ -59,6 +68,11 @@ examples:

            interrupt-controller;
            #interrupt-cells = <2>;
            power-supplies = <&maxtcpci>;

            chgin-otg-regulator {
                regulator-name = "chgin-otg";
            };

            gpio {
                compatible = "maxim,max77759-gpio";
+76 −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/atmel,at91rm9200-udc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Atmel AT91 USB Device Controller (UDC)

maintainers:
  - Nicolas Ferre <nicolas.ferre@microchip.com>
  - Alexandre Belloni <alexandre.belloni@bootlin.com>

description:
  The Atmel AT91 USB Device Controller provides USB gadget (device-mode)
  functionality on AT91 SoCs. It requires a peripheral clock and an AHB
  clock for operation and may optionally control VBUS power through a GPIO.

properties:
  compatible:
    enum:
      - atmel,at91rm9200-udc
      - atmel,at91sam9260-udc
      - atmel,at91sam9261-udc
      - atmel,at91sam9263-udc

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    maxItems: 2

  clock-names:
    items:
      - const: pclk
      - const: hclk

  atmel,vbus-gpio:
    description: GPIO used to enable or control VBUS power for the USB bus.
    maxItems: 1

  atmel,matrix:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: Phandle to the Atmel bus matrix controller.

  atmel,pullup-gpio:
    description:
      GPIO controlling the USB D+ pull-up resistor used to signal device
      connection to the host.
    maxItems: 1

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - clock-names

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/clock/at91.h>
    #include <dt-bindings/gpio/gpio.h>
    gadget@fffa4000 {
        compatible = "atmel,at91rm9200-udc";
        reg = <0xfffa4000 0x4000>;
        interrupts = <11 IRQ_TYPE_LEVEL_HIGH 2>;
        clocks = <&udc_clk>, <&udpck>;
        clock-names = "pclk", "hclk";
        atmel,vbus-gpio = <&pioC 5 GPIO_ACTIVE_HIGH>;
    };
...
Loading