User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 331
UG585 (v1.11) September 27, 2016
Chapter 11: Static Memory Controller
TIP: For power management, the clock enable in the slcr register can be used to turn off the clock. The
operating frequency for the reference clock is defined in the data sheet. (Clock gating is used to stop the
clock to save power.)
11.2.3 Resets
The controller has two reset inputs that are controlled by the reset subsystem; refer to Chapter 26,
Reset System. This SMC CPU_1x reset is used for the AXI and APB interfaces. The SMC_Ref reset is for
the FIFOs and the rest of the controller including the control and status registers.
11.2.4 ECC Support
User code can determine if the NAND device includes on-chip ECC or not by reading the
manufacturer and device ID's in the flash device. The supported boot devices are listed in Xilinx
AR50991
. The vendor specifications for NAND device should be reviewed for ECC support. On-chip
ECC errors are flagged using the NAND Interrupt.
When a flash device does not support on-chip ECC, then the 1-bit ECC unit in the SMC controller can
be used. Refer to ARM PrimeCell Static Memory Controller (PL350 series) Technical Reference Manual,
Revision r2p1 for programming information. ECC errors detected by the SMC controller are flagged
with the ECC Interrupt.
When programming NAND, the SMC controller adds an inversion of the ECC code if the number of
ones (bits=1) in the ECC block (512 bytes = 4096 bits) is odd. To match the hardware behavior,
software should add an inversion of the ECC code if the number of ones (bits=1) in the ECC block
(512 bytes = 4096 bits) is even.
11.2.5 Interrupts
The controller includes three interrupt sources. These interrupts are controlled by the
smc.MEMC_STATUS register. When enabled, the interrupt generates the IRQ ID # 50 signal to the
system interrupt controller.
NAND ECC is triggered by SMC ECC logic.
NAND Interrupt is triggered on the rising edge of the NAND_BUSY input pin on MIO.
SRAM Interrupt is triggered on the rising edge of the EMIOSRAMINTIN signal from PL.
The source of the interrupt is determined by reading the smc.MEMC_STATUS register.
Table 11-2: SMC Clocks and Resets
Clock Resets Clock Domain Description
CPU_1x CPU_1x
Interconnect
domain
This clock runs at 1/6
th
or 1/4
th
the CPU clock rate depending on
the CPU clock mode. To stop this clock, first put the SMC is in
low-power mode.
SMC_Ref SMC_Ref SMC domain This clock is used to control the I/O memory interfaces.