xref: /OK3568_Linux_fs/kernel/Documentation/leds/ledtrig-usbport.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun====================
2*4882a593SmuzhiyunUSB port LED trigger
3*4882a593Smuzhiyun====================
4*4882a593Smuzhiyun
5*4882a593SmuzhiyunThis LED trigger can be used for signalling to the user a presence of USB device
6*4882a593Smuzhiyunin a given port. It simply turns on LED when device appears and turns it off
7*4882a593Smuzhiyunwhen it disappears.
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunIt requires selecting USB ports that should be observed. All available ones are
10*4882a593Smuzhiyunlisted as separated entries in a "ports" subdirectory. Selecting is handled by
11*4882a593Smuzhiyunechoing "1" to a chosen port.
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunPlease note that this trigger allows selecting multiple USB ports for a single
14*4882a593SmuzhiyunLED.
15*4882a593Smuzhiyun
16*4882a593SmuzhiyunThis can be useful in two cases:
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun1) Device with single USB LED and few physical ports
19*4882a593Smuzhiyun====================================================
20*4882a593Smuzhiyun
21*4882a593SmuzhiyunIn such a case LED will be turned on as long as there is at least one connected
22*4882a593SmuzhiyunUSB device.
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun2) Device with a physical port handled by few controllers
25*4882a593Smuzhiyun=========================================================
26*4882a593Smuzhiyun
27*4882a593SmuzhiyunSome devices may have one controller per PHY standard. E.g. USB 3.0 physical
28*4882a593Smuzhiyunport may be handled by ohci-platform, ehci-platform and xhci-hcd. If there is
29*4882a593Smuzhiyunonly one LED user will most likely want to assign ports from all 3 hubs.
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun
32*4882a593SmuzhiyunThis trigger can be activated from user space on led class devices as shown
33*4882a593Smuzhiyunbelow::
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun  echo usbport > trigger
36*4882a593Smuzhiyun
37*4882a593SmuzhiyunThis adds sysfs attributes to the LED that are documented in:
38*4882a593SmuzhiyunDocumentation/ABI/testing/sysfs-class-led-trigger-usbport
39*4882a593Smuzhiyun
40*4882a593SmuzhiyunExample use-case::
41*4882a593Smuzhiyun
42*4882a593Smuzhiyun  echo usbport > trigger
43*4882a593Smuzhiyun  echo 1 > ports/usb1-port1
44*4882a593Smuzhiyun  echo 1 > ports/usb2-port1
45*4882a593Smuzhiyun  cat ports/usb1-port1
46*4882a593Smuzhiyun  echo 0 > ports/usb1-port1
47