Linux kernel drivers that work the first time. Device driver development for any peripheral, any bus, any hardware architecture.
Kernel · Embedded Linux & Device Driver Division
Driver is Razetime's Linux device driver practice. We write kernel drivers for hardware teams who need their peripherals to work correctly, efficiently, and maintainably in a Linux environment — whether that is a sensor talking over I2C, a custom FPGA IP block on AXI, or a PCIe endpoint for a high-performance data acquisition system.
Linux kernel drivers for I2C, SPI, UART, CAN bus, RS-485, and USB (device and host) peripherals. Character device, network device, and industrial I/O (IIO) subsystem implementations.
PCIe endpoint and root complex drivers, USB3 SuperSpeed device drivers, Ethernet PHY and MAC drivers, and MIPI CSI-2/DSI display and camera interface drivers.
IIO subsystem drivers for MEMS sensors, ADCs, DACs, temperature sensors, inertial measurement units, and environmental monitoring devices. Trigger and buffer support for high-frequency sampling applications.
Linux kernel drivers for custom FPGA IP blocks, ASIC peripherals, and proprietary hardware accelerators. UIO and VFIO drivers for userspace access. DMA engine integration for high-throughput data paths.
DRM/KMS drivers for custom display hardware, framebuffer drivers for embedded displays, and GPU driver bring-up for Arm Mali, Imagination PowerVR, and Vivante GC-series graphics hardware.
Systematic driver testing using kernel test frameworks, static analysis, and hardware-in-the-loop validation. Upstream submission support for drivers intended for the mainline Linux kernel.
Share the datasheet, the bus type, the target kernel version, and what you need the driver to do. We will scope the work and identify any hardware-side requirements before we start writing code.