Merge tag 'usb-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 4 Nov 2023 02:00:42 +0000 (16:00 -1000)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 4 Nov 2023 02:00:42 +0000 (16:00 -1000)
Pull USB/Thunderbolt updates from Greg KH:
 "Here is the "big" set of USB and Thunderbolt changes for 6.7-rc1.
  Nothing really major in here, just lots of constant development for
  new hardware. Included in here are:

   - Thunderbolt (i.e. USB4) fixes for reported issues and support for
     new hardware types and devices

   - USB typec additions of new drivers and cleanups for some existing
     ones

   - xhci cleanups and expanded tracing support and some platform
     specific updates

   - USB "La Jolla Cove Adapter (LJCA)" support added, and the gpio,
     spi, and i2c drivers for that type of device (all acked by the
     respective subsystem maintainers.)

   - lots of USB gadget driver updates and cleanups

   - new USB dwc3 platforms supported, as well as other dwc3 fixes and
     cleanups

   - USB chipidea driver updates

   - other smaller driver cleanups and additions, full details in the
     shortlog

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

* tag 'usb-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (167 commits)
  usb: gadget: uvc: Add missing initialization of ssp config descriptor
  usb: storage: set 1.50 as the lower bcdDevice for older "Super Top" compatibility
  usb: raw-gadget: report suspend, resume, reset, and disconnect events
  usb: raw-gadget: don't disable device if usb_ep_queue fails
  usb: raw-gadget: properly handle interrupted requests
  usb:cdnsp: remove TRB_FLUSH_ENDPOINT command
  usb: gadget: aspeed_udc: Convert to platform remove callback returning void
  dt-bindings: usb: fsa4480: Add compatible for OCP96011
  usb: typec: fsa4480: Add support to swap SBU orientation
  dt-bindings: usb: fsa4480: Add data-lanes property to endpoint
  usb: typec: tcpm: Fix NULL pointer dereference in tcpm_pd_svdm()
  Revert "dt-bindings: usb: Add bindings for multiport properties on DWC3 controller"
  Revert "dt-bindings: usb: qcom,dwc3: Add bindings for SC8280 Multiport"
  thunderbolt: Fix one kernel-doc comment
  usb: gadget: f_ncm: Always set current gadget in ncm_bind()
  usb: core: Remove duplicated check in usb_hub_create_port_device
  usb: typec: tcpm: Add additional checks for contaminant
  arm64: dts: rockchip: rk3588s: Add USB3 host controller
  usb: dwc3: add optional PHY interface clocks
  dt-bindings: usb: add rk3588 compatible to rockchip,dwc3
  ...

13 files changed:
1  2 
Documentation/devicetree/bindings/usb/rockchip,dwc3.yaml
Documentation/devicetree/bindings/usb/ti,tps6598x.yaml
arch/arm64/boot/dts/qcom/sm8550-mtp.dts
arch/arm64/boot/dts/qcom/sm8550-qrd.dts
arch/arm64/boot/dts/rockchip/rk3588s.dtsi
drivers/gpio/Kconfig
drivers/platform/chrome/cros_ec_typec.c
drivers/power/supply/tps65217_charger.c
drivers/spi/Kconfig
drivers/thunderbolt/tb.c
drivers/usb/gadget/legacy/inode.c
drivers/usb/host/xhci.h
drivers/usb/typec/altmodes/displayport.c

@@@ -32,14 -47,43 +47,46 @@@ properties
      items:
        - const: irq
  
 +  connector:
 +    $ref: /schemas/connector/usb-connector.yaml#
 +
+   firmware-name:
+     description: |
+       Should contain the name of the default patch binary
+       file located on the firmware search path which is
+       used to switch the controller into APP mode.
+       This is used when tps25750 doesn't have an EEPROM
+       connected to it.
+     maxItems: 1
  required:
    - compatible
    - reg
  
 -additionalProperties: true
+ allOf:
+   - if:
+       properties:
+         compatible:
+           contains:
+             const: ti,tps25750
+     then:
+       properties:
+         reg:
+           maxItems: 2
+         connector:
+           required:
+             - data-role
+       required:
+         - connector
+         - reg-names
+     else:
+       properties:
+         reg:
+           maxItems: 1
 +additionalProperties: false
  
  examples:
    - |
                status = "disabled";
        };
  
+       usb_host2_xhci: usb@fcd00000 {
+               compatible = "rockchip,rk3588-dwc3", "snps,dwc3";
+               reg = <0x0 0xfcd00000 0x0 0x400000>;
+               interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH 0>;
+               clocks = <&cru REF_CLK_USB3OTG2>, <&cru SUSPEND_CLK_USB3OTG2>,
+                        <&cru ACLK_USB3OTG2>, <&cru CLK_UTMI_OTG2>,
+                        <&cru CLK_PIPEPHY2_PIPE_U3_G>;
+               clock-names = "ref_clk", "suspend_clk", "bus_clk", "utmi", "pipe";
+               dr_mode = "host";
+               phys = <&combphy2_psu PHY_TYPE_USB3>;
+               phy-names = "usb3-phy";
+               phy_type = "utmi_wide";
+               resets = <&cru SRST_A_USB3OTG2>;
+               snps,dis_enblslpm_quirk;
+               snps,dis-u2-freeclk-exists-quirk;
+               snps,dis-del-phy-power-chg-quirk;
+               snps,dis-tx-ipgap-linecheck-quirk;
+               snps,dis_rxdet_inp3_quirk;
+               status = "disabled";
+       };
 +      pmu1grf: syscon@fd58a000 {
 +              compatible = "rockchip,rk3588-pmugrf", "syscon", "simple-mfd";
 +              reg = <0x0 0xfd58a000 0x0 0x10000>;
 +      };
 +
        sys_grf: syscon@fd58c000 {
                compatible = "rockchip,rk3588-sys-grf", "syscon";
                reg = <0x0 0xfd58c000 0x0 0x1000>;
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -1666,15 -1640,11 +1640,11 @@@ struct xhci_scratchpad 
  struct urb_priv {
        int     num_tds;
        int     num_tds_done;
 -      struct  xhci_td td[];
 +      struct  xhci_td td[] __counted_by(num_tds);
  };
  
- /*
-  * Each segment table entry is 4*32bits long.  1K seems like an ok size:
-  * (1K bytes * 8bytes/bit) / (4*32 bits) = 64 segment entries in the table,
-  * meaning 64 ring segments.
-  * Initial allocated size of the ERST, in number of entries */
- #define       ERST_NUM_SEGS   1
+ /* Reasonable limit for number of Event Ring segments (spec allows 32k) */
+ #define       ERST_MAX_SEGS   2
  /* Poll every 60 seconds */
  #define       POLL_TIMEOUT    60
  /* Stop endpoint command timeout (secs) for URB cancellation watchdog timer */