To ensure a correct, fast external boot (see Fast External Booting, in Initialization) with a GPMC
access on device reset, several pins are sampled:
- The "sysboot0" through "sysboot5" pins (device
boundary) define the sequence of interfaces and devices to use for booting (i.e.
SYSBOOT[5:0] vector). They are sampled by the control module at reset and used
later by the device ROM code. For more information, see Sysboot
Configuration, in Initialization.
- Additional pins are used to configure reset
values in the GPMC_CONFIG1_i register (where i = 0) as explained in the
following and in Table 15-423:
- The bootdevicesize
input pin (at the GPMC boundary) defines the size of the attached device
on chip-select 0 (CS0) and is used to configure the
GPMC_CONFIG1_i[13:12] DEVICESIZE bit field (where i = 0). The
BOOT_DEVICE_SIZE signal is propagated from the device Control Module.
Its value 0b0 (8-bit memories) or 0b1 (16-bit memories) can be
externally determined upon booting by user hardware via the
device external input signal - "sysboot13".
- The cs0muxdevice
input pin (at the GPMC boundary) selects whether or not the device
attached to CS0 is an address/data-multiplexed device. The input pin is
used to configure the GPMC_CONFIG1_i[9:8] MUXADDDATA bit field (where i
= 0). The CS0_MUX_DEVICE[1:0] signal is propagated from the Control
Module. Its value 0x0 (non-muxed memory attached) or 0x2
(Addr-Data Mux memory attached) can be externally determined
upon booting by user hardware via combining the device external
input signals - "sysboot12" and "sysboot11", i.e. SYSBOOT[12:11].
- The bootwaiten
input pin (at the GPMC boundary) enables the monitoring on CS0 of the
wait pin at device reset release time for read accesses. The input pin
is used to configure the GPMC_CONFIG1_i[22] WAITREADMONITORING bit
(where i = 0). The BOOT_WAIT_EN signal is propagated from the Control
Module. Its value 0x0 (wait pin is not monitored for read
accesses) or 0x1 (wait pin is monitored for read
accesses) can be externally determined upon booting by user
hardware via the device external input signal -
"sysboot10".
Note: If WAIT pin monitoring function is enabled upon booting (i.e. BOOT_WAIT_EN="1"), the default (power-on-reset) monitored input for CS0 is always the device gpmc_wait0 input.
Table 15-423 Boot Control Interface Input Signals Description| Signal Name | Width | Description |
|---|
| BOOT_DEVICE_SIZE | 1 | Size of the device attached on CS0 0b00: 8-bit 0b01: 16-bit 0b10: Reserved (not used) 0b11: Reserved (not used) |
| CS0_MUX_DEVICE | 2 | Multiplexing mode of the device on CS0 0b00: Nonmultiplexed device on CS0 0b01: AAD-multiplexed device on CS0 (address-address-data) 0b10: Address/data-multiplexed device on CS0 0b11: Reserved |
| BOOT_WAIT_EN | 1 | Wait monitoring on CS0 at device reset release time for read accesses 0: Wait pin is not monitored 1: Wait pin is monitored |
CAUTION: Using the internal boot code, the entire CS0
configuration can be modified before the first CS0 access. For more information,
see Memory Booting, and Image Format, in Initialization.
This modification of internal boot code is necessary for two external
devices:
- NAND device attached to CS0
- Nonmultiplexed memory device attached to CS0
At reset time, the device can boot from the internal ROM.
The reset values of the timing control parameters are defined to cope with direct boot on address and data-multiplexed NOR flash devices, nonmultiplexed NOR flash devices, or any asynchronous device with large timing margins, assuming a low GPMC_FCLK frequency (for example, 19.2 MHz) at boot time.
For a multiplexed access, the address 16 low-order bits are presented onto gpmc_ad[15:0], while the high-order bits are presented onto gpmc_a[26:16]. If the external chip interface to the memories uses a 16-bit data bus, the high-order address bits are sampled on the address bus.
The reset values of timing parameters used at boot time are:
- CSONTIME = 1
- CSRDOFFTIME = 16
- ADVONTIME = 4
- ADVRDOFFTIME = 5
- OEONTIME = 6
- OEOFFTIME = 16
- RDACCESSTIME = 15
- RDCYCLETIME = 17
For an AAD-multiplexed access, all address bits are passed onto the data bus using two nADV rising edges. The first rising edge latches the address most-significant bit (MSB) down to bit 17, while the second rising edge latches address bits 16 down to 1. This configuration is only used for 16-bit memories.
The reset values of these timing parameters used at boot time are:
- ADVAADMUXONTIME = 1
- ADVAADMUXRDOFFTIME = 2
- OEAADMUXONTIME = 1
- OEAADMUXOFFTIME = 3