mirror of
https://xff.cz/git/u-boot/
synced 2025-09-01 00:32:04 +02:00
driver/ddr/fsl: Add address parity support for DDR4 UDIMM/discrete
Add support of address parity for DDR4 UDIMM or discrete memory. It requires to configurate corresponding MR5[2:0] and TIMING_CFG_7[PAR_LAT]. Parity can be turned on by hwconfig, e.g. hwconfig=fsl_ddr:parity=on. Signed-off-by: Shengzhou Liu <Shengzhou.Liu@nxp.com> Reviewed-by: York Sun <york.sun@nxp.com>
This commit is contained in:
@@ -123,6 +123,7 @@ typedef struct ddr4_spd_eeprom_s generic_spd_eeprom_t;
|
||||
|
||||
#define SDRAM_CFG2_FRC_SR 0x80000000
|
||||
#define SDRAM_CFG2_D_INIT 0x00000010
|
||||
#define SDRAM_CFG2_AP_EN 0x00000020
|
||||
#define SDRAM_CFG2_ODT_CFG_MASK 0x00600000
|
||||
#define SDRAM_CFG2_ODT_NEVER 0
|
||||
#define SDRAM_CFG2_ODT_ONLY_WRITE 1
|
||||
@@ -177,6 +178,14 @@ typedef struct ddr4_spd_eeprom_s generic_spd_eeprom_t;
|
||||
#define DDR_CDR2_VREF_TRAIN_EN 0x00000080
|
||||
#define DDR_CDR2_VREF_RANGE_2 0x00000040
|
||||
|
||||
/* DDR ERR_DISABLE */
|
||||
#define DDR_ERR_DISABLE_APED (1 << 8) /* Address parity error disable */
|
||||
|
||||
/* Mode Registers */
|
||||
#define DDR_MR5_CA_PARITY_LAT_4_CLK 0x1 /* for DDR4-1600/1866/2133 */
|
||||
#define DDR_MR5_CA_PARITY_LAT_5_CLK 0x2 /* for DDR4-2400 */
|
||||
|
||||
|
||||
#if (defined(CONFIG_SYS_FSL_DDR_VER) && \
|
||||
(CONFIG_SYS_FSL_DDR_VER >= FSL_DDR_VER_4_7))
|
||||
#ifdef CONFIG_SYS_FSL_DDR3L
|
||||
@@ -343,7 +352,7 @@ typedef struct memctl_options_s {
|
||||
/* mirrior DIMMs for DDR3 */
|
||||
unsigned int mirrored_dimm;
|
||||
unsigned int quad_rank_present;
|
||||
unsigned int ap_en; /* address parity enable for RDIMM */
|
||||
unsigned int ap_en; /* address parity enable for RDIMM/DDR4-UDIMM */
|
||||
unsigned int x4_en; /* enable x4 devices */
|
||||
|
||||
/* Global Timing Parameters */
|
||||
|
Reference in New Issue
Block a user