Linux 6.7-rc7
[linux-modified.git] / Documentation / ABI / testing / sysfs-bus-pci-drivers-xhci_hcd
1 What:           /sys/bus/pci/drivers/xhci_hcd/.../dbc
2 Date:           June 2017
3 Contact:        Lu Baolu <baolu.lu@linux.intel.com>
4 Description:
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
27 What:           /sys/bus/pci/drivers/xhci_hcd/.../dbc_idVendor
28 Date:           March 2023
29 Contact:        Mathias Nyman <mathias.nyman@linux.intel.com>
30 Description:
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
40 What:           /sys/bus/pci/drivers/xhci_hcd/.../dbc_idProduct
41 Date:           March 2023
42 Contact:        Mathias Nyman <mathias.nyman@linux.intel.com>
43 Description:
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
52 What:           /sys/bus/pci/drivers/xhci_hcd/.../dbc_bcdDevice
53 Date:           March 2023
54 Contact:        Mathias Nyman <mathias.nyman@linux.intel.com>
55 Description:
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
65 What:           /sys/bus/pci/drivers/xhci_hcd/.../dbc_bInterfaceProtocol
66 Date:           March 2023
67 Contact:        Mathias Nyman <mathias.nyman@linux.intel.com>
68 Description:
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.