Patent ID: 7533202

Claim:
A method for transferring data in association with a host and at least one of a parallel peripheral and a serial peripheral, the method comprising: handshaking host-side parallel data transfer from the host to a peripheral controller, the peripheral controller appearing to the host to include a legacy serial port accessible to host-based application and system software via a host-based legacy serial-port I/O driver, the host-side parallel data transfers comprising legacy serial-port compatible host reads from a receive FIFO and host-writes to a transmit FIFO; wherein the host-side handshaking comprises providing legacy serial port compatible peripheral controller status to the host; operating at least a portion of the peripheral controller in a mode that is a selected one of a parallel mode and a serial mode; in the parallel mode, handshaking peripheral-side parallel data transfer from the peripheral controller to the parallel peripheral, including providing peripheral controller status to the parallel peripheral; in the serial mode, handshaking peripheral-side serial data transfer from the peripheral controller to the serial peripheral, operationally selecting the mode at least in part based on a configuration register internal to the peripheral controller and writable by the host; independent of the operationally selected mode, operating the peripheral controller compatibly with the host-based legacy serial-port I/O driver to communicate between the peripheral controller and the host-based application and system software; loading the receive FIFO from the at least one peripheral via a selected one of two coupled receive circuitry interfaces in accordance with the operationally selected mode, respectively comprising parallel reading from the parallel peripheral and loading the receive FIFO via parallel-data-transfer receive circuitry, and serially reading from the serial peripheral and subsequently loading the receive FIFO via serial-data-transfer receive circuitry; unloading the transmit FIFO to the at least one peripheral via a selected one of two coupled transmit circuitry interfaces in accordance with the operationally selected mode, respectively comprising unloading the transmit FIFO and parallel writing to the parallel peripheral via parallel-data-transfer transmit circuitry, and serially writing to the serial peripheral subsequent to unloading the transmit FIFO via serial-data-transfer transmit circuitry; and wherein the host-side handshaking is at least partially in response to the peripheral-side handshaking, and the peripheral-side handshaking is at least partially in response to the host-side handshaking.