i2c_link i2c_slave_v2_to_bus_adapter
Simics Reference Manual  /  5 Classes  / 

i2c_link_v1

Description

The i2c_link_v1 class implements the functionality of an I2C bus, to which several I2C devices can connect. Connecting I2C devices should implement the i2c_master or i2c_slave interface.

Interfaces Implemented

conf_object, log_object, i2c_link, i2c_master_v2, i2c_slave_v2

Notifiers

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.

Commands for this class

Attributes

bus_freed_queue
Optional attribute; read/write access; type: [o*]
List of i2c master devices waiting for a bus_freed call. Index 0 is first in the queue.
enqueued_start
Optional attribute; read/write access; type: i
When connected as slave to an i2c-link-v2 object, a stop and a start request may arrive while waiting for an ack_read_response from a slave. This attribute stores the start address, -1 if no start is enqueued.
Optional attribute; read/write access; type: s
Internal state of the link
Optional attribute; read/write access; type: o|[os]|n
This connect is used to connect with Link v2. It should only setby the component

Required interfaces: i2c_master_v2, i2c_slave_v2.

slave_devices
Pseudo attribute; read-only access; type: [[oi]*]
Contains a list of the slave devices connected to the link. Each list entry is a list of (device, address) for each address that has a device connected. Devices connect themselves using the i2c_link interface.

Provided By

i2c-link-v1
i2c_link i2c_slave_v2_to_bus_adapter