The CPO parameter in the TIMING_CFG_2 register indicates that this parameter is an override and the reference manual also seems to indicate that that this parameter (CAS-to-preamble) is calibrated automatically at POR. Is the CPO parameter required or is calibration automatic? What controls use of the CPO paramter vs the automatically calibrated POR value? Our design uses an MPC8610 and 64-bit DDR2 with ECC. If CPO is required, can the t_DLY_CHIP values from table 9 of AN2583 be provided for the MPC8610?
Solved! Go to Solution.
Those phrases are common for all devices with the same DDR controller, including ones with declared "automatic CAS to preamble calibration" feature. Unfortunately this feature was not too reliable, resulting in the following device errata:
Description: The automatic CAS to preamble calibration was added to simplify programming the memory controller. TIMING_CFG_2[CPO] with a value of 0b11111 sets the automatic calibration mode. Calibration fails at all frequencies and CAS latencies.
Impact: If this mode is used, the DDR controller can fail the calibration, which would lead to DDR failures.
Workaround: The automatic CAS to preamble calculation should not be used.
In case of the MPC8610 the feature was not even documented due to this reason. So again, CPO should be set by the user.
Regards,
Bulat
Thanks for the quick response. I'd overlooked the 8610 in Table 9.
Reference Manual rev, Section 8.4.1.15 says: "The DDR SDRAM initialization address register, shown in Figure 8-16, provides the address that is used for the data strobe to data skew adjustment and automatic CAS to preamble calibration after POR."
The RM also refers to Automatic Calibration Errors as being associated with the training sequence. Training sequences are usually used for read strobe/preamble calibration.
Those phrases are common for all devices with the same DDR controller, including ones with declared "automatic CAS to preamble calibration" feature. Unfortunately this feature was not too reliable, resulting in the following device errata:
Description: The automatic CAS to preamble calibration was added to simplify programming the memory controller. TIMING_CFG_2[CPO] with a value of 0b11111 sets the automatic calibration mode. Calibration fails at all frequencies and CAS latencies.
Impact: If this mode is used, the DDR controller can fail the calibration, which would lead to DDR failures.
Workaround: The automatic CAS to preamble calculation should not be used.
In case of the MPC8610 the feature was not even documented due to this reason. So again, CPO should be set by the user.
Regards,
Bulat
I do not see that the reference manual indicated something about automatic CAS-to-preamble calibration. Yes, CPO should be set by the user.
As I can see, table 9 of AN2583 (rev 11) provides t_DLY_CHIP values for the MPC8610.
Regards,
Bulat