Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) ====================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) USB port LED trigger
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) ====================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) This LED trigger can be used for signalling to the user a presence of USB device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) in a given port. It simply turns on LED when device appears and turns it off
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) when it disappears.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) It requires selecting USB ports that should be observed. All available ones are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) listed as separated entries in a "ports" subdirectory. Selecting is handled by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) echoing "1" to a chosen port.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) Please note that this trigger allows selecting multiple USB ports for a single
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) LED.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) This can be useful in two cases:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) 1) Device with single USB LED and few physical ports
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) ====================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) In such a case LED will be turned on as long as there is at least one connected
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) USB device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) 2) Device with a physical port handled by few controllers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) =========================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) Some devices may have one controller per PHY standard. E.g. USB 3.0 physical
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) port may be handled by ohci-platform, ehci-platform and xhci-hcd. If there is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) only one LED user will most likely want to assign ports from all 3 hubs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) This trigger can be activated from user space on led class devices as shown
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) below::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)   echo usbport > trigger
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) This adds sysfs attributes to the LED that are documented in:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) Documentation/ABI/testing/sysfs-class-led-trigger-usbport
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) Example use-case::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42)   echo usbport > trigger
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)   echo 1 > ports/usb1-port1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44)   echo 1 > ports/usb2-port1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45)   cat ports/usb1-port1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)   echo 0 > ports/usb1-port1