I3C link endpoint
conf_object, log_object, link_endpoint, link_endpoint_v2, i3c_slave, i3c_master, i3c_daa_snoop
- 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.
-
info
– print information about the object
-
status
– print status of the object
-
id
-
Required attribute;
read/write access; type:
i
Endpoint ID. The ID of each endpoint must be unique among the link's endpoints, and it may not be 0 or 0xffffffffffffffff
-
link
-
Required attribute;
read/write access; type:
o
The link object to which this endpoint belongs.
-
delivery_queue
-
Optional attribute;
read/write access; type:
[[i[o|n[ii]][iiii]]*]
The endpoint's queue.
-
sorting_key
-
Optional attribute;
read/write access; type:
[bi]
Internal.
-
device
-
Required attribute;
read/write access; type:
n|o|[os]
The device connected to this endpoint.
-
indirect_delivery
-
Optional attribute;
read/write access; type:
b
If set, deliver link messages to their targets immediately to let them worry about the exact time of delivery. Needed for endpoints attached to follower agents.
-
main_master
-
Optional attribute;
read/write access; type:
i
Endpoint ID connecting to the device that has overall control of the I3C link.
-
current_master
-
Optional attribute;
read/write access; type:
i
The endpoint id of current active master, initialized as LINK_NULL_ID which indicates invalid endpoint id
-
current_slave
-
Optional attribute;
read/write access; type:
i
The endpoint id of current active slave, initialized as LINK_NULL_ID which indicates invalid endpoint id
-
pending_acks
-
Optional attribute;
read/write access; type:
i
The number of devices we are awaiting a start response
-
address
-
Optional attribute;
read/write access; type:
i
Save address status for start request
-
slave_list
-
Optional attribute;
read/write access; type:
[i*]
IDs of endpoints used when more than one slave communicates with master
-
slave_list_ack
-
Optional attribute;
read/write access; type:
i
Save the combined response come from slaves in slave_list
-
slave_list_counter
-
Optional attribute;
read/write access; type:
i
The number of slaves we are awaiting response in slave_list
-
slave_data_list
-
Optional attribute;
read/write access; type:
[[ii]*]
Keeps a list of pair (ID and data) come from slave. The 'data' can be slave daa data when in DAA process, or slave address when slave issues IBI request (hot-join, IBI, secondary master)
-
in_daa
-
Optional attribute;
read/write access; type:
b
True when the endpoint is in DAA process
-
ccc
-
Optional attribute;
read/write access; type:
i
Save data sent following start request
-
secondary_master
-
Optional attribute;
read/write access; type:
i
Endpoind ID of secondary master
-
legacy_write
-
Optional attribute;
read/write access; type:
b
True when master is communicating with i2c slaves, or write daa address
i3c-link