Appendix · reference

PWM backlight

PinePhone Pro display backlight driven by RK3399 PWM0

Identity

PartGeneric pwm-backlight binding (no dedicated controller IC)
RoleDrives the LED backlight of the HX8394 panel via PWM duty cycle
Bus / addressRK3399 PWM0 (MMIO 0xff420000, channel 0)
GPIO / IRQBacklight enable on a board GPIO; PWM output on PWM0 pin
DatasheetRK3399 TRM (PWM block)
Pine64 wikiPinePhone Pro hardware
Schematicsheet 4 (panel + backlight)

Status — ● working

The backlight tracks the PWM duty cycle on every boot — bring-up sets a usable default level and the panel becomes visible. The backlight node is wired into the panel node via backlight = <&backlight> in DTS so the panel driver can drive on/off transitions, though we never actually blank it.

Driver

There is nothing PinePhone-specific in our backlight code path; everything that distinguishes this device is in the DTS (PWM channel choice, polarity, levels table, default-brightness-level). The driver speaks PWM through FreeBSD’s PWM bus; the actual PWM controller is the RK3399 PWM block upstream.

Open work