Architecture
852
SPRUH82C – April 2013 – Revised September 2016
Copyright © 2013–2016, Texas Instruments Incorporated
External Memory Interface A (EMIFA)
19.2.5.2 Accessing Larger Asynchronous Memories
The device has a limited number of dedicated EMIFA address pins, enough to interface directly to an
SDRAM. If a device such as an asynchronous flash needs to be attached to the EMIFA, then GPIO pins
may be used to control the flash device’s upper address lines. This is sufficient to boot from the flash.
Normally, code stored in flash is copied into SDRAM or internal memory before executing because these
memories have much faster access times. For details on which device pins are GPIO capable, see your
device-specific data manual.
The ROM bootloader can load a secondary bootloader from an attached asynchronous device. The ROM
bootloader assumes that any GPIO pins used to control the upper address lines of the boot flash will be
pulled to 0 after reset. This means that normally the GPIO pins selected for this function will be either
spare or used as outputs only by the application, and therefore can be pulled to 0 at reset with an external
pulldown resistor. The GPIO pins chosen should be tri-stated by default on device reset. For details on
which GPIO-capable pins are tri-stated on device reset, see your device-specific data manual.
When booting from flash, the ROM bootloader copies a board-specific secondary bootloader from the
lower portion of the flash, so it does not need to manipulate the upper address lines. Only the secondary
bootloader, which is board-specific and is stored in the external flash, needs to know which GPIO pins
have been assigned to the function of upper address lines. Therefore, the secondary bootloader can
perform the task of configuring the selected pins as GPIO and loading the remainder of the code from the
upper flash memory.
19.2.5.3 Configuring the EMIFA for Asynchronous Accesses
The operation of the EMIFA's asynchronous interface can be configured by programming the appropriate
register fields. The reset value and bit position for each register field can be found in
, but the
Boot ROM documentation should be consulted to determine if the fields are programmed during boot. The
following tables list the register fields that can be programmed and describe the purpose of each field.
These registers can be programmed prior to accessing the external memory, and the transfer following a
write to these registers will use the new configuration.
(1)
The EMA_WAIT pin is not available on all devices; therefore, this field is reserved on those devices.
Table 19-15. Description of the Asynchronous m Configuration Register (CEnCFG)
Parameter
Description
SS
Select Strobe mode.
This bit selects the EMIFA's mode of operation in the following way:
• SS = 0 selects Normal Mode
–
EMA_WE_DQM pins function as byte enables
–
EMA_CS[5:2] active for duration of access
• SS = 1 selects Select Strobe Mode
–
EMA_WE_DQM pins function as byte enables
–
EMA_CS[5:2] acts as a strobe.
EW
Extended Wait Mode enable.
• EW = 0 disables Extended Wait Mode
• EW = 1 enables Extended Wait Mode
When set to 1, the EMIFA enables its Extended Wait Mode in which the strobe width of an access
cycle can be extended in response to the assertion of the EMA_WAIT pin
(1)
. The WP
n
bit in the
asynchronous wait cycle configuration register (AWCC) controls to polarity of EMA_WAIT pin.
Extended Wait Mode should not be used while in NAND Flash Mode. See
for
more details on this mode of operation.
W_SETUP/R_SETUP
Read/Write setup widths.
These fields define the number (n) of EMIFA clock cycles of setup time for the address pins
(EMA_A and EMA_BA), byte enables (EMA_WE_DQM), and asynchronous chip enable
(EMA_CS[5:2]) before the read strobe pin (EMA_OE) or write strobe pin (EMA_WE) falls. This
value should be encoded as n - 1, where n is the number of EMIFA clock cycles. For example,
when W_SETUP = 2, then write setup width = 3 EMA_CLK cycles. For writes, the W_SETUP field
also defines the setup time for the data pins (EMA_D). Refer to the datasheet of the external
asynchronous device to determine the appropriate setting for this field.