Merge branch 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael...
[linux-3.10.git] / Documentation / usb / power-management.txt
index e8662a5..12511c9 100644 (file)
@@ -487,3 +487,29 @@ succeed, it may still remain active and thus cause the system to
 resume as soon as the system suspend is complete.  Or the remote
 wakeup may fail and get lost.  Which outcome occurs depends on timing
 and on the hardware and firmware design.
+
+
+       xHCI hardware link PM
+       ---------------------
+
+xHCI host controller provides hardware link power management to usb2.0
+(xHCI 1.0 feature) and usb3.0 devices which support link PM. By
+enabling hardware LPM, the host can automatically put the device into
+lower power state(L1 for usb2.0 devices, or U1/U2 for usb3.0 devices),
+which state device can enter and resume very quickly.
+
+The user interface for controlling USB2 hardware LPM is located in the
+power/ subdirectory of each USB device's sysfs directory, that is, in
+/sys/bus/usb/devices/.../power/ where "..." is the device's ID. The
+relevant attribute files is usb2_hardware_lpm.
+
+       power/usb2_hardware_lpm
+
+               When a USB2 device which support LPM is plugged to a
+               xHCI host root hub which support software LPM, the
+               host will run a software LPM test for it; if the device
+               enters L1 state and resume successfully and the host
+               supports USB2 hardware LPM, this file will show up and
+               driver will enable hardware LPM for the device. You
+               can write y/Y/1 or n/N/0 to the file to enable/disable
+               USB2 hardware LPM manually. This is for test purpose mainly.