The MIPI Alliance, an international organization that develops interface specifications for mobile and mobile-influenced industries, released MIPI I3C Host Controller Interface (HCI) v1.0. The publicly available specification defines the building of a common software driver interface to support compliant MIPI I3C host controller (master device) hardware implementations from multiple vendors to more easily integrate value-added features for smartphones, wearables, Internet of Things (IoT), automotive and more.
Smartphones and other devices have a rapidly increasing number of mechanical, motion, biometric and environmental sensors, which enable a wide variety of features and use cases that companies use to differentiate their products. This sensor proliferation creates significant design challenges, especially for software developers.
For example, without a common method for interfacing to MIPI I3C, every host controller must have its own system software or driver to support that piece of hardware. Every host controller implementation may also provide a different set of features and optimizations.
MIPI I3C HCI defines a common set of capabilities for the host controller and the software interface, allowing for the building of class definitions based on a common set of features. The definition allows for vendor-specific extensions and optimizations.
“The release of MIPI I3C in 2016 was an important milestone for developers because it brought together multiple sensor interface approaches around a unifying specification that provides conveniences and system-level benefits for many use cases and applications in mobile and beyond,” said Joel Huloux, chairman of MIPI Alliance. “Now, MIPI I3C HCI provides an additional set of benefits by offering a common software driver interface that allows implementers of MIPI I3C to focus on developing innovative sensor applications rather than the interfaces themselves.”
MIPI I3C HCI, now available for download, is also included in the soon-to-be-released MIPI Touch family of specifications, making it possible to use touch commands and multiple data streams to add differentiating touch features to a design. Application processor companies can apply the specification to standardize the HCI method used in their devices.
The specification defines several optimizations based on typical usage. For example, the combo command feature allows for the efficient one-shot transfer of write and then read transfers on the bus. Another example is auto command, which provides an efficient way to read a large data buffer related to in-band interrupt.
Other key MIPI I3C HCI v1.0 features include:
- Support for MIPI I3C main master device operation on the I3C bus
- Two modes of operation: Direct data interface support (PIO mode), with programmable buffer depths for the transmit/response and data buffer, and DMA interface support (DMA mode) to support scatter gather transfers for data buffers
- Power-efficient operation of the host controller, which helps maximize battery life in mobile devices such as wearables and smartphones
- Support for I3C data rates, including I2C fast mode (up to 400Kbps), I2C fast mode+ (up to 1Mbps) and I3C SDR (up to 12.5Mbps)
- Support for extended capabilities, including vendor-specific ones, to enable more sophisticated hardware or additional functionality.
“MIPI I3C HCI paves the way to build a software ecosystem around MIPI I3C,” said Rob Gough, MIPI Software Working Group chair. “The specification provides an efficient means for platform software to interface to the features provided by the master device on the I3C bus and ensures power-efficient operation of the host controller. The end result – developers are freed up time to focus on integrating camera, touch and other components and features to differentiate their products.”