IMX Linux Communication Driver
Description
I need a kernel-space device driver written for a communication module that sits on an NXP i.MX-based custom board. The target platform runs a 4.x Linux kernel, so the code has to cleanly integrate with that series’ APIs, Kconfig and Device Tree conventions.
Scope • Develop a loadable kernel module that exposes the module’s TX/RX paths, interrupts and power-management hooks to user space. • Provide a DTS snippet or overlay that binds the driver to the correct bus, IRQ lines and clock sources on the i.MX SOC. • Supply a minimal user-space test utility (plain C is fine) that opens the character device, sends data and confirms loop-back or echo from the hardware.
Acceptance criteria • Driver inserts and removes without warnings on a vanilla 4.x kernel. • /dev node or net device appears with correct permissions and supports standard read/write/ioctl as documented. • All implemented sysfs entries follow kernel coding style and return valid data. • Source compiles with ‘make ARCH=arm CROSS_COMPILE=…’ and passes checkpatch.pl with no fatal issues.
Deliverables
- Full source tree (driver, DTS overlay, Makefiles, test app).
- Build and installation guide that covers both Yocto and direct kernel build workflows.
- Brief markdown explaining register map assumptions and future porting notes for 5.x kernels.
If questions come up about bus timing or pin-mux, I have schematics and scope captures ready to share. Budget: INR 1500–12500 Skills: C Programming, Linux, Software Architecture, C++ Programming, Debugging, Software Development, Embedded Systems, Yocto
Skills
Want AI to find more roles like this?
Upload your CV once. Get matched to relevant assignments automatically.