Industry Expert Blogs
MIPI Alliance Releases Enhanced I3C Host Controller InterfaceMIPI Alliance Blog: The Wires Behind Wires - Rob Gough, Chair of the MIPI Software Working Group, and Matthew Schnoor, Member of the Debug Working GroupJun. 23, 2021 |
The new MIPI I3C Host Controller Interface (MIPI I3C HCI℠ ) v1.1 specification was recently released to MIPI Alliance members as well as nonmembers, with new functionality that facilitates broader use of the MIPI I3C® interface and helps developers and the open source community integrate the latest I3C-based peripheral components into their designs.
In this blog post, we recap the benefits of the I3C interface, explain how the HCI specification helps developers and provide an overview of the updates in this latest version.
MIPI I3C supported by MIPI I3C HCI
The MIPI I3C HCI specification, introduced in 2018, was created to enable easier implementation of the scalable, low-power, medium-speed, two-wire MIPI I3C utility and control bus interface. As the successor to the widely adopted I2C interface, MIPI I3C and MIPI I3C Basic℠ (the publicly available subset version) are used for connecting peripheral devices to application processors. I3C HCI standardizes the interface that operating systems use to access I3C devices and capabilities, enabling the development of common software driver implementations for core I3C interface capabilities, while still allowing vendor-specific innovation. Both the I3C and I3C HCI specifications support backward compatibility with the legacy I2C interface.
MIPI I3C HCI delivers crucially needed efficiency for designers of smartphones, computers, automotive systems, Internet of Things (IoT) devices and other applications that leverage the I3C interface. The specification eliminates the need for device developers to create and maintain product-specific I3C drivers. Instead, operating-system vendors, developers and distributors can offer generic I3C drivers that are portable across hardware platforms, freeing designers to focus their efforts on developing applications rather than interfaces.