4 Reprogramming the CATU

You might have to reprogram the CATU.

To reprogram the CATU:

  1. Set CONTROL.ENABLE = 0 to disable the CATU.
  2. Wait until STATUS.READY == 1.
  3. Change the scatter list in system memory, if necessary.
  4. Reconfigure the registers that are shown in Initializing the CATU.
  5. Set CONTROL.ENABLE = 1 to enable the CATU.

When CONTROL.ENABLE is changed from 0 to 1:

  • The scatter list walker is initialized.
  • The TLB is initialized.
  • When the CATU is in Translate mode, STATUS.AXIERR and STATUS.ADRERR are cleared.

When CONTROL.ENABLE is changed from 1 to 0:

  • The addrerr interrupt signal is cleared.
  • The AXI Slave interface returns an error response for any incoming transaction.
  • The Address pipeline is drained.
  • The CATU waits for all outstanding AXI transactions on the AXI Master interface to complete, but ignores all received responses.
  • The TLB is cleared.
  • STATUS.READY is set to 1 when the following are both true:
    • There are no outstanding AXI transactions.
    • There are no ongoing translations, translation requests, or TLB updates.

Note:

The AXI Slave interface returns an error response for any incoming transaction until CONTROL.ENABLE == 1.
Non-ConfidentialPDF file icon PDF version100806_0300_00_en
Copyright © 2017, 2018 Arm Limited or its affiliates. All rights reserved.