Patent ID: 8812746

Claim:
A host computing device comprising: a non-volatile memory; a central processing unit (CPU); an input/output (I/O) port that supports multiple device protocols for coupling a peripheral device to the host computing device; and a configurable host controller to control host hardware and software applications executed by the CPU for enabling data transfers with the peripheral device, the configurable host controller comprising: a processing core; and logic to detect the peripheral device coupled to the I/O port of the host computing device, determine a device protocol of the peripheral device in response to detecting the peripheral device coupled to the I/O port of the host computing device, identify a device driver in response to determining the device protocol of the peripheral device, and load host controller firmware for the device protocol and the identified device driver from the non-volatile memory to the processing core of the configurable host controller, the processing core to execute the host controller firmware for the processing core to function as a host controller assigned to the peripheral device.