Host interface crossbar for sensor hub
AssigneeIntel Corporation
InventorJames Trethewey
Life of this patent
Estimating the term…
Abstract
A microcontroller for a peripheral hub includes a plurality of host bus interface microdrivers and a corresponding plurality of host transports. A first manager client, associated with a supported peripheral device, processes messages from a first host. A host manager module routes asynchronous communications, including but not limited to HID input reports, from a client to a host via one of a plurality of supported transports via a targeted transport indicated in the communication. The host manager modules routes synchronous communications from a host to a client via a targeted transport selected from a plurality of transports.
Claims19
A computer system, comprising:
- a plurality of hosts including a first host comprising a processor and a first bus interface to a first transport bus;
- a first peripheral device;
- a hub microcontroller, comprising:
- a first host bus interface microdriver associated with the first transport bus;
- a plurality of manager clients including a first manager client associated with the first peripheral device;
- a host manager module to:
- detect a communication between the first host and the first peripheral device;
- determine a recipient of the communication;
- access registration information to identify a first callback handler associated with the recipient, the registration information stored in a first storage and a second storage of the hub microcontroller, the first storage to store a plurality of entries each for a host and to store the first callback handler, a second callback handler to determine host power state and a third callback handler to wake the host, wherein the first callback handler is to forward an asynchronous report, the second storage to store a plurality of entries each for a manager client and to store a first called back handler to forward device state power requests to a firmware of the host manager module and one or more fourth callback handlers each for a report request specified by a tuple;
- and
- associate the communication with the first callback handler;
- and
- initiate the first callback handler to forward the communication to the recipient, wherein the firmware is to coalesce a plurality of reports from a plurality of peripheral devices into a single instance report for each of the plurality of peripheral devices for communication to the first host.
A microcontroller for a peripheral hub, the microcontroller comprising:
- a plurality of host bus interface microdrivers, including a first host bus interface microdriver, associated with a corresponding plurality of host transports;
- a first manager client, associated with a supported peripheral device, to process messages from a first host;
- and
- a host manager module to:
- access registration information to identify a first callback handler associated with a recipient of a communication, the registration information stored in a first storage and a second storage of the microcontroller, the first storage to store a plurality of entries each for a host and to store the first callback handler, a second callback handler to determine host power state and a third callback handler to wake the host, wherein the first callback handler is to forward an asynchronous report, the second storage to store a plurality of entries each for a manager client and to store a first called back handler to forward device state power requests to a firmware of the host manager module and one or more fourth callback handlers each for a report request specified by a tuple;
- and
- associate the communication with the first callback handler;
- and
- initiate the first callback handler to forward the communication to the recipient;
- route an asynchronous communication from a client to a host via one of a plurality of supported transports via a targeted transport indicated in the communication;
- and
- route a synchronous communication from the host to the client via a targeted transport selected from a plurality of transports, wherein the firmware is to coalesce a plurality of reports from a plurality of peripheral devices into a single instance report for each of the plurality of peripheral devices for communication to an operating system.
A control method, comprising:
- detecting a communication between a first host and a first peripheral device;
- determining, in a hub microcontroller coupled between a plurality of hosts and a plurality of peripheral devices, a recipient of the communication;
- accessing registration information to identify a first callback handler associated with the recipient, the registration information stored in a first storage and a second storage of the hub microcontroller, the first storage to store a plurality of entries each for a host and to store the first callback handler, a second callback handler to determine host power state and a third callback handler to wake the host, wherein the first callback handler is to forward an asynchronous report, the second storage to store a plurality of entries each for a manager client and to store a first called back handler to forward device state power requests to a firmware of a host manager module of the hub microcontroller and one or more fourth callback handlers each for a report request specified by a tuple;
- and associating the communication with the first callback handler;
- and initiating the first callback handler to forward the communication to the recipient;
- and
- coalescing a plurality of reports from the plurality of peripheral devices into a single instance report for the plurality of peripheral devices for communication to the first host, via the firmware.
Dependencies are inferred from the claim text.