Staff Firmware & System Software Engineer — Platform Controller and SoC Stack

Location
Bengaluru, India
Workplace
Remote ok

About this role

We are building the software stack that runs on next-generation silicon. Based on Zephyr-platform management controller responsible for secure boot, system software on the application processor — bootloader, kernel drivers, PCIe subsystem, and IOMMU configuration — that turns raw silicon into a platform an operating system can run on.






What you’ll do

Firmware and platform control

  • Design, implement, and maintain Zephyr RTOS firmware for a platform management controllers, including device drivers, subsystem integration, and application-level services.
  • Write and upstream-quality-review drivers against Zephyr's driver model — devicetree bindings, Kconfig, init levels and priorities, struct device APIs.

System software and high-speed interconnect

  • Bring up and debug PCIe links on first silicon — LTSSM progression, link training failures, lane reversal and polarity, equalization, speed and width negotiation.
  • Implement and maintain PCIe host controller and endpoint drivers: enumeration, configuration space, BAR allocation, MSI/MSI-X interrupt routing, AER and error handling, ASPM and link power states.
  • Configure and validate IOMMU behavior — address translation, DMA remapping, device isolation domains, page-table management, fault reporting and recovery.
  • Develop system software across the boot and runtime path: bootloader, firmware-to-OS handoff, ACPI or device tree description, kernel drivers, and the DMA and memory-management interfaces they depend on.
  • Debug DMA correctness and coherency problems end to end, from device transaction through translation to system memory.

Silicon and process

  • Perform post-silicon bring-up: first-boot debug, clock and reset validation, bus enumeration, triage of RTL-versus-firmware ambiguity with design teams.
  • Debug hard problems using JTAG/SWD, ETM/ITM trace, protocol analyzers, and logic analyzers — including intermittent, timing-dependent, and multi-master failures.

Required qualifications

  • 8–10 years of professional embedded firmware and/or system software development in C, with meaningful exposure to modern C++ or Rust.
  • Deep, hands-on RTOS experience on 32-bit microcontrollers (Arm Cortex-M or RISCV) scheduling, priority assignment, ISR design, synchronization primitives, and the failure modes each one produces.
  • Proven driver development experience against a formal driver model, including bus drivers and interrupt-driven peripherals.
  • System software fundamentals: virtual memory and address translation, DMA and cache coherency, the kernel/users pace boundary, and how a platform gets from reset vector to a running OS.
  • Working knowledge of PCIe architecture — enumeration, configuration space, BARs, MSI/MSI-X, and the transaction model — sufficient to debug why a device is not appearing or not moving data.
  • Understanding of what an IOMMU is for and what it costs: translation, isolation, and the DMA failure modes that appear when it is misconfigured.
  • Demonstrated ability to read a hardware specification or register map and translate it into correct, testable software without handholding.
  • Applied AI/ML knowledge — Strong AI based coding.
  • BS or MS in Electrical Engineering, Computer Engineering, Computer Science, or equivalent practical experience.

Preferred qualifications

Strong candidates will have direct experience with several or some of the following.

· PCIe and interconnect

· IOMMU and virtualization

· System software

· RTOS and platform

· Peripherals and subsystems

Tired of cold applications?

Sign up with Clera and we'll reach out the moment a role actually fits you — no more spraying applications into the void.

Ask your AI about this role

Connect Clera once, then ask if it fits you.

Ask about this role

Read the Staff Firmware & System Software Engineer — Platform Controller and SoC Stack listing at TYLsemi (https://www.getclera.com/jobs/tylsemi/staff-firmware-and-system-software-engineer-platform-controller-and-soc-stack-pdk6be6rvait) and tell me whether it fits my profile. Save it for me if it does.
Not connected yet? Takes a minute
One click above pre-fills the connector. Or by hand: Settings > Connectors > Add custom connector, paste https://mcp.getclera.com. Either way, sign in with the account you use on Clera and approve the consent screen.
https://mcp.getclera.com

Sign in with your Clera account. MCP docs