Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

usb: doc: Update document for USB3 debug port usage

Update Documentation/driver-api/usb/usb3-debug-port.rst. This update
includes the guide for using xHCI debug capability based TTY serial
link.

Cc: Mathias Nyman <mathias.nyman@linux.intel.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>

authored by

Lu Baolu and committed by
Jonathan Corbet
90b2a01e 481f2720

+52
+52
Documentation/driver-api/usb/usb3-debug-port.rst
··· 98 98 cat /dev/ttyUSB0 99 99 done 100 100 ===== end of bash scripts =============== 101 + 102 + Serial TTY 103 + ========== 104 + 105 + The DbC support has been added to the xHCI driver. You can get a 106 + debug device provided by the DbC at runtime. 107 + 108 + In order to use this, you need to make sure your kernel has been 109 + configured to support USB_XHCI_DBGCAP. A sysfs attribute under 110 + the xHCI device node is used to enable or disable DbC. By default, 111 + DbC is disabled:: 112 + 113 + root@target:/sys/bus/pci/devices/0000:00:14.0# cat dbc 114 + disabled 115 + 116 + Enable DbC with the following command:: 117 + 118 + root@target:/sys/bus/pci/devices/0000:00:14.0# echo enable > dbc 119 + 120 + You can check the DbC state at anytime:: 121 + 122 + root@target:/sys/bus/pci/devices/0000:00:14.0# cat dbc 123 + enabled 124 + 125 + Connect the debug target to the debug host with a USB 3.0 super- 126 + speed A-to-A debugging cable. You can see /dev/ttyDBC0 created 127 + on the debug target. You will see below kernel message lines:: 128 + 129 + root@target: tail -f /var/log/kern.log 130 + [ 182.730103] xhci_hcd 0000:00:14.0: DbC connected 131 + [ 191.169420] xhci_hcd 0000:00:14.0: DbC configured 132 + [ 191.169597] xhci_hcd 0000:00:14.0: DbC now attached to /dev/ttyDBC0 133 + 134 + Accordingly, the DbC state has been brought up to:: 135 + 136 + root@target:/sys/bus/pci/devices/0000:00:14.0# cat dbc 137 + configured 138 + 139 + On the debug host, you will see the debug device has been enumerated. 140 + You will see below kernel message lines:: 141 + 142 + root@host: tail -f /var/log/kern.log 143 + [ 79.454780] usb 2-2.1: new SuperSpeed USB device number 3 using xhci_hcd 144 + [ 79.475003] usb 2-2.1: LPM exit latency is zeroed, disabling LPM. 145 + [ 79.475389] usb 2-2.1: New USB device found, idVendor=1d6b, idProduct=0010 146 + [ 79.475390] usb 2-2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 147 + [ 79.475391] usb 2-2.1: Product: Linux USB Debug Target 148 + [ 79.475392] usb 2-2.1: Manufacturer: Linux Foundation 149 + [ 79.475393] usb 2-2.1: SerialNumber: 0001 150 + 151 + The debug device works now. You can use any communication or debugging 152 + program to talk between the host and the target.