The ADP5588 is an I/O port expander and keypad matrix designed for QWERTY type phones that require a large keypad matrix and expanded I/O lines. I/O expander ICs are used in mobile platforms as a solution to the limited number of GPIOs available in the main processor. In its small 4 mm x 4 mm package, the ADP5588 contains enough power to handle all key scanning and decoding and flag the processor of key presses and releases via the I2C interface and interrupt. It frees the main microprocessor from having to monitor the keypad, thereby minimizing current drain and increasing processor bandwidth. It is also equipped with a buffer/FIFO and key event counter to handle and keep track of up to 10 unprocessed key or GPI events with overflow wrap and interrupt capability.