Search by job, company or skills

SEMI LEAF

Embedded Device Driver

new job description bg glownew job description bg glownew job description bg svg
  • Posted 8 days ago
  • Be among the first 10 applicants
Early Applicant

Job Description

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.

(ref:hirist.tech)

More Info

Job Type:
Industry:
Employment Type:

About Company

Job ID: 133582841