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