NUC970 Technical Reference Manual
Publication Release Date: Dec. 15, 2015
- 837 -
Revision V1.30
NUC97
0
T
E
CHNIC
A
L
RE
F
E
RE
N
CE
MA
NUA
L
5.25.3 Block Diagram
A
H
B
I
n
te
rf
a
c
e
Bus
Interface
Unit
Control, Status
Register
DMA
Controller
NAND Flash
Controller
eMMC
Controller
FIFO
eMMC_CLK
eMMC_CMD
eMMC_DATA[7:0]
NAND_nCS0
NAND_nWP
NAND_ALE
NAND_CLE
NAND_nWE
NAND_nRE
NAND_RDY
NAND_DATA[7:0]
Figure 5.25-1 FMI Block Diagram
5.25.4 Basic Configuration
Before using Flash Memory Interface
, it’s necessary to configure related pins as the NAND/eMMC
function and enable FMI
’s clock.
For NAND/eMMC related pin configuration, please refer to the register SYS_MFP_GPBL,
SYS_MFP_GPCL, SYS_MFP_GPCH, SYS_MFP_GPGL, SYS_MFP_GPIL and SYS_MFP_GPIH to
know how to configure related pins as the NAND/eMMC function.
Set both FMI (CLK_HCLKEN[20]) and NAND (CLK_HCLKEN[21]) high to enable clock for NAND flash
controller operation while set FMI (CLK_HCLKEN[20]), NAND (CLK_HCLKEN[21]) and eMMC
(CLK_HCLKEN[22]) high to enable clock for eMMC controller operation.
Here is a simple example programming flow without DMA Scatter-Gather enable.
1.
Set DMACEN (FMI_DMACTL[0]) to enable DMAC.
2.
Fill corresponding starting address in FMI_DMASA for FMI.
3.
Enable IP to start DMA transfer.
4.
Wait IP finished, DMAC doesn
’t need to be took care by software.
Here is a simple example programming flow with DMA Scatter-Gather enable.