Mandatory Skills
Expert-level C programming. Experience with Git and Gerrit. Firmware design, development, debugging, and validation experience.
Candidates should strongly match at least one of the following firmware areas.
A. Platform Security Processor Firmware – High Priority
Design, implement, and validate platform security features. Develop and debug PSP firmware. Implement secure boot flows, key-management logic, and firmware authentication. Work across pre-silicon simulation/emulation and post-silicon bring-up environments. Apply knowledge of cryptography and libraries such as OpenSSL. Collaborate with hardware, BIOS/UEFI, and platform security teams. Understand security subsystems, security policies, root of trust, TPM/fTPM, and Widevine. Apply secure software development lifecycle, threat modelling, and CI/CD practices. Understand key provisioning and cryptographic acceleration.
B. Power Management Firmware
Develop PMFW and DXIO firmware for AMD embedded platforms. Understand BIOS, power-management flows, and PCIe device initialisation. Work with UEFI BIOS and ACPI specifications. Understand C-states, P-states, and D-states. Work with power gating, clock gating, reset sequencing, and hot-plug flows. Support platform BIOS development and firmware bring-up. Design, develop, test, and review PMFW and DXIO features. Prepare low-level design documents and user guides. AGESA knowledge will be an advantage.
C. ABL/Memory Firmware
Enable DDR4, DDR5, and NVDIMM technologies. Work with UDIMM, SODIMM, RDIMM, LRDIMM, and LPDDR. Develop memory-recognition and configuration code. Debug using JTAG, oscilloscopes, logic analysers, and Lauterbach. Understand UMC, FCH, DF, MCLK, FCLK, and UCLK relationships. Understand ECC, SME, SEV, and RAS. Knowledge of vendor-specific memory implementations and timing differences is desirable.
D. BMC Firmware
Develop BMC firmware for side-band and out-of-band server management. Hands-on OpenBMC stack development experience. Experience with Redfish and PLDM. Strong C programming and problem-solving skills. Knowledge of computer architecture. Experience with Git and Perforce. Knowledge of Python and Bash scripting. Experience with logic analysers, oscilloscopes, and JTAG debuggers.