The i2c-bus class implements the functionality of an I2C bus, to which several I2C devices can connect.
conf_object, log_object, i2c_bus, i2c_slave, i2c_bridge, i2c_master
- cell-change
- Notifier that is triggered after the object's cell was changed.
- object-delete
- Notifier that is triggered just before Simics object is deleted.
- queue-change
- Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
- port.SCL
-
i2c-bus.SCL
– SCL clock signal
- port.SDA
-
i2c-bus.SDA
– SDA data signal
-
info
– print information about the object
-
status
– print status of the object
-
i2c_devices
-
Pseudo attribute;
read-only access; type:
[[si]*]
Contains a list of the devices connected to the bus. Each list entry is a list of (device, address) for each address that has a device connected. Devices connect themselves using the i2c_bus interface.
-
current_slave
-
Optional attribute;
read/write access; type:
o|n
The slave of the currently ongoing transaction, if any.
-
current_state
-
Optional attribute;
read/write access; type:
i
The current state of the bus, where 0 is idle, 1 is master transmit, 2 is master receive, 3 is slave transmit, and 4 is slave receive.
-
i2c_link
-
Optional attribute;
read/write access; type:
o|n
If set, the bus will try to share all communication with this i2c link object. This is useful when converting i2c devices to use the new interfaces i2c_link, i2c_slave and i2c_master, since it allows devices to be converted one by one. All connected slave devices are forwarded as slave devices in this i2c link object. Slave devices registered on the link will be accessible from master devices on this i2c bus, but only as long as all responses arrive immediately, i.e., as long as both the link and the slave device have zero latency.
-
first_read_request
-
Optional attribute;
read/write access; type:
b
When forwarding a connection to a slave device via an i2c_link object and in slave transmit mode, this attribute is true right after the start condition and before the first read request. Marks that the next read should not be preceded by an ack_read_request
-
sda_target
-
Optional attribute;
read/write access; type:
n|o|[os]
Describes where the outgoing SDA signal should be connected
-
i2c_device_state
-
Optional attribute;
read/write access; type:
[iiii]
List representing data state in the device
i2c-bus
SCL clock signal
conf_object, log_object, signal
- cell-change
- Notifier that is triggered after the object's cell was changed.
- object-delete
- Notifier that is triggered just before Simics object is deleted.
- queue-change
- Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
SDA data signal
conf_object, log_object, signal
- cell-change
- Notifier that is triggered after the object's cell was changed.
- object-delete
- Notifier that is triggered just before Simics object is deleted.
- queue-change
- Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.