27.5.8 Access Priority

The PORT is accessed by the following systems:

  • The ARM® CPU through the ARM single-cycle I/O port (IOBUS)
  • The ARM CPU through the high-speed matrix and the AHB/APB bridge (APB)
  • EVSYS through four asynchronous input events

The CPU local bus (IOBUS) is an interface that connects the CPU to the PORT. It is a single-cycle bus interface supporting 8-, 16-, and 32-bit data sizes. It does not support wait states.

This bus is generally used for low-latency operation. The Data Direction (DIR) and Data Output Value (OUT) registers can be read, written, set, cleared or toggled using this bus, and the Data Input Value (IN) registers can be read.

Because the IOBUS cannot wait for the IN register resynchronization, the Control register (CTRL) must be configured to continuous sampling for all pins that need to be read through the IOBUS to prevent stale data from being read.

IOBUS writes are not prevented on Peripheral Access Controller (PAC) write-protected registers when the PORT module is PAC protected.

The following priority is adopted:
  1. ARM CPU IOBUS (no wait tolerated).
  2. APB.
  3. EVSYS input events, except for OUT events, in which the output pin follows the event input signal independently of the OUT register value.
Note: A one clock cycle latency may be observed on APB access in the case of concurrent PORT accesses.