OMAP3:SDRC: introduce DDR types
authorNishanth Menon <nm@ti.com>
Sat, 7 Nov 2009 15:51:24 +0000 (10:51 -0500)
committerTom Rix <Tom.Rix@windriver.com>
Fri, 27 Nov 2009 22:26:16 +0000 (16:26 -0600)
Micron DDR timings based on:
http://www.sakoman.net/cgi-bin/gitweb.cgi?p=x-load-omap3.git;a=blob;f=include/asm/arch-omap3/mem.h;h=e6fbfe3947f5d0d85fea776e30821d4017316d86;hb=HEAD

Introduce Micron DDR timings and provide
CONFIG_OMAP3_INFINEON_DDR and CONFIG_OMAP3_MICRON_DDR config
options to allow for platform files to setup their timings as
per the type of DDR selected

Reported-by: Steve Sakoman in http://www.nabble.com/forum/Permalink.jtp?root=25779518&post=25959734&page=y
Signed-off-by: Nishanth Menon <nm@ti.com>
include/asm-arm/arch-omap3/mem.h
include/configs/devkit8000.h
include/configs/omap3_beagle.h
include/configs/omap3_evm.h
include/configs/omap3_overo.h
include/configs/omap3_pandora.h
include/configs/omap3_sdp3430.h
include/configs/omap3_zoom1.h
include/configs/omap3_zoom2.h

index 5496a618c662d20302fafe2aa2f148535def4088..9439758e4a0ef48874c35d4fb06f38c1fece1550 100644 (file)
@@ -68,25 +68,78 @@ enum {
  *     TCKE = 2
  *     XSR = 120/6 = 20
  */
-#define TDAL_165       6
-#define TDPL_165       3
-#define TRRD_165       2
-#define TRCD_165       3
-#define TRP_165                3
-#define TRAS_165       7
-#define TRC_165                10
-#define TRFC_165       21
-#define V_ACTIMA_165   ((TRFC_165 << 27) | (TRC_165 << 22) | \
-                       (TRAS_165 << 18) | (TRP_165 << 15) |  \
-                       (TRCD_165 << 12) | (TRRD_165 << 9) |  \
-                       (TDPL_165 << 6) | (TDAL_165))
-
-#define TWTR_165       1
-#define TCKE_165       1
-#define TXP_165                5
-#define XSR_165                23
-#define V_ACTIMB_165   (((TCKE_165 << 12) | (XSR_165 << 0)) |  \
-                       (TXP_165 << 8) | (TWTR_165 << 16))
+#define INFINEON_TDAL_165      6
+#define INFINEON_TDPL_165      3
+#define INFINEON_TRRD_165      2
+#define INFINEON_TRCD_165      3
+#define INFINEON_TRP_165       3
+#define INFINEON_TRAS_165      7
+#define INFINEON_TRC_165       10
+#define INFINEON_TRFC_165      12
+#define INFINEON_V_ACTIMA_165  ((INFINEON_TRFC_165 << 27) |            \
+               (INFINEON_TRC_165 << 22) | (INFINEON_TRAS_165 << 18) |  \
+               (INFINEON_TRP_165 << 15) | (INFINEON_TRCD_165 << 12) |  \
+               (INFINEON_TRRD_165 << 9) | (INFINEON_TDPL_165 << 6) |   \
+               (INFINEON_TDAL_165))
+
+#define INFINEON_TWTR_165      1
+#define INFINEON_TCKE_165      2
+#define INFINEON_TXP_165       2
+#define INFINEON_XSR_165       20
+#define INFINEON_V_ACTIMB_165  ((INFINEON_TCKE_165 << 12) |            \
+               (INFINEON_XSR_165 << 0) | (INFINEON_TXP_165 << 8) |     \
+               (INFINEON_TWTR_165 << 16))
+
+/* Micron part of 3430 EVM (165MHz optimized) 6.06ns
+ * ACTIMA
+ *     TDAL = Twr/Tck + Trp/tck= 15/6 + 18 /6 = 2.5 + 3 = 5.5 -> 6
+ *     TDPL (Twr)      = 15/6  = 2.5 -> 3
+ *     TRRD            = 12/6  = 2
+ *     TRCD            = 18/6  = 3
+ *     TRP             = 18/6  = 3
+ *     TRAS            = 42/6  = 7
+ *     TRC             = 60/6  = 10
+ *     TRFC            = 125/6 = 21
+ * ACTIMB
+ *     TWTR            = 1
+ *     TCKE            = 1
+ *     TXSR            = 138/6 = 23
+ *     TXP             = 25/6  = 4.1 ~5
+ */
+#define MICRON_TDAL_165                6
+#define MICRON_TDPL_165                3
+#define MICRON_TRRD_165                2
+#define MICRON_TRCD_165                3
+#define MICRON_TRP_165         3
+#define MICRON_TRAS_165                7
+#define MICRON_TRC_165         10
+#define MICRON_TRFC_165                21
+#define MICRON_V_ACTIMA_165 ((MICRON_TRFC_165 << 27) |                 \
+               (MICRON_TRC_165 << 22) | (MICRON_TRAS_165 << 18) |      \
+               (MICRON_TRP_165 << 15) | (MICRON_TRCD_165 << 12) |      \
+               (MICRON_TRRD_165 << 9) | (MICRON_TDPL_165 << 6) |       \
+               (MICRON_TDAL_165))
+
+#define MICRON_TWTR_165                1
+#define MICRON_TCKE_165                1
+#define MICRON_XSR_165         23
+#define MICRON_TXP_165         5
+#define MICRON_V_ACTIMB_165 ((MICRON_TCKE_165 << 12) |                 \
+               (MICRON_XSR_165 << 0) | (MICRON_TXP_165 << 8) | \
+               (MICRON_TWTR_165 << 16))
+
+#ifdef CONFIG_OMAP3_INFINEON_DDR
+#define V_ACTIMA_165 INFINEON_V_ACTIMA_165
+#define V_ACTIMB_165 INFINEON_V_ACTIMB_165
+#endif
+#ifdef CONFIG_OMAP3_MICRON_DDR
+#define V_ACTIMA_165 MICRON_V_ACTIMA_165
+#define V_ACTIMB_165 MICRON_V_ACTIMB_165
+#endif
+
+#if !defined(V_ACTIMA_165) || !defined(V_ACTIMB_165)
+#error "Please choose the right DDR type in config header"
+#endif
 
 /*
  * GPMC settings -
index bd5037e910d27156fb2b8dceb524e854422392ac..1011770962cf7391385ee373dab3ab7a4429a4af 100644 (file)
@@ -66,6 +66,9 @@
 
 /* Hardware drivers */
 
