Context & Challenges
Analog Devices (ADI), a global leader in precision analog semiconductors, partnered with BayLibre to accelerate software development and upgrades for its precision A/D and D/A converter families. The engagement supported ADI’s Software Enabled Analog (SEA) initiative, with BayLibre providing strategic guidance on software architecture spanning embedded and system-level solutions. This collaboration helped shape the Analog Devices Software Development Kit (SDK), ensuring a scalable and cohesive approach to its software offerings.
Delivering production-grade software across a broad portfolio of converters and multiple software stacks presented several technical challenges:
- Making SPI Engine/offload robust and high-performance across multiple ADC/DAC families, requiring core SPI improvements and device-specific tuning
- Bringing up and maintaining mainline Linux drivers for numerous new devices while keeping ADI internal trees aligned with upstream behavior
- Supporting high-speed parallel and AXI-based interfaces with correct IP-level integration, calibration, and device-specific data formats
- Delivering automated, consistent boot images and system artifacts to downstream teams
- Producing comprehensive documentation and wiki materials for each newly supported device
- Strengthening test infrastructure, clocking/timing support, and integration with evaluation tools (pyadi-iio, MATLAB Precision Toolbox)
- Maintaining consistency and quality across the no-OS codebase
ADI partnered with BayLibre to deliver these capabilities end-to-end while maintaining upstream alignment and long-term maintainability.
Achievements
BayLibre successfully developed and delivered a wide range of embedded software deliverables to Analog Devices, spanning Zephyr driver development, Linux driver development, no-OS driver development, libIIO ecosystem development, HDL implementation and collaboration, PyADI-IIO / Python tooling, and MATLAB Precision Toolbox support.
Key achievements included:
- SPI Engine and offload enablement: Core SPI improvements, device-specific offload support, and extensive bug fixing and performance tuning — collectively making offload a practical, high-throughput path for multiple ADC/DAC families
- Mainline Linux driver bring-up and enhancements: New baseline mainline drivers, feature-complete extensions for full-spec operation, specific feature additions, and behavioral alignment and cleanup — significantly expanding mainline Linux support for ADI converters
- AXI / AXI-ADC / parallel interface and timing work: Ensuring the Linux stack and IIO layer correctly handle parallel/AXI data paths, calibration channels, and device-specific formats
- Platform, packaging, and artifacts: Automated boot image packaging and delivery, providing downstream users (e.g., ACE team) with consistent, automated boot images and manifests
- Documentation and user-facing materials: Device-specific wikis and general project documentation, giving users the written guidance needed to configure and use newly supported devices
- Tools, test infrastructure, and ecosystem support: PWM and timing infrastructure improvements, pyadi-iio tests, and MATLAB / Precision Toolbox integration — strengthening the testing story and integrating ADI devices more tightly with common evaluation tools
- no-OS cleanup: Improving maintainability and consistency across the no-OS codebase
This enabled Analog Devices to deliver a cohesive, well-documented SDK across its converter portfolio without accumulating technical debt or fragmenting its software offerings.
Open-Source Story
The project followed an upstream-first methodology, aligned with BayLibre’s open-source DNA and ADI’s commitment to mainline Linux support.
BayLibre worked closely with Analog Devices‘ software team to:
- Structure new Linux drivers according to IIO subsystem expectations and mainline coding standards
- Keep ADI internal trees and mainline behavior aligned and capable of full-spec operation
- Submit incremental, review-friendly patches for mainline inclusion
- Develop and contribute improvements to the libIIO ecosystem, pyadi-iio, and related open-source tooling
- Avoid out-of-tree hacks and ensure long-term maintainability
As a result, Analog Devices gained:
- Broad mainline Linux support for its precision converter portfolio
- Reduced long-term maintenance cost through upstream alignment
- A scalable SDK architecture serving multiple chipsets and software stacks
- Easier adoption by customers already using IIO-based workflows
- Stronger credibility within the Linux IIO and open-source ecosystems
BayLibre acted as a technical interface between ADI’s proprietary silicon and application expertise and the open-source Linux and Zephyr communities.
Tech Stack
Customer Testimonial
"BayLibre has been instrumental in shaping our Software Enabled Analog strategy. Their team delivered end-to-end software support — from mainline Linux drivers and SPI Engine enablement to libIIO ecosystem tooling and automated platform delivery — across our precision converter portfolio. Their deep expertise in upstream Linux development, IIO subsystem integration, and cross-stack software architecture helped us build a scalable, maintainable SDK that serves our customers and partners for the long term."