
Embedded / 3-6 Years
Linux Device Driver Engineer
Bengaluru
Job Summary
We are looking for a skilled Linux Device Driver (LDD) Engineer to join our embedded systems team. The ideal candidate should have strong experience in Linux kernel programming, device driver development, and hardware-software integration. You will be responsible for designing and implementing kernel-mode drivers and low-level software to interface with a variety of hardware components across custom Linux platforms.
Key Responsibilities:
- Design, develop, and maintain Linux kernel modules and device drivers
- Work with I2C, SPI, UART, GPIO, PCIe, USB, and other peripheral interfaces
- Perform board bring-up and integrate new hardware platforms into Linux
- Develop and configure Device Tree, platform drivers, and user-kernel interface
- Debug kernel panics, hardware faults, and interface-level issues using tools like dmesg, kgdb, ftrace, perf, etc.
- Optimize driver performance, power usage, and boot time
- Collaborate closely with hardware, board design, and application teams
- Contribute to Linux kernel upstreaming (optional based on role)
- Maintain kernel logs, configuration, and build scripts (Makefiles, KConfig)
- Participate in Linux OS upgrades, BSP customization, and security patching
Required Skills and Qualifications:
- 3–6 years of hands-on experience in Linux kernel and device driver development
- Strong knowledge of Embedded C, Linux system calls, memory management, and interrupt handling
- Proficiency with Device Tree Source (DTS) and platform driver model
- Familiarity with Yocto, Buildroot, or custom Linux build systems
- Experience with debugging tools: gdb, strace, ftrace, kgdb, JTAG, logic analyzers
- Comfortable working in cross-compilation and embedded toolchains
- Solid understanding of hardware schematics, registers, and datasheets
Preferred Qualifications:
- Exposure to real-time Linux (PREEMPT_RT) or hard real-time environments
- Experience in power management, suspend/resume flows, and thermal management
- Familiarity with U-Boot, bootloaders, and kernel bring-up
- Experience with Yocto Project, OpenEmbedded, or Android kernel drivers
- Contribution to open-source/Linux kernel communities is a plus
Education:
Bachelor’s or Master’s degree in Electronics, Electrical, Computer Engineering, or a related field