Hard Processor System Technical Reference Manual: Agilex™ 3 SoCs
5.8.7.4.3.1. Broadcast CCC Transfer in Master Mode
The programming flow for broadcast CCC transfer in master mode of I3C consists of different phases as shown in the figure below:
- The issue broadcast CCC command phase generates the command with the required broadcast CCC enabled.
Procedure:
The following settings are done for the Command and then written to the controller through COMMAND_QUEUE_PORT register.
The application has to write the following combination of the commands based on the required CCC, with or without data:
- Only transfer command, if the broadcast CCC does not have data.
- Transfer command with either Transfer Argument or SDAP, if the broadcast CCC consists of data.
The following are the required transfer command settings in the COMMAND_QUEUE_PORT register:
- Set CP bit to 1.
- Write CMD field with broadcast CCC.
- Set RnW bit to 1.
- Push data to transmit FIFO
The push data to transmit FIFO phase continuously fills the data to the transmit FIFO based on the command issued in COMMAND_QUEUE_PORT register.
Procedure:
The application pushes the data (in Word) to the Tx-FIFO based on the command issued to the COMMAND_QUEUE_PORT register.
The application can push the data in either of the following ways:
- PIO mode: The CPU can monitor the threshold status signal (INTR_STATUS[TX_THLD_STS]) and then push the data to the Tx-FIFO through TX_DATA_PORT.
- DMA mode: The DMA transfers the data as soon as I3C controller requests the DMA through the DMA signals (dma_tx_req, dma_tx_single).
- Check response status
The check response status phase detects the generation of response status and reads it to know the status of the issued transfer.
Procedure:
The INTR_STATUS[RESP_READY_STS] interrupt indicates the response available status and that you can read the available response from the RESPONSE_QUEUE_PORT register.