OpenBSD Kernel Drivers

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.

View source

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.

View source

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.

View source

Technical Details

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.