Boot Operation for eMMC Card Device
The following figure illustrates the steps to perform the boot process for eMMC card devices. The detailed
steps are described following the flow chart.
Figure 11-14: Flow for eMMC Boot Operation
†
Start
Step 1
Step 2 to Step 10
Step 11
Step 12
expect_boot_ack = 1
expect_boot_ack = 0
Step 11.a
Step 11.b
Step 11.c
No Start
Pattern
Start Pattern & No
Boot Data Received
Start Pattern &
Boot Data Received
Step 12.a
Step 12.b
No Boot Data
Received
Boot Data
Received
Stop
Step 11.f
Successfully
Received Boot
Data
N
AC
Timeout
Successfully
Received Boot
Data
1. The software driver performs the following checks:
†
• If the eMMC card device supports boot operation (the BOOT_PARTITION_ENABLE bit is set to 1
in the EXT_CSD register of the eMMC card).
†
• The BOOT_SIZE_MULT and BOOT_BUS_WIDTH values in the EXT_CSD register, to be used
during the boot process.
†
2. The software sets the following bits:
†
• Sets masks for interrupts, by setting the appropriate bits to 0 in the
intmask
register.
†
• Sets the global
int_enable
bit of the
ctrl
register to 1. Other bits in the
ctrl
register must be
set to 0.
†
Altera recommends that you write 0xFFFFFFFF to the
rintsts
and
idsts
registers to clear
any pending interrupts before setting the
int_enable
bit. For internal DMA controller
mode, the software driver needs to unmask all the relevant fields in the
idinten
register.
†
Note:
3. If the software driver needs to use the internal DMA controller to transfer the boot data received, it must
perform the following steps:
†
SD/MMC Controller
Altera Corporation
cv_54011
Boot Operation for eMMC Card Device
11-62
2013.12.30