Author: Cypress Semiconductor.