When an error occurs in the GPMC, the error
information is stored in the GPMC_ERR_TYPE register and the address of the illegal
access is stored in the GPMC_ERR_ADDRESS register. The GPMC keeps only the first
error abort information until the GPMC_ERR_TYPE register is reset. Subsequent
accesses that cause errors are not logged until the error is cleared by hardware
with the GPMC_ERR_TYPE[0] ERRORVALID bit.
- ERRORNOTSUPPADD occurs when an incoming system request address decoding does not match any valid chip-select region, or if two chip-select regions are defined as overlapped, or if a register file access is tried outside the valid address range of 1KB.
- ERRORNOTSUPPMCMD occurs when an unsupported command request is decoded at the interconnect interface.
- ERRORTIMEOUT: A time-out mechanism prevents the
system from hanging. The start value of the 9-bit time-out counter is defined in
the GPMC_TIMEOUT_CONTROL register and enabled with the GPMC_TIMEOUT_CONTROL[0]
TIMEOUTENABLE bit. When enabled, the counter starts at start-cycle time until it
reaches 0 and data is not responded to from memory, and then a time-out error
occurs. When data are sent from memory, this counter is reset to its start
value. With multiple accesses (asynchronous page mode or synchronous burst
mode), the counter is reset to its start value for each data access within the
burst.
The GPMC does not generate interrupts on these errors. An interrupt generation is handled at interconnect level.