Commit 9e2e5ea3 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull USB / Thunderbolt updates from Greg KH:
 "Here is the big set of Thunderbolt and USB changes for 6.0-rc1.

  Lots of little things here, nothing major, just constant development
  on some new hardware support and cleanups of older drivers. Highlights
  are:

   - lots of typec changes and improvements for new hardware

   - new gadget controller driver

   - thunderbolt support for new hardware

   - the normal set of new usb-serial device ids and cleanups

   - loads of dwc3 controller fixes and improvements

   - mtu3 driver updates

   - testusb fixes for longtime issues (not many people use this tool it
     seems.)

   - minor driver fixes and improvements over the USB tree

   - chromeos platform driver changes were added and then reverted as
     they depened on some typec changes, but the cross-tree merges
     caused problems so they will come back later through the platform
     tree.

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

* tag 'usb-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (193 commits)
  usb: misc: onboard_usb_hub: Remove duplicated power_on delay
  usb: misc: onboard_usb_hub: Add TI USB8041 hub support
  usb: misc: onboard_usb_hub: Add reset-gpio support
  USB: usbsevseg: convert sysfs snprintf to sysfs_emit
  dt-bindings: usb: Add binding for TI USB8041 hub controller
  ARM: multi_v7_defconfig: enable USB onboard HUB driver
  ARM: dts: stm32: add support for USB2514B onboard hub on stm32mp15xx-dkx
  usb: misc: onboard-hub: add support for Microchip USB2514B USB 2.0 hub
  dt-bindings: usb: generic-ehci: allow usb-hcd schema properties
  usb: typec: ucsi: stm32g0: add bootloader support
  usb: typec: ucsi: stm32g0: add support for stm32g0 controller
  dt-bindings: usb: typec: add bindings for stm32g0 controller
  usb: typec: ucsi: Acknowledge the GET_ERROR_STATUS command completion
  usb: cdns3: change place of 'priv_ep' assignment in cdns3_gadget_ep_dequeue(), cdns3_gadget_ep_enable()
  usb/chipidea: fix repeated words in comments
  usb: renesas-xhci: Do not print any log while fw verif success
  usb: typec: retimer: Add missing id check in match callback
  USB: xhci: Fix comment typo
  usb/typec/tcpm: fix repeated words in comments
  usb/musb: fix repeated words in comments
  ...
parents cfeafd94 8288c99f
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@ KernelVersion: 3.13
Description:
		The attributes:

		===========	==============================================
		============	==============================================
		file		The path to the backing file for the LUN.
				Required if LUN is not marked as removable.
		ro		Flag specifying access to the LUN shall be
@@ -32,4 +32,10 @@ Description:
				being a CD-ROM.
		nofua		Flag specifying that FUA flag
				in SCSI WRITE(10,12)
		===========	==============================================
		forced_eject	This write-only file is useful only when
				the function is active. It causes the backing
				file to be forcibly detached from the LUN,
				regardless of whether the host has allowed it.
				Any non-zero number of bytes written will
				result in ejection.
		============	==============================================
+8 −0
Original line number Diff line number Diff line
What:		/sys/bus/platform/devices/<dev>/always_powered_in_suspend
Date:		June 2022
KernelVersion:	5.20
Contact:	Matthias Kaehlcke <matthias@kaehlcke.net>
		linux-usb@vger.kernel.org
Description:
		(RW) Controls whether the USB hub remains always powered
		during system suspend or not.
 No newline at end of file
+11 −0
Original line number Diff line number Diff line
@@ -253,6 +253,17 @@ Description:
		only if the system firmware is capable of describing the
		connection between a port and its connector.

