Job Title: Linux PCI Device Lead

Experience: 8 to 10+ years

Key Responsibilities:

· Architect and Lead PCI Subsystem Development:

 Drive design, development, and maintenance of PCI and PCIe subsystems and drivers in the Linux kernel.

· Ensure seamless enumeration, configuration, power management, and hotplug support for PCI devices.

· Device Enablement and Bring-up:

· Lead platform bring-up activities involving PCI/PCIe devices (e.g., network, storage, GPU, NVMe).

· Validate and debug device-tree or ACPI configurations for PCI host bridges and endpoints.

· Kernel and Firmware Interaction:

· Collaborate with firmware/bootloader teams for correct BAR, MSI/MSI-X, and IOMMU configurations.

· Work closely with architecture teams to support secure boot and DMA protection for PCI devices.

· Performance and Power Optimization:

· Analyze PCI bandwidth, latency, and power bottlenecks.

· Implement ASPM, LTR, and other low-power states in compliance with PCIe specs.

· Debugging and Issue Resolution:

· Use Linux tools (lspci, setpci, tracepoints, ftrace, perf, etc.) and oscilloscopes/analyzers for low-level debugging.

· Root-cause platform PCI failures and compatibility issues across hardware and kernel versions.

· Upstream and Compliance:

· Contribute patches upstream to the Linux kernel PCI subsystem.

· Ensure compliance with PCI-SIG and Linux kernel community best practices.

· Cross-Team Collaboration:

· Interface with SoC, BIOS/UEFI, board, and validation teams to ensure robust PCIe device support across platforms.

Required Expertise:

· Deep understanding of Linux kernel internals, especially drivers/pci and subsystems like hotplug, MSI, IOMMU, DMA API.

· Hands-on experience with PCIe Gen3/Gen4/Gen5 devices and related PHY bring-up issues.

· Familiarity with ARM64 and x86 architectures, DT/ACPI handling for PCI devices.

· Proficient in C programming, Linux kernel debugging (GDB, crash dumps), and tools like dmesg, lspci, pcie_check.

· Expertise in power management (runtime, suspend/resume flows) for PCI devices.

· Experience with Secure Boot, TrustZone, and virtualization passthrough (VFIO/SR-IOV) for PCIe devices is a strong plus.

· Experience using Yocto, Buildroot, or other embedded Linux build systems.

 

 

 

Embedded Software Engineer,Hyderabad,Experience: 3+ years

Key Responsibilities

● Design, develop, and debug embedded software using C/C++ for microcontroller-based systems

● Integrate and optimize RTOS (e.g., FreeRTOS, VxWorks, QNX) for real-time applications

Collaborate with hardware engineers to ensure seamless firmware-hardware integration

● Develop Python scripts for automation, testing, and toolchain support

● Analyze system performance and implement improvements for reliability and efficiency

● Maintain documentation including design specs, test plans, and release notes

Required Skills

Strong proficiency in C/C++ programming for embedded systems

● Hands-on experience with RTOS concepts: task scheduling, inter-process communication, memory management

● Familiarity with ARM Cortex-M or similar microcontroller architectures

● Basic knowledge of Python for scripting and automation

● Experience with debugging tools: JTAG, oscilloscopes, logic analyzers

● Understanding of communication protocols: UART, SPI, I2C, CAN

Preferred Qualifications

● Exposure to Linux kernel or device driver development

● Experience with version control systems (Git) and CI/CD pipelines

● Knowledge of safety-critical systems or automotive standards (ISO 26262)

● Contributions to open-source projects or GitHub portfolio

 

 

 

Linux Device Driver Engineer ,Experience: 4 to 8 Years Location

Job Summary 

We are seeking a highly skilled and motivated Linux Device Driver Engineer with strong C/C++ programming skills and hands-on experience in Linux driver development. The ideal candidate will have a proven track record of working with kernel modules and hardware interfaces, and be comfortable debugging and optimizing low-level system software. 

Key Responsibilities 

  • Porting existing Linux device drivers to new platforms, SoCs, and kernel versions. 

  • New driver development for custom hardware components and peripherals. 

  • Debugging kernel and driver-level issues using industry-standard tools. 

  • Integration & bring-up of hardware with Linux-based systems. 

  • Collaborate with hardware teams to interpret specifications and enable device functionality. 

  • Optimize drivers for performance, reliability, and resource efficiency. 

  • Write clear technical documentation for driver APIs, design, and integration steps. 

Required Skills & Qualifications 

  • Bachelor’s/Master’s in Computer Science, Electronics, or related field. 

  • 4 to 8 years of professional experience in software development. 

  • Strong proficiency in C/C++ programming and memory management. 

  • Hands-on experience with any Linux device driver (character, block, network, USB, PCIe, I2C, SPI, etc.). 

  • Good understanding of Linux kernel architecture, module programming, and build systems. 

  • Knowledge of interrupt handling, DMA, and device tree configuration. 

  • Familiarity with cross-compilation and embedded Linux toolchains. 

  • Experience with debugging tools (GDB, ftrace, perf, printk, etc.). 

  • Version control experience (Git). 

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.