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.