4 min read
MIPI Debug 'Over' Family of Specifications Debuts with Debug Over I3C v1.1
Enrico Carrieri and Matthew Schnoor : 7 August 2024
- News & Events
- News
- Blog
MIPI Debug Over I3C℠ has always been a specification for performing debug over the MIPI I3C® and MIPI I3C Basic℠ interfaces. Now, in conjunction with its latest update, the MIPI Debug specification has a new name to match its crucial role in the debugging of systems for mobile, the Internet of Things (IoT), automotive and other use cases.
The MIPI Debug Working Group has renamed the specification—previously known as "MIPI Debug for I3C"—to "MIPI Debug Over I3C" (MIPI DO-I3C) with its newest version 1.1 update. DO-I3C v1.1 also introduces support for the high data rate (HDR) modes and other enhancements delivered in MIPI I3C v1.1.1, the most recent version of its baseline specification.
About Debug Over I3C
MIPI Debug Over I3C describes methods for using MIPI I3C or I3C Basic as a minimal-pin interface to transport debug controls and data between a debug and test system (DTS) and a target system (TS).
The static structure of some legacy debug solutions such as IEEE 1149.7 JTAG and ARM Serial Wire Debug has resulted in limited scalability regarding the accessibility of debug components and devices. Plus, they don't address gaps in near-future technologies such as next-generation technology standards for cellular networks and markets such as the IoT. DO-I3C targets these gaps and shortcomings by using the capabilities of I3C to handle debug connectivity on buses that are dedicated for debug or shared with functional transfers, handling the debug network topology in a dynamic fashion.
What's New in v1.1
Because the first version of the specification (Debug for I3C v1.0) preceded the publication of MIPI I3C v1.1.1, the Debug specification could not take full advantage of the significant improvements introduced in that version. This limited its ability to make more efficient and powerful usage of I3C transactions, especially the debug common command codes (CCCs). DO-I3C v1.1 addresses these issues by moving to I3C v1.1.1+ as a baseline.
The biggest of those efficiency and performance boosts in DO-I3C v1.1 is its ability to support the use of HDR modes in I3C. The specification did not disallow use of HDR modes in its previous versions, but it also did not provide detailed guidance to easily take advantage of these features running over an I3C bus and sending more data over the same clock between the DTS and TS.
Other key new features delivered in DO-I3C v1.1:
- Support for Group Addressing—Introducing support for group addressing allows designers to set up a multicast-type transfer on the I3C bus that is sent to multiple target devices at the same time. The complexity and tedium of executing individual transfers—one after the other to each TS—is eliminated, and DO-I3C is able to take advantage of this feature.
- Timing Control—In v1.1, it's possible not only to send and receive messages from a debug target, but also to have timestamps applied to messages, interrupts or error codes to show when exactly the events occurred.
- Optimizations in Reading Data—DO-I3C v1.1 introduces various ways to better read data, which all add up to support a more efficient use of the bus. For example, instead of hopping in and out of HDR modes to get in-band interrupts (IBIs), optimizations in v1.1 enable the IBIs to be acquired and used all within the mode. This allows a system to pull more frequently for data.
- Defining Byte Support—A defining byte is a more specific kind of subcommand to a CCC. Use of the defining byte enables various functions—discovering a device, configuring it, reading status, etc.—to be carried out with significantly fewer cycles between the processor and TS.
The new features available in DO-I3C v1.1 are optional, and the new version of the specification remains backward compatible with the previous version.
The MDO Family of Specifications
MIPI Debug Over I3C is the first of the MIPI Debug Over (MDO) interfaces to officially make the transition in name. The other existing specifications–those using USB and Internet Protocol Sockets as the transport–will make their name transitions along with their next updates. The ongoing rebrand of the MDO specifications serves to emphasize the layering and reuse that are characteristics of the interface family.
The MDO specifications define how to transmit debug and trace data to and from a DTS on a functional network by defining the interface layer between the network adapter and the transport. Debug functions are adapted so that they can co-exist with other network traffic, as normal application-layer functions. This is in order to minimize the intrusiveness of debug on regular system functions (though some capabilities such as trace may require significant network bandwidth). Functionality is layered consistently across all of the MDO interfaces. The specifications can be used to debug components in any device that is "smart" or connected, and all of them are available for download and use by the public and the open source community.
What's Next for Debug?
The Debug Working Group is continuing to build out the MDO family. Agreements are in place with PCI-SIG, which develops and maintains a standardized approach to peripheral component I/O data transfers, and UCIe Consortium, which advances the Universal Chiplet Interconnect Express standard defining the interconnect between chiplets within a package, to facilitate development of MIPI specifications for debugging over those interfaces. MIPI Debug Over PCIe (DO-PCIe) is expected to be completed in the first half of 2025, and MIPI Debug Over UCIe (DO-UCle) at the end of 2025.
A new version of the "MIPI Debug & Trace Connector Recommendations" white paper is also in progress to provide updates on recent developments within the Debug specification portfolio and reflect the new MIPI Debug "Over” naming convention. It will also preview the DO-PCIe and DO-UCIe specifications, introduce a new section on security, and include revamped diagrams to show a more modern architecture with multiple pieces of silica in a single package.
The MIPI Debug Working Group is actively seeking input from adopters and implementers globally on their experiences and next requirements in MDO specifications. To learn more, please visit the MIPI Debug Working Group page.