Skip to content

I3C Common Command Codes

Common Command Codes (CCCs) are I3C’s standardized command set enabling access to various standard functions. Support for CCCs depends ultimately on the targets. CCCs are classified as BROADCAST or DIRECT:

  • Broadcast CCCs:
    • Addressed to all I3C target devices on the I3C bus.
    • All Broadcast CCCs are write operations.
  • Direct CCCs:
    • Typically directed to a single target device (e.g., DUT) on the I3C bus, identified by its dynamic address.
    • Some direct write CCCs can use a group address.
    • If a response is required, only the specifically addressed target device will reply.
    • Direct CCCs can be classified as read, write, or read/write.

DISEC and ENEC (Enable/Disable Events Command)

Section titled “DISEC and ENEC (Enable/Disable Events Command) ”

Available BOTH as DIRECT and BROADCAST

Allows the Controller to control target-initiated traffic on the I3C bus. ENEC enables traffic, DISEC disables traffic.

This CCC controls:

  • Target In-Band Interrupts (ENINT/DISINT) *
  • Requests for the Controller Role (ENCR/DISCR)
  • Hot Join Signaling (ENHJ/DISHJ) *
    • These commands can prevent the target from making Dynamic Address Assignment requests.

* Enabled by Default

I3C Basic

Specification VersionIncludedReference Section
I3C Basic v1.0Link to Spec [PDF]
I3C Basic v1.1.1Link to Spec [PDF]

I3C

Specification VersionIncludedReference Section
I3C Basic v1.05.1.9.3.1
I3C Basic v1.1.15.1.9.3.1

ENDXFER (Data Transfer Ending Procedure Control)

Section titled “ENDXFER (Data Transfer Ending Procedure Control) ”

Available BOTH as DIRECT and BROADCAST

Allows the Controller and Target devices to exchange setup parameters for terminating data transfers in supported HDR modes.

Reference:

I3C Basic

Specification VersionIncludedReference Section
I3C Basic v1.0Unsupported
I3C Basic v1.1.1Link to Spec [PDF]

I3C

Specification VersionIncludedReference Section
I3C v1.0Unsupported
I3C v1.1.15.1.9.3.25

Available BOTH as DIRECT and BROADCAST

Allows the Controller to inform Targets of inactivity periods on the bus, allowing them to enter lower power states.

Activity States:

  • Activity State 0: 1 microsecond (latency-free operation)
  • Activity State 1: 100 microseconds
  • Activity State 2: 2 milliseconds
  • Activity State 3: 50 milliseconds (lowest-activity operation)

I3C Basic

Specification VersionIncludedReference Section
I3C Basic v1.0Link to Spec [PDF]
I3C Basic v1.1.1Link to Spec [PDF]

I3C

Specification VersionIncludedReference Section
I3C v1.05.1.9.3.2
I3C v1.1.15.1.9.3.2

Available ONLY as DIRECT

Enables the verification of a Controller Role request and enables the Active Controller to transfer the role to a Secondary Controller. If the Second Controller accepts the role, it responds with its Dynamic Address (matching the target’s address). If it NACKs or returns an invalid address, the Secondary Controller will not assume the Controller Role.

I3C Basic

Specification VersionIncludedReference Section
I3C Basic v1.0Link to Spec [PDF] (as GETACCMST)
I3C Basic v1.1.1Link to Spec [PDF]

I3C

Specification VersionIncludedReference Section
I3C v1.05.1.9.3.16
I3C v1.1.15.1.9.3.16

GETBCR (Get Bus Characteristics Register)

Section titled “GETBCR (Get Bus Characteristics Register) ”

Available ONLY as DIRECT

Allows the Controller to get the Bus Characteristics Register of a target.

I3C Basic

Specification VersionIncludedReference Section
I3C Basic v1.0Link to Spec [PDF]
I3C Basic v1.1.1Link to Spec [PDF]

I3C

Specification VersionIncludedReference Section
I3C v1.05.1.9.3.13
I3C v1.1.15.1.9.3.13

GETCAPS (Get Optional Feature Capabilities)

Section titled “GETCAPS (Get Optional Feature Capabilities) ”

Available ONLY as DIRECT

Allows the Controller to check which optional I3C features a Target supports. Responses are 2 to 4 bytes.

I3C Basic

