GT-64260A Design Guide
Doc. No. MV-S300165-00, Rev. A
CONFIDENTIAL
Copyright © 2002 Marvell
Page 42
Document Classification: Proprietary Information
May 21, 2002, Preliminary
5.
To clear the ECC error report, write 0x0 to the SDRAM Error Address register’s
ErrType
bits [1:0],
at offset: 0x490.
6.
Use the I
2
C interface to detect the memory size, type, and number of physical banks. It is also pos-
sible to detect the memory size by opening the SDRAM memory space to the maximum (each SCS*
at a time) and the check memory aliasing. To use this method, the detection code must not use the
SDRAM (instruction and data) and the ECC must be disabled.
7.
Perform 64-bit or burst write transactions to all of the memory space. It is recommended to use
IDMA engines to shorten the initialization sequence (e.g., copy the SDRAM to itself and use a data
transfer limit of 128B).
8.
Set to a value other than ’0’ (depending on the SW architecture) the
ErrProp
bit [9] and the
ThrEcc
bits [23:16] in the SDRAM ECC Control register. This enables the ECC interrupt to be gen-
erated and/or propagates the error to other interfaces.
For example, the GT-64260A evaluation platform (EV-64260A-BP) DINK32 monitor ECC initialization sequence
for various SDRAM sizes is as follows. The example code for the ECC initialization is found in
1.
While running from the boot device, enable the ECC by setting the
ECCEn
bit [13] to ’1’.
2.
Use the IDMA engines, with DTL of 8B, to copy the boot code to the SDRAM from the boot device. It is impor-
tant to use DTL = 8 Bytes to prevent the GT-64260A from performing a Read Modify Write to the SDRAM
before the ECC initialization. The DTL cannot be set to larger values since the boot device is 8-bits wide.
3.
Confirm that there is enough memory space with initialized ECC for the stack.
4.
Run code from SDRAM to detect all the memory space (detection though the I
2
C interface).
5.
Initialize the ECC bank to all the memory space by using the IDMA with DTL of 8B.
Note
The Error Address register’s bits [31:2], at offset 0x490, are cleared by reading the register. The register
will not latch a new address before it is cleared.
4.6
Memory Banks and Pages
The GT-64260A supports both physical banks (SCS[3:0]*) and virtual banks (BankSel[1:0]).
Interleaving is supported between all 16 banks (4 physical * 4 virtual). The physical interleaving is enabled by set-
ting the SDRAM Configuration register’s
PhInterEn
bit [15], at offset: 0x448 to ‘0’. The virtual interleaving is
enabled by setting
VinterEn
bit [14] in the same register to ‘0’. Both interleaving methods are enabled by default
after reset de-assertion.
Note
The GT-64260A only supports two virtual banks interleaving with 16 Mbit SDRAM devices since it has only
a single bank select pin (BankSel[0]).
The figure below shows the bank interleaving between two reads from different virtual banks.