Appendix · reference

Front-panel RGB notification LEDs

Three GPIO-driven LEDs exposed via gpioled(4).

Identity

PartFront-panel R / G / B notification LEDs (3× discrete LED)
RoleUser-facing notification indicator above the display
Bus / addressGPIO bank 4, group D — pins D2 / D5 / D6
GPIO / IRQGPIO4_D2 (red), GPIO4_D5 (green), GPIO4_D6 (blue); all active-high outputs
Datasheetnone — discrete LEDs
Pine64 wikiPinePhone Pro Hardware
Schematicsheet 14 (notification LED network)

Status — ● working

All three LEDs are driven through FreeBSD’s stock gpioled(4) and appear as /dev/led/led-red, /dev/led/led-green, /dev/led/led-blue. Writing 0, 1, or any FreeBSD led(4) blink pattern (f5, s10, etc.) directly to those device nodes works without root once the device permissions are set up. omfreebdy ships a small phone-led userland helper that wraps the device files behind a narrow root helper so user-session scripts can flash the LED on notifications.

Driver

gpioled(4) walks FDT gpio-leds nodes, allocates a GPIO output per child, and registers it with the led(4) framework. The framework provides the /dev/led/<name> device node and the blink-pattern grammar — drivers do not need to implement timing themselves. The PinePhone Pro DTS names the three children led-red, led-green, led-blue so the device-node names match the colors directly.

Open work