41.6.5.4 Read Command Transmission

The DSI_PHY_TMR_CFG.MAX_RD_TIME configures the maximum amount of time required to perform a read command in lane byte clock cycles. It is calculated as follows:

MaxRdTime = Time to transmit the read command in LP mode + Time to enter and leave LP mode + Time to return the read data packet from the peripheral device.

The time to return the read data packet from the peripheral depends on the number of bytes read and the escape clock frequency of the peripheral. The field MAX_RD_TIME is used in both High-Speed and Low-Power modes to determine if there is time to complete a read command in a blanking period.

In High-Speed mode (DSI_VID_MODE_CFG.LP_CMD_EN = 0), MaxRdTime is calculated as follows:

MaxRdTime = t HS LP + t LP HS + t read + 2 t BTA lanebyteclkperiod

In Low-Power mode (DSI_VID_MODE_CFG.LP_CMD_EN = 1), MaxRdTime is calculated as follows:

MaxRdTime = t HS LP + t LP HS + t lpdt + t lprd + t read + 2 t BTA lanebyteclkperiod

Where:

  • tHS->LP = Time to enter LP mode
  • tLP->HS = Time to leave LP mode
  • tLPDT = D-PHY timing related to Escape mode entry, LPDT command, and Escape mode exit. This value is always 11 bits in Low-Power mode (or 22 TX escape clock cycles).
  • tlprd = Read command time in LP mode (64 * TX escape clock)
  • tread = Time to return the read data packet from the peripheral
  • tBTA = time to perform a bus turnaround (device D-PHY dependent)

It is recommended to keep the maximum number of bytes read from the peripheral to a minimum to have sufficient time available to issue the read commands in a line time.