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. 26*edf1664fSMathias Nyman 27*edf1664fSMathias NymanWhat: /sys/bus/pci/drivers/xhci_hcd/.../dbc_idVendor 28*edf1664fSMathias NymanDate: March 2023 29*edf1664fSMathias NymanContact: Mathias Nyman <mathias.nyman@linux.intel.com> 30*edf1664fSMathias NymanDescription: 31*edf1664fSMathias Nyman This dbc_idVendor attribute lets us change the idVendor field 32*edf1664fSMathias Nyman presented in the USB device descriptor by this xhci debug 33*edf1664fSMathias Nyman device. 34*edf1664fSMathias Nyman Value can only be changed while debug capability (DbC) is in 35*edf1664fSMathias Nyman disabled state to prevent USB device descriptor change while 36*edf1664fSMathias Nyman connected to a USB host. 37*edf1664fSMathias Nyman The default value is 0x1d6b (Linux Foundation). 38*edf1664fSMathias Nyman It can be any 16-bit integer. 39*edf1664fSMathias Nyman 40*edf1664fSMathias NymanWhat: /sys/bus/pci/drivers/xhci_hcd/.../dbc_idProduct 41*edf1664fSMathias NymanDate: March 2023 42*edf1664fSMathias NymanContact: Mathias Nyman <mathias.nyman@linux.intel.com> 43*edf1664fSMathias NymanDescription: 44*edf1664fSMathias Nyman This dbc_idProduct attribute lets us change the idProduct field 45*edf1664fSMathias Nyman presented in the USB device descriptor by this xhci debug 46*edf1664fSMathias Nyman device. 47*edf1664fSMathias Nyman Value can only be changed while debug capability (DbC) is in 48*edf1664fSMathias Nyman disabled state to prevent USB device descriptor change while 49*edf1664fSMathias Nyman connected to a USB host. 50*edf1664fSMathias Nyman The default value is 0x0010. It can be any 16-bit integer. 51*edf1664fSMathias Nyman 52*edf1664fSMathias NymanWhat: /sys/bus/pci/drivers/xhci_hcd/.../dbc_bcdDevice 53*edf1664fSMathias NymanDate: March 2023 54*edf1664fSMathias NymanContact: Mathias Nyman <mathias.nyman@linux.intel.com> 55*edf1664fSMathias NymanDescription: 56*edf1664fSMathias Nyman This dbc_bcdDevice attribute lets us change the bcdDevice field 57*edf1664fSMathias Nyman presented in the USB device descriptor by this xhci debug 58*edf1664fSMathias Nyman device. 59*edf1664fSMathias Nyman Value can only be changed while debug capability (DbC) is in 60*edf1664fSMathias Nyman disabled state to prevent USB device descriptor change while 61*edf1664fSMathias Nyman connected to a USB host. 62*edf1664fSMathias Nyman The default value is 0x0010. (device rev 0.10) 63*edf1664fSMathias Nyman It can be any 16-bit integer. 64*edf1664fSMathias Nyman 65*edf1664fSMathias NymanWhat: /sys/bus/pci/drivers/xhci_hcd/.../dbc_bInterfaceProtocol 66*edf1664fSMathias NymanDate: March 2023 67*edf1664fSMathias NymanContact: Mathias Nyman <mathias.nyman@linux.intel.com> 68*edf1664fSMathias NymanDescription: 69*edf1664fSMathias Nyman This attribute lets us change the bInterfaceProtocol field 70*edf1664fSMathias Nyman presented in the USB Interface descriptor by the xhci debug 71*edf1664fSMathias Nyman device. 72*edf1664fSMathias Nyman Value can only be changed while debug capability (DbC) is in 73*edf1664fSMathias Nyman disabled state to prevent USB descriptor change while 74*edf1664fSMathias Nyman connected to a USB host. 75*edf1664fSMathias Nyman The default value is 1 (GNU Remote Debug command). 76*edf1664fSMathias Nyman Other permissible value is 0 which is for vendor defined debug 77*edf1664fSMathias Nyman target. 78