1.7.3 Maximum Read/Write Length

The Maximum Read and Write Lengths can be specified using the I3CxMRL and I3CxMWL registers, respectively. The value in these registers can be updated by the user or by the controller using SETMRL/SETMWL CCCs. The controller can also read the value of these registers using the GETMRL/GETMWL CCCs. A value of zero in the registers signifies unlimited data length.

The I3C module responds according to the values in the registers automatically without any user intervention. During Private Write, when the controller exceeds the MWL length, the Target sets the Maximum Write Length Overflow MWLOEIF bit and stops receiving more data in the Receive FIFO even if the Receive FIFO is not full. A Receive Overrun RXOIF flag is also set. During Private Read, when the MRL length is reached, the Target pulls the End-of-Data T-bit low and ends the transaction even if Transmit FIFO has not been emptied (TXFNE = 1).