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 PWM, display backlight control, and chip identification.

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 PWM channels 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 work together as a stack: sxisid handles chip identification and entropy seeding, sxipwm provides the PWM hardware interface, and pwmbl uses it to control display brightness — all essential pieces for running OpenBSD on Allwinner-based ARM boards.