Hardware Enablement

From blinkenlights to the full-fledged software solution for your hardware product.

What we do

  • First boot on new boards and silicon
  • Display, camera, audio and input bring-up
  • Suspend, resume and power management
  • Linux kernel development and driver work
  • Migrating hardware products from vendor BSPs to mainline
  • Yocto and Buildroot layers, recipes and images
  • mkosi and BuildStream based images and packaging
  • Operating system images and packaging for traditional Linux distributions such as Debian, Ubuntu or Fedora
  • Recovery, factory reset and update flows

Typical engagements

First boot

From a blank board to a login prompt, with a written log of every fix along the way.

Peripheral bring-up

Display, camera, audio, radios and sensors, one subsystem at a time.

EVT and DVT support

Debugging each hardware revision alongside your hardware team.

Mainlining sprint

Move your hardware product from the vendor BSP to the mainline tree. This includes researching what’s already in mainline and what needs to be upstreamed.

BSP maintenance

A retainer that keeps your kernel, bootloader and images up to date as the vendor’s BSP tree is updated, including testing and bug fixes as needed.

Operating system image pipeline

Reproducible, and if needed immutable, operating system images built around your application, ready for your CI/CD workflow and for updates in the field.

  • U-Boot
  • Device tree
  • MIPI DSI
  • libcamera
  • ALSA
  • Power management
  • i.MX8MP
  • i.MX95

Related work

Questions

Do we need to send you hardware?

Ideally yes, two units. Remote access with a serial console and power control also works for a lot of the job.

Can you work with our hardware team?

That is most of the job. Bring-up goes fastest when schematics, scopes and logs sit in the same conversation.

What if the board has a hardware bug?

We’ll find it, write it up with evidence, and help you work around it in software until the next revision.

Can you start from our vendor BSP?

Yes. We usually start there, get it building and booting reliably, then plan the path to mainline one patch series at a time, if that’s what you want.

Do you upstream everything?

Yes. We work with you to upstream everything that makes sense.

What do you need from us to start?
  • Details about your hardware product and its use case
  • Hardware (one or two development boards if you can spare them)
  • Schematics and reference documents
  • Your current vendor BSP based tree, if you have one

Ready to sign up?

Tell us about the machine, the stack, and where it's stuck.

Start the conversation