4.2.5 SAMA5D24/BGA256/LPDDR1-SDRAM Software Settings
The SAMA5D24/BGA256/LPDDR1-SDRAM set is part of a larger test board built on an 8-layer PCB. The board features a SAMA5D24/BGA256 MPU and two 256-Mbit ISSI LPDDR1-SDRAM devices (Part No.: IS43LR16160G-6BLI). The DDR clock runs at 166 MHz.
Field | Description | Setting | Setting Details |
---|---|---|---|
MD | Memory Device | 3 | LPDDR1-SDRAM |
DBW(1) | Data Bus Width | 0 | Data bus width is 32 bits |
Field | Description | Setting | Setting Details |
---|---|---|---|
NC | Number of Column Bits | 1 | 9 bits to define the column number |
NR | Number of Row Bits | 2 | 13 bits to define the row number |
CAS | CAS Latency | 3 | LPDDR1 CAS Latency 3 |
DLL | Reset DLL | (unchanged) | Used only during power-up sequence |
DIC_DS | Output Driver Impedance Control (Drive Strength) | (unchanged) | Not available for LPDDR1-SDRAM |
DIS_DLL | Disable DLL | (unchanged) | Not available for LPDDR1-SDRAM |
ZQ | ZQ Calibration | (unchanged) | Not available for LPDDR1-SDRAM |
OCD | Off-chip Driver | (unchanged) | Not available for LPDDR1-SDRAM |
DQMS | Mask Data is Shared | 0 | DQM is not shared with another controller |
ENRDM | Enable Read Measure | 0 | DQS/DDR_DATA phase error correction is disabled |
LC_LPDDR1 | Low-cost Low-power DDR1 | 0 | Any LPDDR1 density except 2 banks |
NB | Number of Banks | 0 | 4 banks |
NDQS | Not DQS | (unchanged) | Not available for LPDDR1-SDRAM |
DECOD | Type of Decoding | 0 | Sequential |
UNAL | Support Unaligned Access | 1 | Unaligned access is supported |
Field | Description | Setting(2) | Setting Details |
---|---|---|---|
TRAS | Active to Precharge Delay | 42 ns | – |
TRCD | Row to Column Delay | 18 ns | – |
TWR | Write Recovery Delay | 15 ns | – |
TRC | Row Cycle Delay | 60 ns | – |
TRP | Row Precharge Delay | 18 ns | – |
TRRD | Active BankA to Active BankB | 12 ns | – |
TWTR | Internal Write to Read Delay | 1 ck | – |
TMRD | Load Mode Register Command to Activate or Refresh Command | 2 ck | – |
Field | Description | Setting(2) | Setting Details |
---|---|---|---|
TRFC | Row Cycle Delay | 70 ns | – |
TXSNR | Exit Self-refresh Delay to Non-Read Command | 120 ns | – |
TXSRD | Exit Self-refresh Delay to Read Command | 120 ns | – |
TXP | Exit Power-down Delay to First Command | 1 ck | – |
Field | Description | Setting(2) | Setting Details |
---|---|---|---|
TXARD | Exit Active Power-down Delay to Read Command in Mode “Fast Exit” | (unchanged) | Not available for LPDDR1-SDRAM |
TXARDS | Exit Active Power-down Delay to Read Command in Mode “Slow Exit” | (unchanged) | Not available for LPDDR1-SDRAM |
TRPA | Row Precharge All Delay | (unchanged) | Not available for LPDDR1-SDRAM |
TRTP | Read to Precharge | 2 ck | – |
TFAW | Four Active Windows | (unchanged) | Not available for LPDDR1-SDRAM |
Field | Description | Setting | Setting Details |
---|---|---|---|
SHIFT_SAMPLING | Shift Sampling Point of Data | 1 | Sampling point is shifted by one cycle |
Field | Description | Setting | Setting Details |
---|---|---|---|
RDIV | Resistor Divider, Output Driver Impedance | 4 | LPDDR1 serial impedance line = 52 ohms |
TZQIO | IO Calibration | 101 | TZQIO = (DDRCK × 600e-9) + 1 |
EN_CALIB | Enable Calibration | 1 | Calibration is enabled |
Field | Description | Setting | Setting Details |
---|---|---|---|
COUNT(3) | MPDDRC Refresh Timer Count | 1297 | Value needs to be computed |
ADJ_REF | Adjust Refresh Rate | (unchanged) | Not available for LPDDR1-SDRAM |
REF_PB | Refresh Per Bank | (unchanged) | Not available for LPDDR1-SDRAM |
- If using one 32-bit data bus width SDRAM device or two 16-bit devices, set the Data Bus Width to 32 bits (DBW = 0). If only one 16-bit data bus width SDRAM device is used, set the Data Bus Width to 16 bits (DBW = 1).
- If timing values are given in
nanoseconds, they must be converted in clock cycles and rounded up.
tCYCLES = tns/tCK, where tCYCLES is
the timing value in clock cycles, tns is the timing value in nanoseconds
and tCK is the DDR clock period.
Eg: If fCK = 166 MHz, then tCK = 1/fCK = 6 ns
If tns = 35 ns, then tCYCLES = 35/6 = 6 clock cycles
- The value in the COUNT field needs to
be computed.
COUNT = tREFI/tCK
For tREFI = 7.8 μs and tCK = 6 ns results in COUNT = 1300
tREFI can also be calculated if the Refresh Window [ms] and Refresh Cycles are given (in the SDRAM data sheet).
tREFI [μs] = (Refresh Window [ms]/Refresh Cycles)*fCK [MHz]*1000
If Refresh Window = 64 ms, Refresh Cycles = 8192 and fCK = 166 MHz,
then COUNT = (64/8192)*166*1000 = 1297
Register Name | Register Address | Contents Value |
---|---|---|
MPDDRC_MD | 0xF000C020 | 0x00000003 |
MPDDRC_CR | 0xF000C008 | 0x00800539 |
MPDDRC_TPR0 | 0xF000C00C | 0x2123A337 |
MPDDRC_TPR1 | 0xF000C010 | 0x0114140C |
MPDDRC_TPR2 | 0xF000C014 | 0x00082322 |
MPDDRC_RD_DATA_PATH | 0xF000C05C | 0x00000001 |
MPDDRC_IO_CALIBR | 0xF000C034 | 0x00876514 |
MPDDRC_RTR | 0xF000C004 | 0x00000511 |