What:		/sys/bus/usb/devices/.../<hub_interface>/port<X>/disable
Date:		June 2022
Contact:	Michael Grzeschik <m.grzeschik@pengutronix.de>
Description:
		This file controls the state of a USB port, including
		Vbus power output (but only on hubs that support
		power switching -- most hubs don't support it). If
		a port is disabled, the port is unusable: Devices
		attached to the port will not be detected, initialized,
		or enumerated.

What:		/sys/bus/usb/devices/.../power/usb2_lpm_l1_timeout
Date:		May 2013
Contact:	Mathias Nyman <mathias.nyman@linux.intel.com>
+8 −0
Original line number Diff line number Diff line
@@ -141,6 +141,14 @@ Description:
		- "reverse": CC2 orientation
		- "unknown": Orientation cannot be determined.

What:		/sys/class/typec/<port>/select_usb_power_delivery
Date:		May 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		Lists the USB Power Delivery Capabilities that the port can
		advertise to the partner. The currently used capabilities are in
		brackets. Selection happens by writing to the file.

USB Type-C partner devices (eg. /sys/class/typec/port0-partner/)

What:		/sys/class/typec/<port>-partner/accessory_mode
+240 −0
Original line number Diff line number Diff line
What:		/sys/class/usb_power_delivery
Date:		May 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		Directory for USB Power Delivery devices.

What:		/sys/class/usb_power_delivery/.../revision
Date:		May 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		File showing the USB Power Delivery Specification Revision used
		in communication.

What:		/sys/class/usb_power_delivery/.../version
Date:		May 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		This is an optional attribute file showing the version of the
		specific revision of the USB Power Delivery Specification. In
		most cases the specification version is not known and the file
		is not available.

What:		/sys/class/usb_power_delivery/.../source-capabilities
Date:		May 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		The source capabilities message "Source_Capabilities" contains a
		set of Power Data Objects (PDO), each representing a type of
		power supply. The order of the PDO objects is defined in the USB
		Power Delivery Specification. Each PDO - power supply - will
		have its own device, and the PDO device name will start with the
		object position number as the first character followed by the
		power supply type name (":" as delimiter).

			/sys/class/usb_power_delivery/.../source_capabilities/<position>:<type>

What:		/sys/class/usb_power_delivery/.../sink-capabilities
Date:		May 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		The sink capability message "Sink_Capabilities" contains a set
		of Power Data Objects (PDO) just like with source capabilities,
		but instead of describing the power capabilities, these objects
		describe the power requirements.

		The order of the objects in the sink capability message is the
		same as with the source capabilities message.

Fixed Supplies

What:		/sys/class/usb_power_delivery/.../<capability>/<position>:fixed_supply
Date:		May 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		Devices containing the attributes (the bit fields) defined for
		Fixed Supplies.

		The device "1:fixed_supply" is special. USB Power Delivery
		Specification dictates that the first PDO (at object position
		1), and the only mandatory PDO, is always the vSafe5V Fixed
		Supply Object. vSafe5V Object has additional fields defined for
		it that the other Fixed Supply Objects do not have and that are
		related to the USB capabilities rather than power capabilities.

What:		/sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/dual_role_power
Date:		May 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		This file contains boolean value that tells does the device
		support both source and sink power roles.

What:		/sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/usb_suspend_supported
Date:		May 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		This file shows the value of the USB Suspend Supported bit in
		vSafe5V Fixed Supply Object. If the bit is set then the device
		will follow the USB 2.0 and USB 3.2 rules for suspend and
		resume.

What:		/sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/unconstrained_power
Date:		May 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		This file shows the value of the Unconstrained Power bit in
		vSafe5V Fixed Supply Object. The bit is set when an external
		source of power, powerful enough to power the entire system on
		its own, is available for the device.

What:		/sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/usb_communication_capable
Date:		May 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		This file shows the value of the USB Communication Capable bit in
		vSafe5V Fixed Supply Object.

What:		/sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/dual_role_data
Date:		May 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		This file shows the value of the Dual-Role Data bit in vSafe5V
		Fixed Supply Object. Dual role data means ability act as both
		USB host and USB device.

What:		/sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/unchunked_extended_messages_supported
Date:		May 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		This file shows the value of the Unchunked Extended Messages
		Supported bit in vSafe5V Fixed Supply Object.

What:		/sys/class/usb_power_delivery/.../<capability>/<position>:fixed_supply/voltage
Date:		May 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		The voltage the supply supports in millivolts.

What:		/sys/class/usb_power_delivery/.../source-capabilities/<position>:fixed_supply/maximum_current
Date:		May 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		Maximum current of the fixed source supply in milliamperes.

What:		/sys/class/usb_power_delivery/.../sink-capabilities/<position>:fixed_supply/operational_current
Date:		May 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		Operational current of the sink in milliamperes.

What:		/sys/class/usb_power_delivery/.../sink-capabilities/<position>:fixed_supply/fast_role_swap_current
Date:		May 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		This file contains the value of the "Fast Role Swap USB Type-C
		Current" field that tells the current level the sink requires
		after a Fast Role Swap.
		0 - Fast Swap not supported"
		1 - Default USB Power"
		2 - 1.5A@5V"
		3 - 3.0A@5V"

Variable Supplies

What:		/sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply
Date:		May 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		Variable Power Supply PDO.

What:		/sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply/maximum_voltage
Date:		May 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		Maximum Voltage in millivolts.

What:		/sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply/minimum_voltage
Date:		May 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		Minimum Voltage in millivolts.

What:		/sys/class/usb_power_delivery/.../source-capabilities/<position>:variable_supply/maximum_current
Date:		May 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		The maximum current in milliamperes that the source can supply
		at the given Voltage range.

What:		/sys/class/usb_power_delivery/.../sink-capabilities/<position>:variable_supply/operational_current
Date:		May 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		The operational current in milliamperes that the sink requires
		at the given Voltage range.

Battery Supplies

What:		/sys/class/usb_power_delivery/.../<capability>/<position>:battery
Date:		May 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		Battery PDO.

What:		/sys/class/usb_power_delivery/.../<capability>/<position>:battery/maximum_voltage
Date:		May 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		Maximum Voltage in millivolts.

What:		/sys/class/usb_power_delivery/.../<capability>/<position>:battery/minimum_voltage
Date:		May 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		Minimum Voltage in millivolts.

What:		/sys/class/usb_power_delivery/.../source-capabilities/<position>:battery/maximum_power
Date:		May 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		Maximum allowable Power in milliwatts.

What:		/sys/class/usb_power_delivery/.../sink-capabilities/<position>:battery/operational_power
Date:		May 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		The operational power that the sink requires at the given
		voltage range.

Standard Power Range (SPR) Programmable Power Supplies

What:		/sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply
Date:		May 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		Programmable Power Supply (PPS) Augmented PDO (APDO).

What:		/sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/maximum_voltage
Date:		May 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		Maximum Voltage in millivolts.

What:		/sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/minimum_voltage
Date:		May 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		Minimum Voltage in millivolts.

What:		/sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/maximum_current
Date:		May 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		Maximum Current in milliamperes.

What:		/sys/class/usb_power_delivery/.../source-capabilities/<position>:programmable_supply/pps_power_limited
Date:		May 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		The PPS Power Limited bit indicates whether or not the source
		supply will exceed the rated output power if requested.
Loading