diff options
| author | York Sun <yorksun@freescale.com> | 2011-01-10 12:03:01 +0000 | 
|---|---|---|
| committer | Kumar Gala <galak@kernel.crashing.org> | 2011-01-19 22:58:24 -0600 | 
| commit | fa8d23c0ee5c66d5cda902ac6ea5b1dfc68d9712 (patch) | |
| tree | 2e34ca5a60bcaa2468b8989aadee1268aadef831 /arch/powerpc/include/asm/fsl_ddr_sdram.h | |
| parent | e1fd16b6f5e80d932c73f5a36141adfb35126e83 (diff) | |
| download | olio-uboot-2014.01-fa8d23c0ee5c66d5cda902ac6ea5b1dfc68d9712.tar.xz olio-uboot-2014.01-fa8d23c0ee5c66d5cda902ac6ea5b1dfc68d9712.zip | |
mpc85xx: Implement workaround for erratum DDR-A003
Erratum DDR-A003 requires workaround to correctly set RCW10 for registered DIMM.
Also adding polling after enabling DDR controller to ensure completion.
Signed-off-by: York Sun <yorksun@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/include/asm/fsl_ddr_sdram.h')
| -rw-r--r-- | arch/powerpc/include/asm/fsl_ddr_sdram.h | 19 | 
1 files changed, 19 insertions, 0 deletions
| diff --git a/arch/powerpc/include/asm/fsl_ddr_sdram.h b/arch/powerpc/include/asm/fsl_ddr_sdram.h index 989c91583..e6f0d3275 100644 --- a/arch/powerpc/include/asm/fsl_ddr_sdram.h +++ b/arch/powerpc/include/asm/fsl_ddr_sdram.h @@ -101,6 +101,25 @@ typedef ddr3_spd_eeprom_t generic_spd_eeprom_t;  #define WR_DATA_DELAY_SHIFT	10  #endif +/* DDR_MD_CNTL */ +#define MD_CNTL_MD_EN		0x80000000 +#define MD_CNTL_CS_SEL_CS0	0x00000000 +#define MD_CNTL_CS_SEL_CS1	0x10000000 +#define MD_CNTL_CS_SEL_CS2	0x20000000 +#define MD_CNTL_CS_SEL_CS3	0x30000000 +#define MD_CNTL_CS_SEL_CS0_CS1	0x40000000 +#define MD_CNTL_CS_SEL_CS2_CS3	0x50000000 +#define MD_CNTL_MD_SEL_MR	0x00000000 +#define MD_CNTL_MD_SEL_EMR	0x01000000 +#define MD_CNTL_MD_SEL_EMR2	0x02000000 +#define MD_CNTL_MD_SEL_EMR3	0x03000000 +#define MD_CNTL_SET_REF		0x00800000 +#define MD_CNTL_SET_PRE		0x00400000 +#define MD_CNTL_CKE_CNTL_LOW	0x00100000 +#define MD_CNTL_CKE_CNTL_HIGH	0x00200000 +#define MD_CNTL_WRCW		0x00080000 +#define MD_CNTL_MD_VALUE(x)	(x & 0x0000FFFF) +  /* Record of register values computed */  typedef struct fsl_ddr_cfg_regs_s {  	struct { |