summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorYork Sun <yorksun@freescale.com>2014-09-05 13:52:43 +0800
committerYork Sun <yorksun@freescale.com>2014-09-08 10:30:34 -0700
commitef87cab66492fe530bb6ec2e499b030c5ae60286 (patch)
tree5e96a47140a0a142c05e936ffbb66f8ff0c31c8c /include
parent5cb27c5d44ac789f0f0583b57c15dc708ca55c69 (diff)
downloadu-boot-imx-ef87cab66492fe530bb6ec2e499b030c5ae60286.zip
u-boot-imx-ef87cab66492fe530bb6ec2e499b030c5ae60286.tar.gz
u-boot-imx-ef87cab66492fe530bb6ec2e499b030c5ae60286.tar.bz2
driver/ddr/fsl: Add support of overriding chip select write leveling
JEDEC spec allows DRAM vendors to use prime DQ for write leveling. This is not an issue unless some DQ pins are not connected. If a platform uses regular DIMMs but with reduced DDR ECC pins, the prime DQ may end up on those floating pins for the second rank. The workaround is to use a known good chip select for this purpose. Signed-off-by: York Sun <yorksun@freescale.com>
Diffstat (limited to 'include')
-rw-r--r--include/fsl_ddr_sdram.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/fsl_ddr_sdram.h b/include/fsl_ddr_sdram.h
index e8a2db9..987119b 100644
--- a/include/fsl_ddr_sdram.h
+++ b/include/fsl_ddr_sdram.h
@@ -281,6 +281,7 @@ typedef struct memctl_options_partial_s {
#define DDR_DATA_BUS_WIDTH_64 0
#define DDR_DATA_BUS_WIDTH_32 1
#define DDR_DATA_BUS_WIDTH_16 2
+#define DDR_CSWL_CS0 0x04000001
/*
* Generalized parameters for memory controller configuration,
* might be a little specific to the FSL memory controller
@@ -340,6 +341,7 @@ typedef struct memctl_options_s {
unsigned int cpo_override;
unsigned int write_data_delay; /* DQS adjust */
+ unsigned int cswl_override;
unsigned int wrlvl_override;
unsigned int wrlvl_sample; /* Write leveling */
unsigned int wrlvl_start;