![SCT Scout SC4415 User Manual Download Page 23](http://html.mh-extra.com/html/sct/scout-sc4415/scout-sc4415_user-manual_1220014023.webp)
Document# SCT-UM026FVC
Page 23 of 46
Confidential
legacy_read
Perform a Legacy I2C read operation
sdr_write
Perform an SDR I3C write operation
sdr_read
Perform an SDR I3C read operation
sdr_rsvd
Enable or disable the Reserved Byte for SDR operations
ddr_write
Perform an HDR-DDR I3C write operation
ddr_read
Perform an HDR-DDR I3C read operation
Table 3.3.4.2-1 – I3C Command List
As defined by the I3C specification, it is required for the bus to be defined and initialized prior to any activity on the I3C
Bus. Scout abstracts the intricate and complex details of the Bus Initialization process by providing a simple interface in
which the bus devices can be defined. The Bus Definition can be managed, using the
command. Once a bus is fully defined, the initialization procedure can be triggered
by executing the
command. The initialization procedure will perform actions such as the dynamic address
allocation and device count verification. The bus definition can be modified at any time, however, doing so may result
in the bus returning to an uninitialized state. In most cases, the bus will need to be re-initialized after modification. The
only exception to this rule is when removing a Hot-Join device, bus re-initialization is not required.
In order to perform any I3C or I2C communications, it is required that the bus has pull-up resistors connected to the
SDA and SCL signals. Scout has internal programmable pull-up resistors which can be adjusted using the
command. This allows for the optimal pull-up strength to be achieved depending on the physical characteristics of the
bus. By default, the internal programmable pull-up resistors are disabled.
Scout supports Legacy I2C communications as defined by the I3C specification. This allows for communication with
standard I2C devices at all times and I3C devices operating in I2C mode, prior to Bus Initialization. The Legacy I2C
communications can be leveraged using the
and
commands.
The supported I3C communication types SDR, HDR-DDR, and CCC require that the I3C bus is defined and initialized
prior to use. These I3C communications can be leveraged using the
and
The I3C and Legacy I2C commands are typically executed as a single frame, initiated with a start condition (S) and
ended with a stop condition (P). Multiple I3C or I2C commands, of the same type, can be executed in a contiguous
fashion with each frame joined by a repeat start condition (SR). This can be achieved by executing commands using the
mode of operation and by setting the Combine flag for the supported I3C or I2C command. In order to complete
the sequence of a multi-frame message, the last command must end with a stop condition (SP). This is achieved by
ensuring the Combine flag is cleared for the last command in the multi-frame sequence. An example sequence of
multiple SDR_read and SDR_write commands is shown below.
# Enable Buffer Mode (Primary)
->buffer 1
# SDR operation(s) with Combine Flag Set
B>sdr_write 1 1 2 0x01 0x3C
B>sdr_read 1 1 25
B>sdr_write 1 1 2 0x5A 0x1B
# SDR operation with Combine Flag Cleared
B>sdr_read 1 0 25
# Trigger execution
->trigger_in 1
...
I3C devices which make use of the Hot-Join feature are able to join the I3C bus any time after initialization. In order for
Scout to accept Hot-Join requests, the
command must be executed to enable the processing of Hot-Join
requests. Upon success, the Hot-Join device will be automatically added to the Bus Definition. Hot-join devices must
not be manually added to the Bus Definition as this will cause the bus initialization to fail.
If a slave device sends an In-Band-Interrupt (IBI), Scout will process the request and store the data received in a
temporary memory space. The IBI data will be stored in temporary memory either until the user processes the IBI data