Commit 710f5d62 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 5.18-rc1.

  Nothing major in here, just lots of little improvements and cleanups
  and new device support. Highlights are:

   - list iterator fixups for when we walk past the end of the list (a
     common problem that was cut/pasted in almost all USB gadget
     drivers)

   - xen USB driver "hardening" for malicious hosts

   - xhci driver updates and fixes for more hardware types

   - xhci debug cable fixes to make it actually work again

   - usb gadget audio driver improvements

   - usb gadget storage fixes to work with OS-X

   - lots of other small usb gadget fixes and updates

   - USB DWC3 driver improvements for more hardware types

   - Lots of other small USB driver improvements

   - DTS updates for some USB platforms

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

* tag 'usb-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (172 commits)
  usb: gadget: fsl_qe_udc: Add missing semicolon in qe_ep_dequeue()
  dt-bindings: usb: mtk-xhci: add compatible for mt8186
  usb: dwc3: Issue core soft reset before enabling run/stop
  usb: gadget: Makefile: remove ccflags-y
  USB: usb-storage: Fix use of bitfields for hardware data in ene_ub6250.c
  usb: gadget: eliminate anonymous module_init & module_exit
  usb: usbip: eliminate anonymous module_init & module_exit
  xen/usb: harden xen_hcd against malicious backends
  usb: dwc3: gadget: Wait for ep0 xfers to complete during dequeue
  usb: dwc3: gadget: move cmd_endtransfer to extra function
  usb: dwc3: gadget: ep_queue simplify isoc start condition
  xen/usb: don't use arbitrary_virt_to_machine()
  usb: isp1760: remove redundant max_packet() macro
  usb: oxu210hp-hcd: remove redundant call to max_packet() macro
  usb: common: usb-conn-gpio: Make VBUS supply completely optional
  USB: storage: ums-realtek: fix error code in rts51x_read_mem()
  usb: early: xhci-dbc: Fix xdbc number parsing
  usb: early: xhci-dbc: Remove duplicate keep parsing
  x86/tsc: Be consistent about use_tsc_delay()
  usb: gadget: udc: s3c2410: remove usage of list iterator past the loop body
  ...
parents 5627ecb8 46d2c20b
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ Description:

		=====================	=======================================
		c_chmask		capture channel mask
		c_srate			capture sampling rate
		c_srate			list of capture sampling rates (comma-separated)
		c_ssize			capture sample size (bytes)
		c_mute_present		capture mute control enable
		c_volume_present	capture volume control enable
@@ -17,7 +17,7 @@ Description:
		c_volume_res		capture volume control resolution
					(in 1/256 dB)
		p_chmask		playback channel mask
		p_srate			playback sampling rate
		p_srate			list of playback sampling rates (comma-separated)
		p_ssize			playback sample size (bytes)
		p_mute_present		playback mute control enable
		p_volume_present	playback volume control enable
@@ -29,4 +29,5 @@ Description:
					(in 1/256 dB)
		req_number		the number of pre-allocated requests
					for both capture and playback
		function_name		name of the interface
		=====================	=======================================
+5 −2
Original line number Diff line number Diff line
@@ -6,8 +6,9 @@ Description:

		=====================	=======================================
		c_chmask		capture channel mask
		c_srate			capture sampling rate
		c_srate			list of capture sampling rates (comma-separated)
		c_ssize			capture sample size (bytes)
		c_hs_bint		capture bInterval for HS/SS (1-4: fixed, 0: auto)
		c_sync			capture synchronization type
					(async/adaptive)
		c_mute_present		capture mute control enable
@@ -20,8 +21,9 @@ Description:
					(in 1/256 dB)
		fb_max			maximum extra bandwidth in async mode
		p_chmask		playback channel mask
		p_srate			playback sampling rate
		p_srate			list of playback sampling rates (comma-separated)
		p_ssize			playback sample size (bytes)
		p_hs_bint		playback bInterval for HS/SS (1-4: fixed, 0: auto)
		p_mute_present		playback mute control enable
		p_volume_present	playback volume control enable
		p_volume_min		playback volume control min value
@@ -32,4 +34,5 @@ Description:
					(in 1/256 dB)
		req_number		the number of pre-allocated requests
					for both capture and playback
		function_name		name of the interface
		=====================	=======================================
+9 −0
Original line number Diff line number Diff line
What:		/sys/bus/platform/drivers/eud/.../enable
Date:           February 2022
Contact:        Souradeep Chowdhury <quic_schowdhu@quicinc.com>
Description:
		The Enable/Disable sysfs interface for Embedded
		USB Debugger(EUD). This enables and disables the
		EUD based on a 1 or a 0 value. By enabling EUD,
		the user is able to activate the mini-usb hub of
		EUD for debug and trace capabilities.
+77 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: "http://devicetree.org/schemas/soc/qcom/qcom,eud.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: Qualcomm Embedded USB Debugger

maintainers:
  - Souradeep Chowdhury <quic_schowdhu@quicinc.com>

description:
  This binding is used to describe the Qualcomm Embedded USB Debugger, which is
  mini USB-hub implemented on chip to support USB-based debug capabilities.

