A highly flexible SPI controller enables communication with a wide range of devices. The CP2130 has a flexible SPI module including configurable: clock rate, phase ad polarity, chip select mode and toggle, SPI delays (post-assert, inter-byte, pre-deassert) and an external trigger for read operations. The CP2130 also adds I/O flexibility, supporting communication down to 1.8V. For applications that require high data transfer rates, the CP2130 is capable of achieving up to 6.6Mbps read throughput and 5.8Mbps write throughput. A highly-configurable GPIO controller further reduces costs by eliminating external devices and integrating functions into the CP2130. Each of the 11 GPIOs have built-in alternate functionality including: chip select, the ability to count edges or pulses, a configurable clock output, pin toggle on SPI activity, USB remote wakeup and suspend indicators.