OpenBSD Kernel Drivers
A set of kernel drivers for Allwinner ARM system-on-chip platforms, accepted into the official OpenBSD source tree. These drivers target the ARM-based SoCs commonly found in single-board computers like Pine64 and Orange Pi, enabling hardware support for chip identification across the SoC family, and PWM and display backlight control on A13/A64-class boards.
All drivers use the Flattened Device Tree (FDT) framework for hardware description and follow OpenBSD’s kernel coding conventions.
The Drivers
sxisid
Security ID / eFuse Reader
Reads factory-programmed unique chip identification data from Allwinner SoC non-volatile memory. Supports multiple SoC variants (A10, A20, A83T, H3, A64, H5, H6) and feeds chip entropy into the kernel’s random number pool.
sxipwm
PWM Controller
Driver for the Allwinner sun5i-a13 Pulse Width Modulation controller. Manages the PWM channel with configurable prescalers, period, and duty cycle — the low-level hardware interface that other subsystems (like backlight control) build on.
pwmbl
PWM Backlight
Controls LCD and display backlight brightness via PWM signals. Supports brightness level tables from the device tree, smooth interpolation between levels, suspend/resume handling, and integration with OpenBSD’s wscons display subsystem.
Technical Details
- Platform: Allwinner ARM SoCs (sun4i through sun50i families)
- Framework: FDT (Flattened Device Tree) for hardware discovery and configuration
- Language: C, following OpenBSD kernel style
- License: ISC (standard OpenBSD license)
The drivers have distinct roles: sxisid handles chip identification and entropy seeding, sxipwm provides the PWM hardware interface, and pwmbl uses it to control display brightness — the stack behind OpenBSD display backlight support on Allwinner-based ARM boards.