Embedded Software Engineer - Linux Device Driver
Cirrus Logic
- Austin, TX
- Permanent
- Full-time
- Design, build, and maintain efficient, reusable, and reliable Linux device drivers and documentation
- Code, bring-up and debug Linux drivers for new IP blocks in our FPGA based platforms
- Learn audio specifications such as ALSA, SoundWire and SWI3S becoming the team expert
- Develop and maintain user-space code used to communicate with PC side tools for comms and testing
- Architect, develop, and integrate Linux drivers in a regulated product development process
- Collaborate with other teams such as Applications, Validation, Emulation, Tools and SQA
- Perform defect tracking and peer code reviews
- Bachelor's in CS/EE and good working knowledge of Linux device driver development
- 3 to 7+ years of experience
- Deep knowledge of Linux kernel architecture and subsystems
- U-boot configuration and development for embedded Arm systems.
- Devicetree development, debug and maintenance for multiple hardware platforms
- Experience with Arm 32-bit (arm) and Arm 64-bit (aarch64) embedded devices and environments
- Strong understanding of serial buses and protocols (e.g., USB, Ethernet, I2C, SPI, I2S, UART)
- Strong knowledge of version control systems such as Git and Bitbucket and automation servers such as Jenkins and experience with defect management systems such as Jira
- Incorporate strong troubleshooting skills using software (automated tests, debuggers), hardware (logic analyzers, oscilloscopes, DMMs), and other resources (schematics and datasheets)
- Highly dynamic, results-oriented, and self-motivated personality able to work in a small team with minimal direction
- Excellent written and verbal interpersonal skills
- Ability to work across functional groups and organizations
- Master's in CS/EE
- Good understanding of more advanced serial buses and protocols (e.g., I3C, SoundWire, SWI3S, HDA, SPMI)
- Linux PCIe and interrupt subsystems
- Knowledge of Xilinx FPGA and SoCs such as Artix, Zynq and Zynq UltraScale+ operation
- Upstreamed drivers into the Linux kernel
- Successfully worked with customer design-in of semiconductors