Hi, On 02/14/2017 11:45 AM, Peter Chen wrote: > On Tue, Feb 14, 2017 at 10:27 AM, Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> wrote: > >> Add Documentation/usb/usb3-debug-port.rst. This document includes >> the user guide for USB3 debug port. >> >> Cc: linux-doc@xxxxxxxxxxxxxxx >> Signed-off-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> >> --- >> Documentation/usb/usb3-debug-port.rst | 98 ++++++++++++++++++++++++++++++ >> +++++ >> 1 file changed, 98 insertions(+) >> create mode 100644 Documentation/usb/usb3-debug-port.rst >> >> diff --git a/Documentation/usb/usb3-debug-port.rst >> b/Documentation/usb/usb3-debug-port.rst >> new file mode 100644 >> index 0000000..9eddb3a >> --- /dev/null >> +++ b/Documentation/usb/usb3-debug-port.rst >> @@ -0,0 +1,98 @@ >> +=============== >> +USB3 debug port >> +=============== >> + >> +:Author: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> >> +:Date: January 2017 >> + >> +GENERAL >> +======= >> + >> +This is a HOWTO for using USB3 debug port on x86 systems. >> + >> +Before using any kernel debugging functionality based on USB3 >> +debug port, you need to check 1) whether debug port is supported >> +by the xHCI host; 2) which port is used for debugging purposes >> +(normally the first USB3 root port). You must have a USB 3.0 >> +super-speed A-to-A debugging cable to connect the debug target >> +with a debug host. In this document, "debug target" stands for >> +the system under debugging, and "debug host" stands for a >> +stand-alone system that is able to talk to the debugging target >> +through the USB3 debug port. >> + >> +EARLY PRINTK >> +============ >> + >> +On the debug target system, you need to customize a debugging >> +kernel with CONFIG_EARLY_PRINTK_USB_XDBC enabled. And, add >> +below kernel boot parameter:: >> + >> + "earlyprintk=xdbc" >> + >> +If there are multiple xHCI controllers in the system, you can >> +append a host contoller index to this kernel parameter. This >> +index starts from 0. >> + >> +If you are going to use the "keep" option defined by the >> +early printk framework to keep the boot console alive after >> +early boot, you'd better add below kernel boot parameter:: >> + >> + "usbcore.autosuspend=-1" >> + >> +On the debug host side, you don't need to customize the kernel, >> +but you'd better disable usb subsystem runtime power management >> +by adding below kernel boot parameter:: >> + >> + "usbcore.autosuspend=-1" >> + >> > Just curious, why autosuspend needs to be disabled for this function? This implementation doesn't support suspend/resume yet. Best regards, Lu Baolu > > BR, > Peter Chen > -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html