11.2.2 MMC/SD Boot Mode
www.ti.com
ARM ROM Boot Modes
Table 11-3. NAND IDs Supported (continued)
Number of pages per
Bytes per page
Block shift value
Device ID
block
(including extra data)
(For address)
No. of address cycles
0xE6
16
512+16
12
3
0x39
16
512+16
12
3
0x6B
16
512+16
12
3
0x73
32
512+16
13
3
0x33
32
512+16
13
3
0x75
32
512+16
13
3
0x35
32
512+16
13
3
0x76
32
512+16
13
4
0x36
32
512+16
13
4
0x79
32
512+16
13
4
0x71
32
512+16
13
4
0x46
32
512+16
13
4
0x56
32
512+16
13
4
0x74
32
512+16
13
4
0xF1
32
2048+64
22
4
0xA1
64
2048+64
22
4
0xAA
64
2048+64
22
5
0xDA
64
2048+64
22
5
0xAC
64
2048+64
22
5
0xDC
64
2048+64
22
5
0xB1
64
2048+64
22
5
0xC1
64
2048+64
22
5
other
64
2048+64
22
5
If the value is BTSEL[1:0] from the BOOTCFG register is '10', the MMC/SD Boot mode will be executed.
The outline of operations followed in the MMC/SD mode is depicted in the figure below.
MMC/SD card needs to be powered on for boot up. After the boot up is finished, a GIO may be used as a
power switch to the MMC/SD card.
Initialization information, such as block size, is read from the CID and CSD registers of the MMC/SD
device. The CID and CSD registers of the MMC/SD device are read by the MMC/SD module in native
mode. All initialization and data transfers are done in native mode. SPI mode is not supported.
After performing the MMC/SD initialization sequence, the RBL searches for the UBL Descriptor starting in
block 0. If a valid UBL is not found in block 0, as determined by reading a proper UBL magic number, the
next block will be searched. Searching will continue for up to 24 blocks. This provision for additional
searching is made in case the first few consecutive blocks have errors. When a valid UBL descriptor is
found, the corresponding block number (from 1 to 24) shall be written to the last 32 bits of ARM internal
memory (0x7ffc-0x8000). This feature is provided as a basic debug mechanism. By reading these 32 bits
of memory, via JTAG for example, you can determine in which block the RBL found a valid UBL signature.
If no valid UBL signature is found after searching 24 blocks, MMC/SD boot will be tried.
The UBL descriptor, which gives the information required for loading and control transfer to the UBL, will
then be read and processed. Based on information in the UBL descriptor, the RBL may first enable
I-Cache operation. Once the user specified startup conditions are set, the RBL will copy the UBL into ARM
Internal RAM, starting at 0x0000:0020. Note that the actual copy will be done to the lower 30KB of the
TCM Data area: 0x10020 0x1781F.
SPRUFX7 – July 2008
Boot Modes
159