xref: /linux/Documentation/ABI/testing/sysfs-bus-pci-drivers-xhci_hcd (revision 55d0969c451159cff86949b38c39171cab962069)
1What:		/sys/bus/pci/drivers/xhci_hcd/.../dbc
2Date:		June 2017
3Contact:	Lu Baolu <baolu.lu@linux.intel.com>
4Description:
5		xHCI compatible USB host controllers (i.e. super-speed
6		USB3 controllers) are often implemented with the Debug
7		Capability (DbC). It can present a debug device which
8		is fully compliant with the USB framework and provides
9		the equivalent of a very high performance full-duplex
10		serial link for debug purpose.
11
12		The DbC debug device shares a root port with xHCI host.
13		When the DbC is enabled, the root port will be assigned
14		to the Debug Capability. Otherwise, it will be assigned
15		to xHCI.
16
17		Writing "enable" to this attribute will enable the DbC
18		functionality and the shared root port will be assigned
19		to the DbC device. Writing "disable" to this attribute
20		will disable the DbC functionality and the shared root
21		port will roll back to the xHCI.
22
23		Reading this attribute gives the state of the DbC. It
24		can be one of the following states: disabled, enabled,
25		initialized, connected, configured and stalled.
26
27What:		/sys/bus/pci/drivers/xhci_hcd/.../dbc_idVendor
28Date:		March 2023
29Contact:	Mathias Nyman <mathias.nyman@linux.intel.com>
30Description:
31		This dbc_idVendor attribute lets us change the idVendor field
32		presented in the USB device descriptor by this xhci debug
33		device.
34		Value can only be changed while debug capability (DbC) is in
35		disabled state to prevent USB device descriptor change while
36		connected to a USB host.
37		The default value is 0x1d6b (Linux Foundation).
38		It can be any 16-bit integer.
39
40What:		/sys/bus/pci/drivers/xhci_hcd/.../dbc_idProduct
41Date:		March 2023
42Contact:	Mathias Nyman <mathias.nyman@linux.intel.com>
43Description:
44		This dbc_idProduct attribute lets us change the idProduct field
45		presented in the USB device descriptor by this xhci debug
46		device.
47		Value can only be changed while debug capability (DbC) is in
48		disabled state to prevent USB device descriptor change while
49		connected to a USB host.
50		The default value is 0x0010. It can be any 16-bit integer.
51
52What:		/sys/bus/pci/drivers/xhci_hcd/.../dbc_bcdDevice
53Date:		March 2023
54Contact:	Mathias Nyman <mathias.nyman@linux.intel.com>
55Description:
56		This dbc_bcdDevice attribute lets us change the bcdDevice field
57		presented in the USB device descriptor by this xhci debug
58		device.
59		Value can only be changed while debug capability (DbC) is in
60		disabled state to prevent USB device descriptor change while
61		connected to a USB host.
62		The default value is 0x0010. (device rev 0.10)
63		It can be any 16-bit integer.
64
65What:		/sys/bus/pci/drivers/xhci_hcd/.../dbc_bInterfaceProtocol
66Date:		March 2023
67Contact:	Mathias Nyman <mathias.nyman@linux.intel.com>
68Description:
69		This attribute lets us change the bInterfaceProtocol field
70		presented in the USB Interface descriptor by the xhci debug
71		device.
72		Value can only be changed while debug capability (DbC) is in
73		disabled state to prevent USB descriptor change while
74		connected to a USB host.
75		The default value is 1  (GNU Remote Debug command).
76		Other permissible value is 0 which is for vendor defined debug
77		target.
78
79What:		/sys/bus/pci/drivers/xhci_hcd/.../dbc_poll_interval_ms
80Date:		February 2024
81Contact:	Mathias Nyman <mathias.nyman@linux.intel.com>
82Description:
83		This attribute adjust the polling interval used to check for
84		DbC events. Unit is milliseconds. Accepted values range from 0
85		up to 5000. The default value is 64 ms.
86		This polling interval is used while DbC is enabled but has no
87		active data transfers.
88