Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

ID 814346
Date 4/01/2024
Public
Document Table of Contents

5.8.7.1.1. Programming Threshold Control Registers

Set the following registers to program the threshold control registers:

  • Set the QUEUE_THLD_CTRL[CMD_EMPTY_BUF_THLD] register to the required value (for more information, see Register Description) to control the level of empty spaces in the Command Queue that are used by the controller to trigger the INTR_STATUS[CMD_QUEUE_READY_STS] interrupt.
  • Set the QUEUE_THLD_CTRL[RESP_BUF_THLD] register to the required value (for more information, see Register Description) to control the level of status/response entries in the Response Queue that are used by the controller to trigger the INTR_STATUS[RESP_READY_STS] interrupt.
  • Set the QUEUE_THLD_CTRL[IBI_DATA_THLD] register to the required value (for more information, see Register Description) which is used to chunk the incoming IBI and report as different statuses in the IBI queue to make sure the application can read the incoming IBI data in parallel with receiving the IBI Data from the slave.
  • Set the QUEUE_THLD_CTRL[IBI_STATUS_THLD] register to the required value (for more information, see Register Description) to control the number of IBI status entries (or greater) in the IBI queue that are used by the controller to trigger the INTR_STATUS[IBI_THLD_STS] interrupt.
  • Set the DATA_BUFFER_THLD_CTRL[TX_START_THLD] register to the required value (for more information, see Register Description) to control the start of the TX transfer on the I3C bus.
  • Set the DATA_BUFFER_THLD_CTRL[RX_START_THLD] register to the required value (for more information, see Register Description) to control the start of RX transfer on the I3C bus in master mode, and control the ACK response for a read command on the I3C bus in slave mode.
  • Set the DATA_BUFFER_THLD_CTRL[TX_EMPTY_BUF_THLD] register to the required value (for more information, see Register Description) to control the level of empty spaces in the TX FIFO that are used by the controller either to trigger the INTR_STATUS[TX_THLD_STS] interrupt in the PIO mode or to trigger the DMA handshake interface of the TX FIFO in DMA mode.
  • Set the DATA_BUFFER_THLD_CTRL[RX_BUF_THLD] register to the required value (for more information, see Register Description) to control the level of RX data entries in the RX FIFO that are used by the controller either to trigger the INTR_STATUS[RX_THLD_STS] interrupt in the PIO mode or to trigger the DMA handshake interface of the RX FIFO in DMA mode.
  • Set the QUEUE_THLD_CTRL[CMD_EMPTY_BUF_THLD] register, set the CMD_EMPTY_BUF_THLD and RESP_BUF_THLD fields to specific values (for more information, see Register Description) to control the level of entries that are used by the controller either to trigger the CMD_QUEUE_READY_STAT and RESP_READY_STAT interrupts respectively in the PIO mode or to trigger the DMA handshake interface in DMA mode.
  • For DATA_BUFFER_THLD_CTRL register, set the TX_START_THLD, TX_EMPTY_BUF_THLD, and RX_BUF_THLD fields to specific values (for more information, see Register Description) to control the level of entries that trigger the TX_THLD_STS interrupt and RX_THLD_STS interrupt respectively.