Patent ID: 6928505

Claim:
A device controller for establishing a communication channel between a slave device and a host device, the slave device including the device controller and a function engine, the slave device and host device being connected to a packet-switched serial bus, the device controller comprising: a serial interface engine having a serial port that connects to the serial bus and a data port, the serial interface engine for generating and interpreting packets on the serial bus and transferring data between the serial bus and the data port; and an interfacing device connected between the data port of the serial interface engine and the function engine to transfer data between the serial interface engine and the function engine, the interfacing device including a configuration module for configuring the communication channel between the slave device and the host device; at least one register that stores configuration information relating to the communication channel between the slave device and the host device; and at least one memory that holds operating data relating to the communication channel; wherein the configuration module is connected to the at least one memory and includes a plurality of finite state machines that are operative to receive and respond to a request, including a GET_DESCRIPTOR and GET_CONFIGURATION request, from the host device.