8.4.4.3 Gate Keeper

The gate keeper is used to suspend processing transactions immediately before changing region settings. The gate keeper functionality is implemented on each filter unit to permit or block bus accesses progressing through the filter unit. See Changing the Configuration On-the-Fly.

Each gate keeper provides a control bit for each filter in the Gate Keeper register (TZC_nnn_GATE_KEEPER), TZC_nnn_GATE_KEEPER.OPEN_REQUESTx, where x is the filter unit number. This bit enables software to request the gate to open or close. A status bit, TZC_nnn_GATE_KEEPER.OPEN_STATUSx, is also provided for each filter unit. This bit indicates whether the gate is open or closed. See TZC_SYS_GATE_KEEPER and TZC_CPU_GATE_KEEPER.

All TZC_nnn_GATE_KEEPER.OPEN_REQUEST control bits default to zero at reset. To request access through a filter unit, the corresponding bit TZC_nnn_GATE_KEEPER.OPEN_REQUEST must be written to 1. When set, the corresponding TZC_nnn_GATE_KEEPER.OPEN_STATUS transitions to 1 and then the gate keeper permits accesses to pass through. To request gate closure of a filter unit, the corresponding bit TZC_nnn_GATE_KEEPER.OPEN_REQUEST must be written to 0. When the gate is closed, the filter unit no longer permits any new bus access to progress to the filter unit. It also waits for all outstanding accesses that have already entered the filter unit to complete. This includes both those currently progressing through the filter unit and those already issued by the filter unit.

Note:
  1. The register TZC_nnn_GATE_KEEPER shows the gate of any filter unit as closed if that filter unit is currently in a low-power state. This only applies if the automatic clock gating is enabled and is irrespective of the programmed state of TZC_nnn_GATE_KEEPER. The programmed state stored in the control unit is restored when the filter unit exits from a low-power state.