+/* DDR - I use Micron DDR */
+#define CONFIG_OMAP3_MICRON_DDR                1
+
 /* DM9000 */
 #define CONFIG_NET_MULTI               1
 #define CONFIG_NET_RETRY_COUNT         20
index 19a5ec92ece5f029cf6cbd3d977538bdf6b5088a..024b9b83343a6ab69d04e29d51167269da62212a 100644 (file)
@@ -97,6 +97,9 @@
 #define CONFIG_OMAP3_MMC               1
 #define CONFIG_DOS_PARTITION           1
 
+/* DDR - I use Micron DDR */
+#define CONFIG_OMAP3_MICRON_DDR                1
+
 /* commands to include */
 #include <config_cmd_default.h>
 
index a5514aeb9b4684159257671685f75971486800fe..6709edc8635218587874f0e91491be8e2aaa49bb 100644 (file)
 #define CONFIG_OMAP3_MMC               1
 #define CONFIG_DOS_PARTITION           1
 
+/* DDR - I use Micron DDR */
+#define CONFIG_OMAP3_MICRON_DDR                1
+
 /* commands to include */
 #include <config_cmd_default.h>
 
index ffb515d32237d747953a6a2931b71b2122a35697..0f812a79309d612b26eac22a5c5f24e3e6a1d76b 100644 (file)
@@ -89,6 +89,9 @@
 #define CONFIG_OMAP3_MMC               1
 #define CONFIG_DOS_PARTITION           1
 
+/* DDR - I use Micron DDR */
+#define CONFIG_OMAP3_MICRON_DDR                1
+
 /* commands to include */
 #include <config_cmd_default.h>
 
index 6f21af3d1332358ec5a04bd24d58f92a6de027dc..0cafeb81c7a652d9eb348f1e44b504e461a8d555 100644 (file)
@@ -92,6 +92,9 @@
 #define CONFIG_OMAP3_MMC               1
 #define CONFIG_DOS_PARTITION           1
 
+/* DDR - I use Micron DDR */
+#define CONFIG_OMAP3_MICRON_DDR                1
+
 /* commands to include */
 #include <config_cmd_default.h>
 
index 229dc5e644144128477bf739daa292b7b1b49951..d91c8ffa84bf6bc28b63df5e0be2cd3c2f0d591a 100644 (file)
 #define CONFIG_SYS_I2C_BUS_SELECT      1
 #define CONFIG_DRIVER_OMAP34XX_I2C     1
 
+/* DDR - I use Infineon DDR */
+#define CONFIG_OMAP3_INFINEON_DDR      1
+
 /* OMITTED:  single 1 Gbit MT29F1G NAND flash */
 
 /*
index da4b677f93c450c9bd0c62dac14b32726a95653c..2aef973bced8cd8b05d3cdaeb5d3249eceb86530 100644 (file)
@@ -98,6 +98,9 @@
 #define CONFIG_OMAP3_MMC               1
 #define CONFIG_DOS_PARTITION           1
 
+/* DDR - I use Micron DDR */
+#define CONFIG_OMAP3_MICRON_DDR                1
+
 /* commands to include */
 #include <config_cmd_default.h>
 
index 32cd6fdb141210dd0c8651430a43d947590b736d..5b03fb6987aae7e55f410a451fcd0085beccfdbc 100644 (file)
@@ -98,6 +98,9 @@
 #define CONFIG_OMAP3_MMC               1
 #define CONFIG_DOS_PARTITION           1
 
+/* DDR - I use Micron DDR */
+#define CONFIG_OMAP3_MICRON_DDR                1
+
 /* Status LED */
 #define CONFIG_STATUS_LED              1 /* Status LED enabled */
 #define CONFIG_BOARD_SPECIFIC_LED      1