Specification VersionIncludedReference Section
I3C Basic v1.0Unsupported
I3C Basic v1.1.1Link to Spec [PDF]

I3C

Specification VersionIncludedReference Section
I3C v1.0Unsupported
I3C v1.1.15.1.9.3.19

GETDCR (Get Device Characteristics Register)

Section titled “GETDCR (Get Device Characteristics Register) ”

Available ONLY as DIRECT

Enables the Controller to retrieve the Device Characteristics Register from a Target device.

I3C Basic

Specification VersionIncludedReference Section
I3C Basic v1.0Link to Spec [PDF]
I3C Basic v1.1.1Link to Spec [PDF]

I3C

Specification VersionIncludedReference Section
I3C v1.05.1.9.3.14
I3C v1.1.15.1.9.3.14

SETMRL is available both in DIRECT and BROADCAST, GETMRL is DIRECT ONLY

Allows the Controller to set or get a maximum data read length in bytes, and optionally, a maximum IBI payload size. The first 2 bytes indicate the Max Read Length, with a minimum of 16 bytes. A response of 0 means the Max Read Length is less than 16 bytes; otherwise, it shows the length in bytes. If the device’s BCR bit 2 is set, a third byte for Max IBI payload size is included. A value of 0 means unlimited, and the minimum depends on Timing Control (4 or 5 bytes if used, or 1 byte if not used).

I3C Basic

Specification VersionIncludedReference Section
I3C Basic v1.0Link to Spec [PDF]
I3C Basic v1.1.1Link to Spec [PDF]

I3C

Specification VersionIncludedReference Section
I3C v1.05.1.9.3.6
I3C v1.1.15.1.9.3.6

GETMWL / SETMWL (Get/Set Max Write Length)

Section titled “GETMWL / SETMWL (Get/Set Max Write Length)”

SETMWL is available both in DIRECT and BROADCAST, GETMWL is DIRECT ONLY

Allows the Controller to set or get the maximum data write length in bytes. This limit does not apply to BROADCAST CCCs as their data sizes are fixed. The minimum value you can set is 16 bytes. If a Target responds with 0, it means the Max Write length is less than 16 bytes. Any other response indicates the number of bytes.

I3C Basic

Specification VersionIncludedReference Section
I3C Basic v1.0Link to Spec [PDF]
I3C Basic v1.1.1Link to Spec [PDF]

I3C

Specification VersionIncludedReference Section
I3C v1.05.1.9.3.5
I3C v1.1.15.1.9.3.5

Available ONLY as DIRECT

Allows the controller to determine a Target’s SDR mode data speed limitations. The response is provided in one of two possible formats, indicated by the number of bytes returned:

  • FORMAT 1: 2 bytes containing Maximum Write Speed and Maximum Read Speed.
  • FORMAT 2: 5 bytes, including 2 bytes for Maximum Write Speed and Maximum Read Speed, plus 3 bytes for Maximum Read Turnaround Time.

The format used depends on whether the target needs to communicate its Maximum Read Turnaround Time.

I3C Basic

Specification VersionIncludedReference Section
I3C Basic v1.0Link to Spec [PDF]
I3C Basic v1.1.1Link to Spec [PDF]

I3C

Specification VersionIncludedReference Section
I3C v1.05.1.9.3.18
I3C v1.1.15.1.9.3.18

Available ONLY as DIRECT

Allows the controller to get the 48-bit (6-byte) Provisioned ID of a target.

I3C Basic

Specification VersionIncludedReference Section
I3C Basic v1.0Link to Spec [PDF]
I3C Basic v1.1.1Link to Spec [PDF]

I3C

Specification VersionIncludedReference Section
I3C v1.05.1.9.3.12
I3C v1.1.15.1.9.3.12

GETXTIME (Get Exchange Timing Information)

Section titled “GETXTIME (Get Exchange Timing Information) ”

Available ONLY as DIRECT

Allows the controller to query the exchange timing capabilities of a Target. The response contains four bytes that provide key information on supported Timing Control modes, current state, internal clock frequency, and accuracy. The response bytes are interpreted as follows:

I3C Basic

Specification VersionIncludedReference Section
I3C Basic v1.0Link to Spec [PDF]
I3C Basic v1.1.1Link to Spec [PDF]

I3C

Specification VersionIncludedReference Section
I3C v1.05.1.9.3.21
I3C v1.1.15.1.9.3.22

