DDR Configuration On Stm32Mp1 Series Mpus: Application Note
DDR Configuration On Stm32Mp1 Series Mpus: Application Note
Application note
Introduction
This document describes the procedure and steps needed to configure the DDR subsystem (DDRSS) on STM32MP1 Series
MPUs.
The DDRSS configuration is achieved by programming multiple parameters and settings in the DDR controller (DDRCTRL), the
PHY interface (DDRPHYC) and the SDRAM mode registers. These parameters are determined according to the DDR type, the
DDR size, the DRAM topology, the run time frequency and the SDRAM device datasheet parameters. All these parameters
must be programmed during the initialization sequence.
The STM32CubeMX DDR test suite uses intuitive panels and menus to hide the complexity associated with correct parameter
determination and initialization launching (refer to [6]). The configuration requires very few inputs from the user in order to
quickly set up DDRSS to run. Some advanced user modes and specific features may be used if they are important for the
application.
During the system bring-up phase, several PHY tunings are supported to optimize the timing margins. These tunings can be
launched using STM32CubeMX. The PHY tuning results can be saved and restored on a subsequent cold reset.
During the bring-up phase, the user can run extensive test suites. These tests may be launched using STM32CubeMX and are
used to verify the robustness of the DDR configuration.
References
1 General information
The DDR subsystem includes DDRCTRL and DDRPHYC (see the figure below).
DDRCTRL supports the DDR command scheduling during normal operation with scheduling of commands and
refreshes.
DDRPHYC is a DDR PHY with DFI interface [7] to DDRCTL and a byte lane architecture, suitable to interface
DDR3/3L and LPDDR2/3 up to 533 MHz.
DDRPHYC fully supports the DDR initialization with several PHY tuning options (built-in). DDRPYC includes a
BIST engine used to support software driven tuning.
DDR subsystem
CA lane
AXI port 0
APB
APB
Impedance
calibration DLL lock PHY initialization
Initialized PHY
SDRAM
intialization
RV training
Data eye
training
The overall configuration flow and parameters is highlighted in the figure below.
System parameters:
- DRAM type
- DRAM density
- Speed grade/bin
- Interface width
- Frequency
- Burst length
- Timing mode
DDRCTRL/
DDRPHYC
initialization
Timing parameters:
DRAM - Fundamental timings
datasheet - JEDEC core
- Secondary timings
The configuration parameters are described according to types in Section 3 Configuration parameters.
3 Configuration parameters
The DDR configuration parameters, whether applicable to DDRCTRL or DDRPHYC, are classified into the groups
listed below:
• System parameters: DDR type (DDR3/LPDDR2/3), bus width (16-bit/32-bit), clock frequency and density.
The burst length and timing mode are determined by the system configuration and set by STM32CubeMX,
presenting only a few required input to the user in the DDR configuration panel.
• Timings parameters, determined according to the DDR clock frequency and the SDRAM datasheet. This
group includes the following parameters:
– Fundamentals timings
– JEDEC Core timings
– Secondary timings
• Run mode and special parameters, related to performance scheduling, refresh timings and address
mappings. These parameters are selected from predefined sets as proposed to the user in the configuration
panel. Some parameters and options are prompted by the STM32CubeMX DDR configuration (for example
to set specific modes or extended temperature support).
• PHY tuning parameters, related to PHY timings determined during the initialization either using some PHY
built-in or software sequence executed. This group includes the following parameters:
– DQS gate training (DQSTRN)
– DQ lane bit deskew fine step delay
– DQS eye centering fine step delay
The PHY tuning results can be saved and restored by STM32CubeMx. Refer to [1] for more details.
• VPR: highest priority on timeout expiration, suitable for latency critical traffic
• LPR: lower priority, suitable for best effort traffic
For write, there are two classes listed below:
• VPW: highest priority on timeout expiration, suitable for latency critical traffic
• NPW: normal priority, suitable for best effort traffic
STM32CubeMX proposes predefined configurations aligned with port allocation and QoS settings of the AXI
interconnect (refer to [1] for more details).
The fixed number of QoS values per master is used by default. The AXI interconnect matrix (AXIM) maps all
masters to port 0, except LTDC to port 1 and master port QoS according to the table below.
Read/write QoS
Bus master Read/write Used port Default QoS Traffic class
region
MCU(1) Read/write 0 6
Latency critical 1
USBH Read/write 0 5
Best effort
SDMMC1 Read/write 0 4
SDMMC2 Read/write 0 4
GPU Read/write 0 3
Best effort 0
DAP Read/write 0 2
goes into the ‘expired-VPR/VPW’ state, whether time out occurs when transaction is in the AXI port queues
or in the CAM store.
• Port aging may be used to prevent port starvation in case the head of line blocks at AXI level. As this is not
expected, port aging is not used with the proposed configuration.
• Intelligent precharge policy may be used instead of open page policy for power saving.
Parameters and DDRCTRL registers are determined as shown in the tables below.
Note: QoS settings and scheduling control parameters are static and must be set during the configuration before
DDRCTRL is out of reset.
The DQS eye centering allows a fine step delay of each read DQS for optimal sampling of the aligned DQ data.
The results are displayed according to DDRPHYC.DXnDQSTR fields value.
The DQ bit deskew and DQS eye centering tuning must be launched multiple time on multiple boards and
eventually different environmental conditions in order to perform the following:
• Determine the optimal value of DQ and DQS fine step delays to be saved and restored for DXnDQTR and
DXnDQSTR registers for all boards.
• Spot any suspicious board layout design issue, according to the criteria listed below:
– The DQ fine step delays used for DQ bit deskew must be consistent, having almost the same stable
values within a byte lane, that is without difference more than one step (steps are 0,1,2,3 encoded as
nibble 0,5,A,F in respective bit fields from DXnDQTR).
– The DQS#/DQS fine step delays used for eye centering must be consistent, with almost the same
stable values withing a byte lane, that is without difference more than one step (steps are - 3 to + 4
encoded on 3 bits from 0 to 7 in respective bit fields from DXnDQSTR).
– The DQSTRN software must be launched multiple time on multiple boards and eventually in various
environmental conditions in order to spot any suspicious board issue. The SL and PS values can be
found in DXnDQSTR registers. Theses values must also be stable and consistent with no excessive
difference (typical values are SL = 1, PS = 3). There is a binary counter on SL, PS so SL = 2, PS = 0 is
the next phase after SL = 1,PS = 3.
– The built-in DQSTRN run at initialization, must provide the same values as the tuning software.
– The slave DLL phase can be stepped by 18 deg during the tuning. It is important that the centering
obtained after the tuning, brings the phase to 90 deg (can be verified in DXnDLLCR register).
5 DDR3/3L configuration
They are both referred as DDR3 in this document (refer to [2] for more details).
DDR3 is available in BGA with a 16-bit interface. The DDR tool is supporting configurations listed in the table
below.
DDR3 supported topologies are the following:
• 16-bit: single BGA in p2p, with density from 1 to 8 Gbits
• 32-bit: two BGA in fly-by topology, each die with density from 1 to 4 Gbits
The DDR frequency is set by the STM32CubeMX clock configuration and used by the DDR tool with the following
constraints:
• 300 MHz ≤ frequency ≤ 533 MHz (300 MHz is the DDR3 lower limit with DLL on)
• DDR3 DLL off with frequency ≤ 125 MHz
DDR-1066 has three speed bins, G/F/E, according to the STM32CubeMX DDR panel menu selection
(respectively 0/1/2).
The JEDEC speed grades and speed bins are used to select the closest match to DDR-1066 at frequency ≤ 533
MHz, and to get all the other JEDEC timing parameters. The user only needs to input the datasheet selector (0,1
or 2) in STM32CubeMx for the DRAM according to the table below.
By default, the datasheet selector 0 is selected with the conservative timings corresponding to 8-8-8 fundamental
triplet timing at 533 MHz.
The CL/CWL parameters are determined according to the frequency with the datasheet selector (0,1 or 2)
information according to the table below.
Datasheet
Frequency range (MHz)
selector
Several timing parameters may have a lower value than DDR-1066 and may be overridden in the DDR
configuration tool advanced parameters. However this has a marginal impact on performances. Propose defaults
parameters according to bin selection is usually sufficient.
0x0 -
0x1 120
0x2 96
0x3 80
0x4 69
0x5 60
0x6 52
0x7 46
0x8 40
0x9 37
0xA 34
0xB 32
0xC 30
0xD 28
0xE 26.5
0xF 25
0x0 t0 0x4 -
0x5 80
0x6 69
0x7 60
0x8 53
0x9 48
0xA 44
0xB 40
0xC 37
0xD 34
0xE 32
0xF 30
5.6.1 PHY
DDRPHYC features a ZCAL engine to adjust the SSTL I/O impedance to programmed values, relying on the
external RZQ = 240 Ω +/- 1 %.
ZCAL is automatically triggered during the initialization.
ZCAL can also be launched later by software. In addition DDRCTRL is supporting the DFI controller PHY update
that can be used to issue ZCAL at regular time intervals (or self-refresh exit).
The PHY impedances are programmed with ZPROG as detailed in Section 5.4 On-die-terminations (ODTs).
5.6.2 DRAM
The four impedances are calibrated as detailed below, relying on the external RZQ = 240 Ω ± 1 %:
• Driver pull-up or pull-down: two possible values, 34 Ω (default) and 40 Ω
• ODT pull-up or pull-down: multiple possible values (default = 60 Ω)
By default, the DDR tool uses the fast-exit mode (MR0[12] = 1) for lowest latency impact in case of automatic
power-down entry.
The relaxed timing mode is used to increment the core timings by 1 to improve timing margins. This must be done
in case of suspicious failures.
The register values for the above configuration are detailed in the tables below.
Table 11. DDRCTRL and DDRPHYC constant register values versus DDR3
6 LPDDR2 configuration
Caution: The configurations listed in the table above are LPDDR2-S4 with 8 banks. Lower density LPDDR2-S2 with four
banks are not supported by DDR tool.
LPDDR2 features the following:
• No ODT, no DLL and no reset pin
• CMOS I/O (DDRPHYC is configured with I/Os set in SSTL mode)
• 10-533 MHz continuous range operation
• Specific low-power features: PASR, temperature controlled self-refresh
• Per bank refresh (advanced user)
• MRR MR4 polling and refresh T derating (set by default)
• Deep power down (DPD) mode (as the LPDDR2 content is lost during DPD, this mode has very limited
interest and is not discussed hereafter)
Table 15. LPDDR2 output impedance versus MR3 bits (RZQ = 240 Ω ± 1 %)
0x0 Reserved
0x1 34.3
0x2 40 (default)
0x3 48
0x4 60
0x5 68.6
0x6 80
0x7 120
Others Reserved
For the signal integrity (SI) and to reduce overshoot with an unterminated interface, ZOUT = 48 Ω is
recommended.
The DDRPHYC I/O impedance is set according to DDRPHYC_ZQ0CR1.ZPROG as listed in table below.
0x0 to 0x4 -
0x5 80
0x6 69
0x7 60
0x8 53
0x9 48 (recommended)
0xA 44
0xB 40 (default)
0xC 37
0xD 34
0xE 32
0xF 30
6.6.2 At DDR
The LPDDR2 impedance calibration is initiated with the mode register (MR10) commands.
There are four ZQ calibration commands and related timings listed below:
• tZQINIT corresponds to the initialization calibration.
• tZQRESET is used for resetting ZQ to default setting. See the mode register 10 (MR10) for description on the
command codes.
• The ZQCL command is for long calibration. This command is used to perform the initial calibration during the
power-up initialization sequence. ZQCL is launched by DDRPHYC and may be also issued later by
DDRCTRL depending on system environment. ZQCL takes 256 clocks.
• The ZQCS command is for short calibration. This command may be used to perform periodic calibrations to
account for voltage and temperature variations. ZQCS is issued by DDRCTRL at regular time intervals and
takes 64 clocks.
Note: There are no bins with LPDDR2. A single set of timing parameters is selected (datasheet selector = 0). RL/WL
are automatically selected according to the frequency.
The PHY byte lanes are configured according to interface width as follows:
• 16-bit mode: byte lanes 0 /1 on and byte lane 2/3 off
• 32-bit mode: all four byte lanes on
The flexible address mapping of the system address to DDR B/R/C, is determined according to the density. The
user can select one of two following pre-defined options:
• R/B/C (row/bank/column, default) that uses the bank interleaving for slightly better performance with higher
power
• B/R/C (bank/row/column, default) that may improve power but worse performance in case of bank conflicts
The relaxed timing mode may be used to increment the core timings by 1 to improve timing margins. This must be
done in case of suspicious failures.
The values of AXI port mapping, the QoS settings and the DDRCTRL scheduler timeout are selectable from a
predefined sched/QoS parameter set within STM32CubeMX.
QoS type 2 is used by default and is applicable to most use cases with the following features:
• queue anti-starvation support
• three read traffic class (HPR/VPR/LPR)
• low timeout for VPR expiration
7 LPDDR3 configuration
LPDDR3 is supported like LPDDR2 with frequency ≤ 533 MHz and without ODTs.
LPDDR3 has a few restrictions versus LPDDR2: BL8 only and fewer ZOUT impedance settings.
Note: BL8 is mandatory for LPDDR3.
Refer to [4] for more details.
LPDDR3 has slight timing differences and RL/WL restrictions versus frequency. Furthermore, due to the higher
frequency support, LPDDR3 has some extended mode register values and several RL/WL restrictions at lower
frequency (for example RL=3/WL=1 support is optional).
LPDDR3 features the following:
• No DLL and no reset pin
• CMOS I/O (DDRPHYC is configured with I/Os set in SSTL mode)
• 10-533 MHz continuous range operation
• Specific low-power features: PASR, temperature controlled self-refresh
• Per bank refresh (advanced user)
• MRR MR4 polling and refresh T derating (set by default)
• Deep power down (DPD) mode (as the LPDDR2 content is lost during DPD, this mode has very limited
interest and is not discussed hereafter)
Note: Per JEDEC209-3C, LPDDR3 is available in 1-,2-,4-,6- and 8-Gbit density and above in x16 and x32. However
the existing LPDDR3 are a short subset of possible configurations. The most common configuration, 8-Gbit
density x32, is used as an example in the configuration tool.
STM32CubeMX is supporting an extensive DDR testing suite, launching selected tests either to verify the DDR
configuration robustness or to catch potential elusive errors. The tests are described in Section 8.1 . Different
causes and possible corrective actions are suggested for the failed tests in Section 8.2 and Section 8.3 . An
overall test flow is presented in Section 8.4 .
The software including the tests may be downloaded to SRAM and the execution is controlled from
STM32CubeMX.
An extensive on line information on test purpose, parameters, eventual restrictions and possible root cause of
failure are available in STM32CubeMX.
Verifies each data bus signal can be driven high at the given
1 Simple Databus Basic
address.
2 Databus Walking 0 Basic Verifies each data bus signal can be driven low.
3 Databus Walking 1 Basic Verifies each data bus signal can be driven high.
Verifies each address bus line in a memory region, by performing a
4 Address Bus Basic walking 1 test on the relevant address bits and checking for
aliasing.
Performs read/write over an entire memory region. Each data bit is
5 Mem Device Intensive
written and read back with 0 and 1 values.
Stresses the data bus over an address range by doing
Simultaneous Switching
6 Intensive simultaneous switching output. Writes a pseudo-random value and
Output
read it back.
7 Noise Intensive Verifies read/write while forcing switching of all data bus lines.
Verifies read/write while forcing switching of all data bus lines (test
8 Noise Burst Intensive
based on 8-word bursts).
9 Random Intensive Verifies read/write with a pseudo-random value on one region.
Stresses data bus by performing successive write 8-word burst
Frequency Selective Intensive with
10 operations using mostly zero/one patterns and frequency divider
Pattern stress
patterns (F/1, F/2, F/4) for 16 and 32 data bus width.
11 Block sequential
12 Checkerboard
13 Bit spread
Intensive Well known user-space memory tester adapted.
14 Bit flip
15 Walking ones
16 Walking zeroes
Performs an infinite read for a specific pattern (for debug and lab
17 Infinite read Basic
usage only, not visible).
Performs an infinite write access to DDR (for debug and lab usage
18 infinite write Basic
only, not visible).
Intensive with Runs level1 intensive tests with DDR clock increase by ~5% (up to
Any Overclocking
stress 30 MHz).
DQS timings margins Intensive with Runs level1 intensive tests with stepping of fine step DQ and DQS
Any
check stress delays.
End
The table below lists some features and modes that may be changed by an advanced user, with a brief
description of their relevance and applicability to DDR types. The register to use to modify default proposed by
STM32CubeMx can be found in [1].
Note: ASR/SRT option is supported by STM32CubeMX. The temperature derating with MR4 polling is set by default.
The non standard impedance and ODT are supported by STM32CubeMx.
Flexible address Almost any order of bits can be programmed for row/bank/column bit interleaving but no
Y Y an easy way to anticipate which setting is better. Tedious to determine the register bits.
mapping
The register settings need to be verified with the address boundary checking test
program.
Default QoS and port mapping set at AXI interconnect level
Custom QoS settings Y Y
A pick list of standard QoS settings is proposed.
Applicable when TCASE > 85 °C to double refresh rate
ASR/SRT Y N SRT direct software and ASR automatic based on DDR sensor SRT/ASR are exclusive
and controlled by the DDR3 mode register.
Applicable when TCASE > 85 °C to derate the refresh rate
Temperature derating N Y DDRCTRL supports the automatic polling of MR4. The polling rate can be set according
to the estimated T gradient. Use DERATEEN/DERATEINT register control. Set by default
for LPDDR2/3 with ~20 ms @400 MHz interval.
By default DDR3 ZQ = 40 and ODT = 60
Non standard ZQ and DDR3 ZQ may be set as 34 or 40 ohm. ODT may be off,120, 60 or 40. The DDR
Y N
ODT values impedance is changed by the mode register. DDRPHYC ZQ and ODT are controlled by
ZQ0CR0/1 registers ZPROG.
Non standard ODT By default DDR RTT_nom off and RTT_wr = 60. DDPHY dynamic ODT. It is not
Y N
scheme recommended to change these settings.
Fast/Slow PD exit Y N Current MR0[12] = 1. Fast exit mode (DDR3 DLL on during PD)
By default, ZQCL after SRX and ZQCS at regular intervals are both disabled. These two
features may be enabled in case of significant environmental (T) change that may cause
Auto ZCAL Y Y
ZQ being out of range (> +/-10%) during the mission mode or during the self-refresh
periods.
For DDRPHYC, ZCAL on self-refresh exit and ZCAL at regular interval may be managed
ZCAL on SRX Y Y by software but it is not required in usual conditions. Regular interval ZCAL may increase
the worse case system latency to DDR .
ASR1/HSR1 mode
DDRCTRL low-power counters can be used to transition to power-down (with or without
Low power modes Y Y clock stop) and to self-refresh after some idle time. The transition to DPD is also
supportable with LPDDR2/3 but not used because LPDDR2/3 content. Automatic self-
refresh ASR is applicable to DDR3. However, given the heuristic approach with ASR, it
may not bring significant power saving versus the software supported self-refresh (SSR).
DDRPHYC settings may be modified:
• PHY tunings: DQ/DQS fine step (supported by the tuning tool)
• ZCAL override
DDRPHYC custom
Y Y • Specific features and modes: DQS active gate (DQS gate closed on last DQS
settings
falling)
• Drift compensation
• DQS gate extension, fixed latency/ no bubble
Revision history
Contents
1 General information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 DDR subsystem initialization and configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1 DDRSS and SDRAM initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 DDRCTRL configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3 DDR configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.4 DDR PHY tuning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.5 DDR testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3 Configuration parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1 System parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2 Timing parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2.1 Fundamental timings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.6.2 DRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.6.2 At DDR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
List of tables
Table 1. Bus masters AXI port assignment and QoS value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Table 2. QoS and scheduling parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Table 3. QoS settings per AXI port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Table 4. DDRCTRL scheduling and performance control registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Table 5. DDR3 density and topologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Table 6. DDR3 datasheet index value according to speed grade/speed bin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Table 7. CL/CWL versus frequency and datasheet index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Table 8. ODT impedance versus ZPROG bits (RZQ = 240 Ω ± 1 % ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Table 9. Output impedance versus ZPROG bits (RZQ = 240 Ω ± 1 %) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Table 10. DDRCTRL and DDRPHYC timings register values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Table 11. DDRCTRL and DDRPHYC constant register values versus DDR3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Table 12. DDRCTRL address map register values for DDR3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Table 13. DDRCTRL QoS scheduling register values for DDR3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Table 14. LPDDR2 density and topologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Table 15. LPDDR2 output impedance versus MR3 bits (RZQ = 240 Ω ± 1 %) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Table 16. Output impedance versus ZPROG bits (RZQ = 240 Ω ± 1 %) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Table 17. Tests list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Table 18. Advanced user feature and parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Table 19. Document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
List of figures
Figure 1. DDR subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Figure 2. DDRPHYC initialization sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Figure 3. DDR initialization sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Figure 4. DDR test flow diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30