Easyi3C is a leading supplier of embedded system tools that simplify the development and debugging of various communication protocols. The company offers a range of products designed to help engineers and developers use I3C/I2C , USB and MIPI, JEDEC, MCTP and other protocols more efficiently.
In an I3C Hub, the SMBus Agent is a specialized functional unit associated with each downstream (Target) port. It acts as a bridge that allows legacy SMBus devices to coexist with modern MIPI I3C networks by managing the specific timing and protocol requirements of SMBus that differ from standard I3C.
Core Functions of the SMBus Agent
Protocol Bridging: It independently receives or transmits legacy SMBus transactions on its specific port while allowing the rest of the hub network to operate in I3C or I2C modes.
Bus Isolation: When active, the Agent engages directly with its assigned Target Side Port and temporarily disconnects that port from the main internal Hub Network to prevent legacy signaling from interfering with high-speed I3C traffic.
SCL Stretching Support: It manages Clock Stretching, a common feature in SMBus/I2C where a target device holds the clock line low to slow down the controller. The Agent handles this locally within the SMBus segment to prevent it from stalling the entire I3C hub.
Data Buffering: Each agent typically has access to dedicated transmit and receive data buffers within the hub's register map to facilitate asynchronous communication between the host and slow legacy devices.
Typical Implementation (e.g., NXP P3H2x4x Series)
High-performance I3C hubs, such as those from NXP or Renesas, use these agents to support server and data center applications:
Port Configuration: Each of the 4 or 8 target ports can be individually configured as I3C, I2C, or SMBus.
Voltage Translation: The agents work alongside integrated LDOs to allow devices running at different voltages (e.g., 1.0V, 1.2V, 1.8V, or 3.3V) to communicate on the same system management bus.
Polling Mode: Modern drivers (as of 2025) support a "polling mode" for the SMBus Agent to monitor events without requiring constant interrupt overhead.
Why it is needed
Modern servers are transitioning from legacy SMBus to MIPI I3C for faster speeds (up to 12.5 Mbps SDR) and better power efficiency. However, many components like temperature sensors or Serial Presence Detect (SPD) modules still use SMBus. The SMBus Agent provides the necessary hardware "shim" to let these older devices function within a high-speed I3C infrastructure without slowing down the entire bus.
The I3C hub should include one SMBus agent per target port, and each of them should function independent of each other. The SMBus agent provides a nontransparent bridge capability between an I3C controller device to I2C target, an SMBus target, and SMBus controller devices connected to the hub target ports. These devices could work in messaging mode that initiates write transactions like MCTP messages. The SMBus controller agent should be capable of supporting SCL stretching.

As shown in the diagram above, the SMBus agent on a specific target port receives transaction requests from the I3C controller port. This enables its SMBus controller to handle the actual transactions of the I2C/SMBus devices connected to the target port. The SMBus target device in the SMBus agent receives transactions from the connected I2C, SMBus devices, and controller, and generates an interrupt signal (IBI) to the upstream controller port to draw attention. The SMBus controller and SMBus target agent in the SMBus agent logic operate in parallel and independently.
Referring to the working diagram of the I3C Hub SMBus Agent above, we can build a test environment based on the Tower I3C Host Adapter as shown in the following figure:

Tower I3C Host Adapter 1 is connected to Controller Port 0 and configured with the relevant settings for SMBus Agent Target Port 7. Tower I3C Host Adapter 2 is connected to Target Port 7 and writes data via I2C. Tower I3C Host Adapter 1 can then detect the data write to Target Port 7 via IBI or polling, allowing it to retrieve the data from the buffers and verify its correctness. The entire testing process can be automated using scripts, facilitating the verification of the SMBus Agent's functionality.
Based on our Tower I3C Host Adapter, you can easily test the SMBus Agent function of the I3C Hub, meet complex testing needs, build an automated testing environment, and shorten the time to market for chips.