RSTDAA (Reset Dynamic Address Assignment)

Section titled “RSTDAA (Reset Dynamic Address Assignment) ”

Available ONLY as BROADCAST

This CCC indicates all Targets to clear their assigned Dynamic and Group Addresses (if applicable). After clearing, all Target devices should be ready to participate in Dynamic Address Assignment, SETDASA or SETAASA, or communicate via I2C.

I3C Basic

Specification VersionIncludedReference Section
I3C Basic v1.0Link to Spec [PDF]
I3C Basic v1.1.1Link to Spec [PDF]

I3C

Specification VersionIncludedReference Section
I3C v1.05.1.9.3.3
I3C v1.1.15.1.9.3.3

ENTDAA (Enter Dynamic Address Assignment)

Section titled “ENTDAA (Enter Dynamic Address Assignment) ”

Available ONLY as BROADCAST

Allows the Controller to indicate all targets to enter the Dynamic Address Assignment procedure. Target devices with an already assigned Dynamic Address do not respond to this command.

I3C Basic

Specification VersionIncludedReference Section
I3C v1.0Link to Spec [PDF]
I3C v1.1.1Link to Spec [PDF]

I3C

Specification VersionIncludedReference Section
I3C v1.05.1.9.3.4
I3C v1.1.15.1.9.3.4

SETAASA (Set All Addresses to Static Addresses)

Section titled “SETAASA (Set All Addresses to Static Addresses) ”

Available ONLY as BROADCAST

Allows the Controller to request that all Targets that have an I2C Static Address set it as their Dynamic Address. This is the fastest way to assign Dynamic Addresses.

I3C Basic

Specification VersionIncludedReference Section
I3C Basic v1.0Link to Spec [PDF]
I3C Basic v1.1.1Link to Spec [PDF]

I3C

Specification VersionIncludedReference Section
I3C v1.0Unsupported
I3C v1.1.15.1.9.3.23

Available ONLY as BROADCAST

Enables the Controller to specify a particular context on the I3C bus, either a higher-level protocol developed by a standards-developing organization or the version of I3C Basic in use. Targets respond only to contexts they recognize. This command can be used multiple times to set and support a layered protocol context.

I3C Basic

Specification VersionIncludedReference Section
I3C Basic v1.0Unsupported
I3C Basic v1.1.1Link to Spec [PDF]

I3C

Specification VersionIncludedReference Section
I3C v1.0Unsupported
I3C v1.1.15.1.9.3.31

SETDASA (Set Dynamic Address from Static Address)

Section titled “SETDASA (Set Dynamic Address from Static Address) ”

Available ONLY as DIRECT

Allows the Controller to assign a Dynamic Address to a Target via its Static Address (therefore, the target must have an I2C Static Address). This CCC is faster than the Dynamic Address Assignment Procedure (ENTDAA) and should be used beforehand. SETDASA is particularly useful for simple point-to-point communication in an I3C minimal bus, consisting of a single Controller and Target.

I3C Basic

Specification VersionIncludedReference Section
I3C Basic v1.0Link to Spec [PDF]
I3C Basic v1.1.1Link to Spec [PDF]

I3C

Specification VersionIncludedReference Section
I3C v1.05.1.9.3.10
I3C v1.1.15.1.9.3.10

Available ONLY as DIRECT

Allows the Controller to assign a new Dynamic Address to a Target that already has an existing Dynamic Address.

I3C Basic

Specification VersionIncludedReference Section
I3C Basic v1.0Link to Spec [PDF]
I3C Basic v1.1.1Link to Spec [PDF]

I3C

Specification VersionIncludedReference Section
I3C v1.05.1.9.3.11
I3C v1.1.15.1.9.3.11

SETXTIME (Set Exchange Timing Information)

Section titled “SETXTIME (Set Exchange Timing Information) ”

Available BOTH as DIRECT and BROADCAST

Allows the Controller and Targets to exchange event timing information for synchronizing controls, collecting or reconstructing timestamps, and specifying the timing data procedure. A defining byte is required to specify a sub-command, and while some sub-commands may require additional data, none that do so are currently supported.

I3C Basic

Specification VersionIncludedReference Section
I3C Basic v1.0Link to Spec [PDF]
I3C Basic v1.1.1Link to Spec [PDF]

I3C