properties:
  compatible:
    items:
      - enum:
          - qcom,sc7280-eud
      - const: qcom,eud

  reg:
    items:
      - description: EUD Base Register Region
      - description: EUD Mode Manager Register

  interrupts:
    description: EUD interrupt
    maxItems: 1

  ports:
    $ref: /schemas/graph.yaml#/properties/ports
    description:
      These ports is to be attached to the endpoint of the DWC3 controller node
      and type C connector node. The controller has the "usb-role-switch"
      property.

    properties:
      port@0:
        $ref: /schemas/graph.yaml#/properties/port
        description: This port is to be attached to the DWC3 controller.

      port@1:
        $ref: /schemas/graph.yaml#/properties/port
        description: This port is to be attached to the type C connector.

required:
  - compatible
  - reg
  - ports

additionalProperties: false

examples:
  - |
    eud@88e0000 {
           compatible = "qcom,sc7280-eud","qcom,eud";
           reg = <0x88e0000 0x2000>,
                 <0x88e2000 0x1000>;
           ports {
                   #address-cells = <1>;
                   #size-cells = <0>;
                   port@0 {
                           reg = <0>;
                           eud_ep: endpoint {
                                   remote-endpoint = <&usb2_role_switch>;
                           };
                   };
                   port@1 {
                           reg = <1>;
                           eud_con: endpoint {
                                   remote-endpoint = <&con_eud>;
                           };
                   };
           };
    };
+0 −115
Original line number Diff line number Diff line
Samsung Exynos SoC USB controller

The USB devices interface with USB controllers on Exynos SOCs.
The device node has following properties.

EHCI
Required properties:
 - compatible: should be "samsung,exynos4210-ehci" for USB 2.0
   EHCI controller in host mode.
 - reg: physical base address of the controller and length of memory mapped
   region.
 - interrupts: interrupt number to the cpu.
 - clocks: from common clock binding: handle to usb clock.
 - clock-names: from common clock binding: Shall be "usbhost".
 - phys: from the *Generic PHY* bindings; array specifying phy(s) used
   by the root port.
 - phy-names: from the *Generic PHY* bindings; array of the names for
   each phy for the root ports, must be a subset of the following:
   "host", "hsic0", "hsic1".

Optional properties:
 - samsung,vbus-gpio:  if present, specifies the GPIO that
   needs to be pulled up for the bus to be powered.

Example:

	usb@12110000 {
		compatible = "samsung,exynos4210-ehci";
		reg = <0x12110000 0x100>;
		interrupts = <0 71 0>;
		samsung,vbus-gpio = <&gpx2 6 1 3 3>;

		clocks = <&clock 285>;
		clock-names = "usbhost";

		phys = <&usb2phy 1>;
		phy-names = "host";
	};

OHCI
Required properties:
 - compatible: should be "samsung,exynos4210-ohci" for USB 2.0
   OHCI companion controller in host mode.
 - reg: physical base address of the controller and length of memory mapped
   region.
 - interrupts: interrupt number to the cpu.
 - clocks: from common clock binding: handle to usb clock.
 - clock-names: from common clock binding: Shall be "usbhost".
 - phys: from the *Generic PHY* bindings; array specifying phy(s) used
   by the root port.
 - phy-names: from the *Generic PHY* bindings; array of the names for
   each phy for the root ports, must be a subset of the following:
   "host", "hsic0", "hsic1".

Example:
	usb@12120000 {
		compatible = "samsung,exynos4210-ohci";
		reg = <0x12120000 0x100>;
		interrupts = <0 71 0>;

		clocks = <&clock 285>;
		clock-names = "usbhost";

		phys = <&usb2phy 1>;
		phy-names = "host";
	};

DWC3
Required properties:
 - compatible: should be one of the following -
	       "samsung,exynos5250-dwusb3": for USB 3.0 DWC3 controller on
					    Exynos5250/5420.
	       "samsung,exynos5433-dwusb3": for USB 3.0 DWC3 controller on
					    Exynos5433.
	       "samsung,exynos7-dwusb3": for USB 3.0 DWC3 controller on Exynos7.
 - #address-cells, #size-cells : should be '1' if the device has sub-nodes
				 with 'reg' property.
 - ranges: allows valid 1:1 translation between child's address space and
	   parent's address space
 - clocks: Clock IDs array as required by the controller.
 - clock-names: Names of clocks corresponding to IDs in the clock property.
                Following clock names shall be provided for different
                compatibles:
                 - samsung,exynos5250-dwusb3: "usbdrd30",
                 - samsung,exynos5433-dwusb3: "aclk", "susp_clk", "pipe_pclk",
                                              "phyclk",
                 - samsung,exynos7-dwusb3: "usbdrd30", "usbdrd30_susp_clk",
                                           "usbdrd30_axius_clk"
 - vdd10-supply: 1.0V powr supply
 - vdd33-supply: 3.0V/3.3V power supply

Sub-nodes:
The dwc3 core should be added as subnode to Exynos dwc3 glue.
- dwc3 :
   The binding details of dwc3 can be found in:
   Documentation/devicetree/bindings/usb/snps,dwc3.yaml

Example:
	usb@12000000 {
		compatible = "samsung,exynos5250-dwusb3";
		clocks = <&clock 286>;
		clock-names = "usbdrd30";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;
		vdd10-supply = <&ldo11_reg>;
		vdd33-supply = <&ldo9_reg>;

		dwc3 {
			compatible = "synopsys,dwc3";
			reg = <0x12000000 0x10000>;
			interrupts = <0 72 0>;
			usb-phy = <&usb2_phy &usb3_phy>;
		};
	};
Loading