14.4.5 SMBus Register
The I2C SMBus is an optional bus for serial data transfer between the MSS and the FPGA fabric for Suspend mode. The Suspend mode is a Low power mode where most devices are stalled or powered down. The SMBus register contains specific SMBus related functionality and signals. The details of this register are provided in the following table.
| Bit Number | Name | R/W | Reset Value | Description |
|---|---|---|---|---|
| 7 | SMBus reset | R/W | 0 | Writing one to this bit forces the clock line Low until 35 ms is exceeded, thus resetting the entire bus as per the SMBus specification v2.0. Usage: When the I2C is used as a host controller (master), reset the bus by holding the clock line Low 35 ms. Slaves must react to this event and reset themselves. |
| 6 | SMBSUS_NO control | R/W | 0b1 | SMBSUS_NO control. SMBUS_NO is a Suspend mode signal from MSS to fabric. It is used in Master/Host mode to force other devices into Power down/Suspend mode. It is active low signal. SMBSUS_NO and SMBSUS_NI are separate signals (not wired-AND). If the I2C is part of a host-controller, SMBSUS_NO can be used as an output; if I2C is a slave to a host-controller that is implemented SMBSUS_N, then only SMBSUS_NI's status is relevant. |
| 5 | SMBSUS_NI status | R | 0bX | Status of SMBSUS_NI signal. SMBUS_NI is a Suspend mode signal from fabric to MSS. It is used if the core is slave/device. Upon resuming, the SMBSUS_NI returns High. The system then returns all devices to their operational state. SMBSUS_NO and SMBSUS_NI are separate signals (not wired-AND). If the I2C is part of a host-controller, SMBSUS_NO can be used as an output; if I2C is a slave to a host-controller that is implemented SMBSUS_N, then only SMBSUS_NI's status is relevant. |
| 4 | SMBALERT_NO control | R/W | 0b1 | SMBALERT_NO control; SMBALERT_NO is a wired-and-interrupt signal from the MSS to fabric. It is used in Slave/Device mode if the core wants to force communication with a host. |
| 3 | SMBALERT_NI status | R | 0bX | Status of SMBALERT_NI signal. SMBALERT_NI is a wired-and-interrupt signal from the MSS to fabric. It is used in Master/Host mode, if the slave/devices want to force communication with a host. |
| 2 | SMBus enable | R/W | 0 | 0: SMBus timeouts and status logic disabled (standard I2C bus operation) 1: SMBus timeouts and status logic enabled |
| 1 | SMBSUS interrupt enable | R/W | 0 | 0: SMBSUS interrupt signal (SMBS) disabled 1: SMBSUS interrupt signal (SMBS) enabled |
| 0 | SMBALERT interrupt enable | R/W | 0 | 0: SMBALERT interrupt signal (SMBA) disabled 1: SMBALERT interrupt signal (SMBA) enabled |
