37.2.7.2.10 Set/Get Maximum Read Length (SETMRL/GETMRL)

The Controller uses the Direct and Broadcast Write SETMRL CCC to set the maximum data read length and maximum IBI payload size for the Target, which are stored in the I3CxMRL and I3CxIBIPSZ registers, respectively and are updated after the entire CCC has been processed.

The Controller uses the Direct Read GETMRL CCC to read the maximum data read length and maximum IBI payload size from the Target. This CCC reads the I3CxMRL and I3CxIBIPSZ registers from the Target with the Most Significant bit first.

The frame format for Direct Write/Read SETMRL/GETMRL CCC is shown in Figure 37-35, whereas the frame format for the Broadcast Write SETMRL is shown in Figure 37-36.

Refer to the Private Read Transaction section and the IBI Payload and Mandatory Data Byte section to learn about the significance of Maximum Read Length and IBI payload size, respectively.

Important:
  1. As per the MIPI I3C® Specification v1.1.1, the minimum I3CxMRL Maximum Read Length value the Controller can set is 16 bytes.
  2. The value of the I3CxMRL and I3CxIBIPSZ registers can also be changed by software writes in addition to the Controller writing using the SETMRL CCC. It is highly recommended for the user to change the value of these registers when there are no transactions happening on the bus. In case of a race condition, user writes take precedence over SETMRL CCC.
Figure 37-35. Direct Write/Read SETMRL/GETMRL Frame Format
Figure 37-36. Broadcast Write SETMRL Frame Format