Specification VersionIncludedReference Section
I3C v1.05.1.9.3.20
I3C v1.1.15.1.9.3.21

Available ONLY as DIRECT

Allows the Controller to assign a Group Address to an I3C Target that supports the Group Address feature. The Target will then respond to both the assigned Group and Dynamic addresses. If multiple I3C Targets share the same Group Address, a single message sent by the Controller to that Group Address will be received by all of those I3C Targets simultaneously.

I3C Basic

Specification VersionIncludedReference Section
I3C Basic v1.0Unsupported
I3C Basic v1.1.1Link to Spec [PDF]

I3C

Specification VersionIncludedReference Section
I3C v1.0Unsupported
I3C v1.1.15.1.9.3.27

Available BOTH as DIRECT and BROADCAST

This CCC, available as both Broadcast (WRITE) and Direct (READ/WRITE), configures the next Target Reset action and can be used to retrieve the Target’s reset recovery timing. It is used alongside the Target Reset Pattern to initiate a reset on the Target.

I3C Basic

Specification VersionIncludedReference Section
I3C Basic v1.0Unsupported
I3C Basic v1.1.1Link to Spec [PDF]

I3C

Specification VersionIncludedReference Section
I3C v1.0Unsupported
I3C v1.1.15.1.9.3.26

Available ONLY as DIRECT

Allows the controller to get the current status from the Target.

I3C Basic

Specification VersionIncludedReference Section
I3C Basic v1.0Link to Spec [PDF]
I3C Basic v1.1.1Link to Spec [PDF]

I3C

Specification VersionIncludedReference Section
I3C v1.05.1.9.3.15
I3C v1.1.15.1.9.3.15

Available ONLY as BROADCAST

Allows the Main Controller to tell the Secondary Controllers what Targets (and Groups) are on the I3C Bus.

I3C Basic

Specification VersionIncludedReference Section
I3C Basic v1.0Link to Spec [PDF] (as DEFSLVS)
I3C Basic v1.1.1Link to Spec [PDF]

I3C

Specification VersionIncludedReference Section
I3C v1.05.1.9.3.7 (as DEFSLVS)
I3C v1.1.15.1.9.3.7

Here is a table showing the current CCC support in Supernova for I3C Targets and Controllers, alongside their Software Platforms:

CCCTypeSupernovaSDK (Python)S. ControllerBridgeBMCNotes
ENECDIRECT/BROADCAST
DISECDIRECT/BROADCAST
ENTASXBROADCAST
RSTDAABROADCAST
ENTDAABROADCAST
SETMWLDIRECT/BROADCAST
SETMRLDIRECT/BROADCAST
SETBUSCONBROADCAST
ENDXFERDIRECT/BROADCAST
SETXTIMEDIRECT/BROADCAST
SETAASABROADCASTNot supported in Supernova in target mode.
RSTACTDIRECT/BROADCAST
RSTGRPADIRECT/BROADCAST
SETDASADIRECT
SETNEWDADIRECT
GETMWLDIRECT
GETMRLDIRECT
GETPIDDIRECT
GETBCRDIRECT
GETDCRDIRECT
GETSTATUSDIRECT
GETACCCRDIRECTSupernova as a target does not support I3C Secondary Controller Role (yet)
GETMXDSDIRECT
GETCAPSDIRECTCurrently a Defining Byte for GETCAPS is NOT supported.
GETXTIMEDIRECT
SETGRPADIRECT

CCCs or their types outside of this reference table are NOT supported at the moment. These include:

  • BROADCAST DEFTGTS: This will be supported when I3C Secondary Controller mode is supported
  • BROADCAST ENTTM
  • BROADCAST DEFGRPA: This will be supported when I3C Secondary Controller mode is supported
  • DIRECT ENTASX
  • DIRECT SETBRGTGT
  • DIRECT SETROUTE
  • BROADCAST/DIRECT ENTHDR0: This will be supported when HDR-DDR mode is supported
  • BROADCAST/DIRECT ENTHDR1: The Supernova does not support HDR - TSP mode
  • BROADCAST/DIRECT ENTHDR2: The Supernova does not support HDR - TSL mode
  • BROADCAST/DIRECT ENTHDR3: The Supernova does not support HDR - BT mode
  • BROADCAST/DIRECT MLANE: The Supernova does not support multi-lane