Address Assignment Command

This command is used for address assignment to the targets through either ENTDAA Broadcast transfer or SETDASA Directed transfer. The ENTDAA transfer is used to assign the dynamic addresses to the targets by receiving the PID, BCR, and DCR bytes of the targets. The SETDASA transfer is the compact version of the ENTDAA transfer, where the I3CC assigns a dynamic address to the targets for which static address is already known. Before issuing the Address Assignment command, the I3CC must program the DAT table. The I3CC application must issue the Address Assignment command in the following cases:

  • During initialization of the I3CC system
  • If any new device is connected to the system and indicated through hot-join IBI
  • The command structure of the Address Assignment command is as described in the following table.
    Table 9-58. Address Assignment Transfer Command Structure
    BitsField NameMemory AccessReset ValueDescription
    63:32Reserved
    31TOCW0x0Terminate on Completion

    Controls which Bus condition to issue after the Transfer command completes.

    Values:

    • 0x0: RESTART: Repeated Start (Sr) is issued at the end of transfer.
    • 0x1: STOP: Stop (P) is issued at end of the transfer.

      TOC must always to be set to 0x1 for ENTDAA, and this bit is meaningful only for SETDASA transfers.

    30ROCW0x0Response on Completion

    Controls whether Response Status is sent after successful completion of the Transfer command. The successful completion is read from register RESPONSE_QUEUE_PORT. Response Status is always sent after an unsuccessful transfer.

    Values:

    • 0x0: NOT_REQUIRED: Response Status is not required.
    • 0x1: REQUIRED: Response Status is required.
    29:26DEV_COUNTW0x0Device Count

    Indicates the number of devices that the address is assigned to.

    25:20Reserved
    19:16DEV_INDEXW0x0Device Index

    Indicates DAT table index where information related to Static and Device addressing is stored. The I3CC starts with the information from this Index and sequentially increments to the next location for assigning the address to subsequent devices until DEV_COUNT number of times.

    15Reserved
    14:7CMDW0x0Transfer Command CCC Value

    This field specifies CCC indicating whether Address Assignment uses ENTDAA or SETDASA commands.

    The field comprises entire command code (ENTDAA or SETDASA)

    6:3TIDW0x0Transaction ID

    This field is used as tag for the command.

    2:0CMD_ATTRW0x0Command Attributes

    This field defines Command type and bitfield format.

    Values:

    • 0x0: XFER: Regular Transfer
    • 0x1: IMMED_DATA_XFER: Immediate data transfer
    • 0x2: ADDR_ASSGN_CMD: Address Assignment command
    • 0x3: WWR_COMBO_XFER: Write + Write/Read combo transfer
    • 0x7: INTERNAL_CONTROL: Internal Control command
    • Values 0x4–0x6 are reserved.

    This command is not used for the Address Assignment commands SETAASA Broadcast CCC transfer and SETNEWDA Directed CCC transfer. The application must use either Immediate Data Transfer or Regular Data Transfer command to issue the SETAASA or SETNEWDA commands.