Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) What:		/sys/bus/usb/devices/INTERFACE/authorized
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) Date:		August 2015
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) 		This allows to authorize (1) or deauthorize (0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) 		individual interfaces instead a whole device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) 		in contrast to the device authorization.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) 		If a deauthorized interface will be authorized
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) 		so the driver probing must be triggered manually
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) 		by writing INTERFACE to /sys/bus/usb/drivers_probe
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) 		This allows to avoid side-effects with drivers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) 		that need multiple interfaces.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) 		A deauthorized interface cannot be probed or claimed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) What:		/sys/bus/usb/devices/usbX/interface_authorized_default
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) Date:		August 2015
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) 		This is used as value that determines if interfaces
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) 		would be authorized by default.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) 		The value can be 1 or 0. It's by default 1.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) What:		/sys/bus/usb/device/.../authorized
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) Date:		July 2008
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) KernelVersion:	2.6.26
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) Contact:	David Vrabel <david.vrabel@csr.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) 		Authorized devices are available for use by device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) 		drivers, non-authorized one are not.  By default, wired
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) 		USB devices are authorized.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) 		Certified Wireless USB devices are not authorized
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) 		initially and should be (by writing 1) after the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) 		device has been authenticated.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) What:		/sys/bus/usb/device/.../wusb_cdid
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) Date:		July 2008
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) KernelVersion:	2.6.27
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) Contact:	David Vrabel <david.vrabel@csr.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) 		For Certified Wireless USB devices only.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) 		A devices's CDID, as 16 space-separated hex octets.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) What:		/sys/bus/usb/device/.../wusb_ck
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) Date:		July 2008
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) KernelVersion:	2.6.27
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) Contact:	David Vrabel <david.vrabel@csr.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) 		For Certified Wireless USB devices only.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) 		Write the device's connection key (CK) to start the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) 		authentication of the device.  The CK is 16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) 		space-separated hex octets.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) What:		/sys/bus/usb/device/.../wusb_disconnect
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) Date:		July 2008
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) KernelVersion:	2.6.27
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) Contact:	David Vrabel <david.vrabel@csr.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) 		For Certified Wireless USB devices only.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) 		Write a 1 to force the device to disconnect
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) 		(equivalent to unplugging a wired USB device).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) What:		/sys/bus/usb/drivers/.../new_id
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) Date:		October 2011
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) Contact:	linux-usb@vger.kernel.org
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) 		Writing a device ID to this file will attempt to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) 		dynamically add a new device ID to a USB device driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) 		This may allow the driver to support more hardware than
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) 		was included in the driver's static device ID support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) 		table at compile time. The format for the device ID is:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) 		idVendor idProduct bInterfaceClass RefIdVendor RefIdProduct
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) 		The vendor ID and device ID fields are required, the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) 		rest is optional. The `Ref*` tuple can be used to tell the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) 		driver to use the same driver_data for the new device as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) 		it is used for the reference device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) 		Upon successfully adding an ID, the driver will probe
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) 		for the device and attempt to bind to it.  For example::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) 		  # echo "8086 10f5" > /sys/bus/usb/drivers/foo/new_id
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) 		Here add a new device (0458:7045) using driver_data from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) 		an already supported device (0458:704c)::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) 		  # echo "0458 7045 0 0458 704c" > /sys/bus/usb/drivers/foo/new_id
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) 		Reading from this file will list all dynamically added
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) 		device IDs in the same format, with one entry per
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) 		line. For example::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) 		  # cat /sys/bus/usb/drivers/foo/new_id
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) 		  8086 10f5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) 		  dead beef 06
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) 		  f00d cafe
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) 		The list will be truncated at PAGE_SIZE bytes due to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) 		sysfs restrictions.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) What:		/sys/bus/usb-serial/drivers/.../new_id
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) Date:		October 2011
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) Contact:	linux-usb@vger.kernel.org
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) 		For serial USB drivers, this attribute appears under the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) 		extra bus folder "usb-serial" in sysfs; apart from that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) 		difference, all descriptions from the entry
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) 		"/sys/bus/usb/drivers/.../new_id" apply.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) What:		/sys/bus/usb/drivers/.../remove_id
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) Date:		November 2009
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) Contact:	CHENG Renquan <rqcheng@smu.edu.sg>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) 		Writing a device ID to this file will remove an ID
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) 		that was dynamically added via the new_id sysfs entry.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) 		The format for the device ID is:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) 		idVendor idProduct.	After successfully
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) 		removing an ID, the driver will no longer support the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) 		device.  This is useful to ensure auto probing won't
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) 		match the driver to the device.  For example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) 		# echo "046d c315" > /sys/bus/usb/drivers/foo/remove_id
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) 		Reading from this file will list the dynamically added
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) 		device IDs, exactly like reading from the entry
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) 		"/sys/bus/usb/drivers/.../new_id"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) What:		/sys/bus/usb/devices/.../power/usb2_hardware_lpm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) Date:		September 2011
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) Contact:	Andiry Xu <andiry.xu@amd.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) 		If CONFIG_PM is set and a USB 2.0 lpm-capable device is plugged
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) 		in to a xHCI host which support link PM, it will perform a LPM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) 		test; if the test is passed and host supports USB2 hardware LPM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) 		(xHCI 1.0 feature), USB2 hardware LPM will be enabled for the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) 		device and the USB device directory will contain a file named
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) 		power/usb2_hardware_lpm.  The file holds a string value (enable
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) 		or disable) indicating whether or not USB2 hardware LPM is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) 		enabled for the device. Developer can write y/Y/1 or n/N/0 to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) 		the file to enable/disable the feature.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) What:		/sys/bus/usb/devices/.../power/usb3_hardware_lpm_u1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) 		/sys/bus/usb/devices/.../power/usb3_hardware_lpm_u2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) Date:		November 2015
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) Contact:	Kevin Strasser <kevin.strasser@linux.intel.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) 		Lu Baolu <baolu.lu@linux.intel.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) 		If CONFIG_PM is set and a USB 3.0 lpm-capable device is plugged
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) 		in to a xHCI host which supports link PM, it will check if U1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) 		and U2 exit latencies have been set in the BOS descriptor; if
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) 		the check is passed and the host supports USB3 hardware LPM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) 		USB3 hardware LPM will be enabled for the device and the USB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) 		device directory will contain two files named
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) 		power/usb3_hardware_lpm_u1 and power/usb3_hardware_lpm_u2. These
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) 		files hold a string value (enable or disable) indicating whether
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) 		or not USB3 hardware LPM U1 or U2 is enabled for the device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) What:		/sys/bus/usb/devices/.../removable
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) Date:		February 2012
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) Contact:	Matthew Garrett <mjg@redhat.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) 		Some information about whether a given USB device is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) 		physically fixed to the platform can be inferred from a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) 		combination of hub descriptor bits and platform-specific data
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) 		such as ACPI. This file will read either "removable" or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) 		"fixed" if the information is available, and "unknown"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) 		otherwise.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) What:		/sys/bus/usb/devices/.../ltm_capable
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) Date:		July 2012
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) Contact:	Sarah Sharp <sarah.a.sharp@linux.intel.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) 		USB 3.0 devices may optionally support Latency Tolerance
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) 		Messaging (LTM).  They indicate their support by setting a bit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) 		in the bmAttributes field of their SuperSpeed BOS descriptors.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) 		If that bit is set for the device, ltm_capable will read "yes".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) 		If the device doesn't support LTM, the file will read "no".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) 		The file will be present for all speeds of USB devices, and will
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) 		always read "no" for USB 1.1 and USB 2.0 devices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) What:		/sys/bus/usb/devices/.../(hub interface)/portX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) Date:		August 2012
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) Contact:	Lan Tianyu <tianyu.lan@intel.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) 		The /sys/bus/usb/devices/.../(hub interface)/portX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) 		is usb port device's sysfs directory.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) What:		/sys/bus/usb/devices/.../(hub interface)/portX/connect_type
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) Date:		January 2013
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) Contact:	Lan Tianyu <tianyu.lan@intel.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) 		Some platforms provide usb port connect types through ACPI.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) 		This attribute is to expose these information to user space.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) 		The file will read "hotplug", "hardwired" and "not used" if the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) 		information is available, and "unknown" otherwise.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) What:		/sys/bus/usb/devices/.../(hub interface)/portX/location
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) Date:		October 2018
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) Contact:	Bjørn Mork <bjorn@mork.no>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) 		Some platforms provide usb port physical location through
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) 		firmware. This is used by the kernel to pair up logical ports
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) 		mapping to the same physical connector. The attribute exposes the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) 		raw location value as a hex integer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) What:		/sys/bus/usb/devices/.../(hub interface)/portX/quirks
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) Date:		May 2018
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) Contact:	Nicolas Boichat <drinkcat@chromium.org>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) 		In some cases, we care about time-to-active for devices
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) 		connected on a specific port (e.g. non-standard USB port like
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) 		pogo pins), where the device to be connected is known in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) 		advance, and behaves well according to the specification.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) 		This attribute is a bit-field that controls the behavior of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) 		a specific port:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) 		 - Bit 0 of this field selects the "old" enumeration scheme,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) 		   as it is considerably faster (it only causes one USB reset
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) 		   instead of 2).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) 		   The old enumeration scheme can also be selected globally
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) 		   using /sys/module/usbcore/parameters/old_scheme_first, but
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) 		   it is often not desirable as the new scheme was introduced to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) 		   increase compatibility with more devices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) 		 - Bit 1 reduces TRSTRCY to the 10 ms that are required by the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) 		   USB 2.0 specification, instead of the 50 ms that are normally
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) 		   used to help make enumeration work better on some high speed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) 		   devices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) What:		/sys/bus/usb/devices/.../(hub interface)/portX/over_current_count
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) Date:		February 2018
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) Contact:	Richard Leitner <richard.leitner@skidata.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) 		Most hubs are able to detect over-current situations on their
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) 		ports and report them to the kernel. This attribute is to expose
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) 		the number of over-current situation occurred on a specific port
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) 		to user space. This file will contain an unsigned 32 bit value
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) 		which wraps to 0 after its maximum is reached. This file supports
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) 		poll() for monitoring changes to this value in user space.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) 		Any time this value changes the corresponding hub device will send a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) 		udev event with the following attributes::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) 		  OVER_CURRENT_PORT=/sys/bus/usb/devices/.../(hub interface)/portX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) 		  OVER_CURRENT_COUNT=[current value of this sysfs attribute]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) What:		/sys/bus/usb/devices/.../(hub interface)/portX/usb3_lpm_permit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) Date:		November 2015
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) Contact:	Lu Baolu <baolu.lu@linux.intel.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) 		Some USB3.0 devices are not friendly to USB3 LPM.  usb3_lpm_permit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) 		attribute allows enabling/disabling usb3 lpm of a port. It takes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) 		effect both before and after a usb device is enumerated. Supported
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) 		values are "0" if both u1 and u2 are NOT permitted, "u1" if only u1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) 		is permitted, "u2" if only u2 is permitted, "u1_u2" if both u1 and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) 		u2 are permitted.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) What:		/sys/bus/usb/devices/.../power/usb2_lpm_l1_timeout
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) Date:		May 2013
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) Contact:	Mathias Nyman <mathias.nyman@linux.intel.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) 		USB 2.0 devices may support hardware link power management (LPM)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) 		L1 sleep state. The usb2_lpm_l1_timeout attribute allows
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) 		tuning the timeout for L1 inactivity timer (LPM timer), e.g.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) 		needed inactivity time before host requests the device to go to L1 sleep.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) 		Useful for power management tuning.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) 		Supported values are 0 - 65535 microseconds.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) What:		/sys/bus/usb/devices/.../power/usb2_lpm_besl
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) Date:		May 2013
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) Contact:	Mathias Nyman <mathias.nyman@linux.intel.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) 		USB 2.0 devices that support hardware link power management (LPM)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) 		L1 sleep state now use a best effort service latency value (BESL) to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) 		indicate the best effort to resumption of service to the device after the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) 		initiation of the resume event.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) 		If the device does not have a preferred besl value then the host can select
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) 		one instead. This usb2_lpm_besl attribute allows to tune the host selected besl
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) 		value in order to tune power saving and service latency.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) 		Supported values are 0 - 15.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) 		More information on how besl values map to microseconds can be found in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) 		USB 2.0 ECN Errata for Link Power Management, section 4.10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) What:		/sys/bus/usb/devices/.../rx_lanes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286) Date:		March 2018
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) Contact:	Mathias Nyman <mathias.nyman@linux.intel.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289) 		Number of rx lanes the device is using.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) 		USB 3.2 adds Dual-lane support, 2 rx and 2 tx lanes over Type-C.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) 		Inter-Chip SSIC devices support asymmetric lanes up to 4 lanes per
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) 		direction. Devices before USB 3.2 are single lane (rx_lanes = 1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) What:		/sys/bus/usb/devices/.../tx_lanes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) Date:		March 2018
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) Contact:	Mathias Nyman <mathias.nyman@linux.intel.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) 		Number of tx lanes the device is using.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) 		USB 3.2 adds Dual-lane support, 2 rx and 2 tx -lanes over Type-C.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) 		Inter-Chip SSIC devices support asymmetric lanes up to 4 lanes per
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) 		direction. Devices before USB 3.2 are single lane (tx_lanes = 1)