Embedded Systems Software Engineer - USB/PD Subsystem

Wipro 

📍 Taipei, Taiwan 🇹🇼

full-time
mid-level
Posted —

Key Skills

USBLinuxCC++Debugging

Industry

Consumer ElectronicsTelecommunications

Job Description

Job Description

[Key Responsibilities]

  • Driver Porting & Development: Port and integrate USB Type-C and Power Delivery (PD) drivers into the Linux kernel for silicon-based platforms.
  • Linux USB Stack Optimization: Deep dive into the Linux USB software stack (including XHCI, EHCI, and USB gadget drivers) to optimize performance and stability.
  • Power Delivery Protocol Implementation: Implement and debug USB PD policy engines and Type-C Port Controller Interface (TCPCI) specifications.
  • Silicon Bring-up: Collaborate with hardware and firmware teams for initial silicon bring-up and validation of USB/PD subsystems.
  • Debugging & Troubleshooting: Use protocol analyzers (e.g., LeCroy, Total Phase) to debug complex PD negotiation issues and electrical compliance failures.

[Required Qualifications]

  • Experience: 3-5+ years of experience in Embedded Linux development.
  • USB Expertise: Solid understanding of USB 2.0/3.0/4.0 specifications and the USB Type-C / Power Delivery (PD 3.0/3.1) protocol.
  • Kernel Skills: Proven experience with Linux Kernel driver development and knowledge of the Linux USB/Power sub-system architecture.
  • Languages: Proficiency in C and C++ for embedded systems.
  • Debugging Tools: Experience using hardware tools like Oscilloscopes, Logic - Analyzers, and USB Power Delivery protocol sniffers.

[Preferred Qualifications]

  • Experience with Google Silicon or ChromeOS/Android kernel development (GKI).
  • Familiarity with TCPM (Type-C Port Manager) and TCPC (Type-C Port Controller) frameworks in the Linux kernel.
  • Knowledge of ARMv8/v9 architecture and SoC power management states.
  • Previous experience as a TVC/Vendor for large-scale technology firms (Google, Qualcomm, MediaTek).