31.2.6.2 CTRLA SFR Description
The CTRLA fields can be changed at anytime, provided the FCR is not write protected. New wait state values are used on the next flash read. RDBUFWS changes are used on the next update to the associated read buffer. A new arbitration value is used at the next available arbitration cycle on a per panel basis.
The Register values for CTRLA are discussed below.
ARB - AHB Arbitration scheme (conditional)
ARB controls read requester arbitration to the Flash. Requesters include each AHB interface (numbered 0 to 3) and the CRC Finite State Machine. The main CPU always uses AHB0 to access the Flash. FCW requests take precedence over read requests. Arbitration is per Flash panel.
When ARB = 0, round-robin arbitration is used for all read requests to the Flash. When ARB = 1, fixed arbitration is used for all reads to the Flash. In this mode, AHB0 has the highest priority followed by AHB1, etc., and CRC has lowest priority.
RDBUFWS[3:0] - Read Buffer Wait States
The RDBUFWS field controls the determinism of accesses from the read buffer. Each bit corresponds to an AHB Interface n, n= 0 to 3 When RDBUFWS[n] = 0, the associated AHB interface returns data from the read buffer in zero wait states. When RDBUFWS[n] = 1, the associated AHB interface returns data with wait states to match the flash access of ADRWS+FWS such that the initiator see a constant access time.
The setting of RDBUFWS[n] is ignored when AUTOWS = 1. For this case, all data is returned from the read buffer with zero wait states.
For devices with a flash cache, RDBUFWS[n] applies to its interface only if the cache is disabled.
Accesses to the flash from debug mode are completed via the read buffer.
AUTOWS - Automatic Wait State Enable
The AUTOWS field controls the use of automatic wait state for the Flash access time (Taws). This is useful when varying clock frequencies.
When AUTOWS=1, the total Flash wait states are ADRWS+Taws. When AUTOWS=0 the total Flash wait states are ADRWS+FWS. Non-CPU ports may incur an extra wait state. Note that the bus may add pipeline delays to either the address phase or the data phase.
ADRWS - Address Wait State Enable
The ADRWS field controls the number of extra clock cycles for address setup to the Flash memory. The Address wait state occurs before requesting arbitration, so it is in between the bus and the request to Flash. In most systems, the path starts at the initiator of the request.
When ADRWS = 0, no extra cycle clocks are added to address setup. When ADRWS = 1, one extra clock is added to address setup. ADRWS only affects AHB interfaces. It does not affect internal read requests such as from CRC logic if present.
FWS[3:0] - Flash Access Time Wait States (Defined in terms of AHB Clocks)
The FWS[3:0] field controls the number of extra clock cycles it takes to access the Flash memory and provide data back (to the bus or internal requester). The number of wait states needed is typically Taws/System Clock Period (or AHB Clock Period) rounded up to the nearest integer. If ECC is enabled an extra wait state may be needed. Each device characterizes and states the frequency range for each wait state selection and for ECC on/off. See FLASH CHARACERIZATION.
PRIV - Privileged Access Only (conditional)
The PRIV field determines if the FCR module accepts all accesses or only privileged accesses. It is set to privileged (1) by default.