summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board-colibri_t30-memory.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-tegra/board-colibri_t30-memory.c')
-rw-r--r--arch/arm/mach-tegra/board-colibri_t30-memory.c731
1 files changed, 241 insertions, 490 deletions
diff --git a/arch/arm/mach-tegra/board-colibri_t30-memory.c b/arch/arm/mach-tegra/board-colibri_t30-memory.c
index c264cd7b0a24..22575b48ba0c 100644
--- a/arch/arm/mach-tegra/board-colibri_t30-memory.c
+++ b/arch/arm/mach-tegra/board-colibri_t30-memory.c
@@ -24,502 +24,253 @@
#include "tegra3_emc.h"
#include "fuse.h"
-static const struct tegra_emc_table colibri_t30_emc_tables_mt41k256m16re_15e[] = {
- {
+static const struct tegra_emc_table colibri_t30_emc_tables_nt5cc256m16cp[] = {
+ {
0x32, /* Rev 3.2 */
-//ToDo: dblcheck with Max
-#if 1
- 30000, /* SDRAM frequency [kHz] */
-#else
- 200000, /* SDRAM frequency [kHz] */
-#endif
- {
- 0x0000000a, /* EmcRc */
- 0x00000033, /* EmcRfc */
- 0x00000007, /* EmcRas */
- 0x00000002, /* EmcRp */
- 0x00000003, /* EmcR2w */
- 0x00000009, /* EmcW2r */
- 0x00000005, /* EmcR2p */
- 0x0000000a, /* EmcW2p */
- 0x00000002, /* EmcRdRcd */
- 0x00000002, /* EmcWrRcd */
- 0x00000003, /* EmcRrd */
- 0x00000001, /* EmcRext */
- 0x00000000, /* EmcWext */
- 0x00000004, /* EmcWdv */
- 0x00000005, /* EmcQUse */
- 0x00000004, /* EmcQRst */
- 0x00000009, /* EmcQSafe */
- 0x0000000b, /* EmcRdv */
- 0x000005e9, /* EmcRefresh */
- 0x00000000, /* EmcBurstRefreshNum */
- 0x0000017a, /* EmcPreRefreshReqCnt */
- 0x00000002, /* EmcPdEx2Wr */
- 0x00000002, /* EmcPdEx2Rd */
- 0x00000001, /* EmcPChg2Pden */
- 0x00000000, /* EmcAct2Pden */
- 0x00000007, /* EmcAr2Pden */
- 0x0000000e, /* EmcRw2Pden */
- 0x00000036, /* EmcTxsr */
- 0x00000134, /* EmcTxsrDll */
- 0x00000004, /* EmcTcke */
- 0x0000000a, /* EmcTfaw */
- 0x00000000, /* EmcTrpab */
- 0x00000004, /* EmcTClkStable */
- 0x00000005, /* EmcTClkStop */
- 0x00000618, /* EmcTRefBw */
- 0x00000006, /* EmcQUseExtra */
- 0x00000004, /* EmcFbioCfg6 */
- 0x00000000, /* EmcOdtWrite */
- 0x00000000, /* EmcOdtRead */
- 0x00004288, /* EmcFbioCfg5 */
- 0x004600a4, /* EmcCfgDigDll */
- 0x00008000, /* EmcCfgDigDllPeriod */
- 0x00080000, /* EmcDllXformDqs0 */
- 0x00080000, /* EmcDllXformDqs1 */
- 0x00080000, /* EmcDllXformDqs2 */
- 0x00080000, /* EmcDllXformDqs3 */
- 0x00080000, /* EmcDllXformDqs4 */
- 0x00080000, /* EmcDllXformDqs5 */
- 0x00080000, /* EmcDllXformDqs6 */
- 0x00080000, /* EmcDllXformDqs7 */
- 0x00000000, /* EmcDllXformQUse0 */
- 0x00000000, /* EmcDllXformQUse1 */
- 0x00000000, /* EmcDllXformQUse2 */
- 0x00000000, /* EmcDllXformQUse3 */
- 0x00000000, /* EmcDllXformQUse4 */
- 0x00000000, /* EmcDllXformQUse5 */
- 0x00000000, /* EmcDllXformQUse6 */
- 0x00000000, /* EmcDllXformQUse7 */
- 0x00000000, /* EmcDliTrimTxDqs0 */
- 0x00000000, /* EmcDliTrimTxDqs1 */
- 0x00000000, /* EmcDliTrimTxDqs2 */
- 0x00000000, /* EmcDliTrimTxDqs3 */
- 0x00000000, /* EmcDliTrimTxDqs4 */
- 0x00000000, /* EmcDliTrimTxDqs5 */
- 0x00000000, /* EmcDliTrimTxDqs6 */
- 0x00000000, /* EmcDliTrimTxDqs7 */
- 0x00080000, /* EmcDllXformDq0 */
- 0x00080000, /* EmcDllXformDq1 */
- 0x00080000, /* EmcDllXformDq2 */
- 0x00080000, /* EmcDllXformDq3 */
- 0x000002a0, /* EmcXm2CmdPadCtrl */
- 0x0800211c, /* EmcXm2DqsPadCtrl2 */
- 0x00000000, /* EmcXm2DqPadCtrl2 */
- 0x77fff884, /* EmcXm2ClkPadCtrl */
- 0x01f1f108, /* EmcXm2CompPadCtrl */
- 0x05057404, /* EmcXm2VttGenPadCtrl */
- 0x54000007, /* EmcXm2VttGenPadCtrl2 */
- 0x08000168, /* EmcXm2QUsePadCtrl */
- 0x08000000, /* EmcXm2DqsPadCtrl3 */
- 0x00000802, /* EmcCttTermCtrl */
- 0x00020000, /* EmcZcalInterval */
- 0x00000040, /* EmcZcalWaitCnt */
- 0x000c000c, /* EmcMrsWaitCnt */
- 0x001fffff, /* EmcAutoCalInterval */
- 0x00000000, /* EmcCtt */
- 0x00000000, /* EmcCttDuration */
- 0x80000ce6, /* EmcDynSelfRefControl */
- 0x00000003, /* McEmemArbCfg */
- 0xc0000024, /* McEmemArbOutstandingReq */
- 0x00000001, /* McEmemArbTimingRcd */
- 0x00000001, /* McEmemArbTimingRp */
- 0x00000005, /* McEmemArbTimingRc */
- 0x00000002, /* McEmemArbTimingRas */
- 0x00000004, /* McEmemArbTimingFaw */
- 0x00000001, /* McEmemArbTimingRrd */
- 0x00000003, /* McEmemArbTimingRap2Pre */
- 0x00000007, /* McEmemArbTimingWap2Pre */
- 0x00000002, /* McEmemArbTimingR2R */
- 0x00000001, /* McEmemArbTimingW2W */
- 0x00000003, /* McEmemArbTimingR2W */
- 0x00000006, /* McEmemArbTimingW2R */
- 0x06030102, /* McEmemArbDaTurns */
- 0x00090505, /* McEmemArbDaCovers */
- 0x76a30906, /* McEmemArbMisc0 */
- 0x001f0000, /* McEmemArbRing1Throttle */
- 0xe8000000, /* EmcFbioSpare */
- 0xff00ff00, /* EmcCfgRsv */
- },
- 0x00000040, /* EmcZcalWaitCnt */
- 0x00020000, /* EmcZcalInterval */
- 0x00000001, /* EmcCfg bit 27PERIODIC_QRST */
- 0x80001221, /* EmcMrs */
- 0x80100003, /* EmcEmrs */
- 0x00000000, /* EmcMrw1 */
- 0x00000001, /* EmcCfg bit 28 DYN_SELF_REF */
- },
- {
- 0x32, /* Rev 3.2 */
- 300000, /* SDRAM frequency [kHz] */
- {
- 0x00000010, /* EmcRc */
- 0x0000004d, /* EmcRfc */
- 0x0000000b, /* EmcRas */
- 0x00000003, /* EmcRp */
- 0x00000002, /* EmcR2w */
- 0x00000008, /* EmcW2r */
- 0x00000003, /* EmcR2p */
- 0x00000009, /* EmcW2p */
- 0x00000003, /* EmcRdRcd */
- 0x00000002, /* EmcWrRcd */
- 0x00000002, /* EmcRrd */
- 0x00000001, /* EmcRext */
- 0x00000000, /* EmcWext */
- 0x00000004, /* EmcWdv */
- 0x00000006, /* EmcQUse */
- 0x00000004, /* EmcQRst */
- 0x0000000a, /* EmcQSafe */
- 0x0000000c, /* EmcRdv */
- 0x000008e6, /* EmcRefresh */
- 0x00000000, /* EmcBurstRefreshNum */
- 0x00000240, /* EmcPreRefreshReqCnt */
- 0x0000000a, /* EmcPdEx2Wr */
- 0x00000008, /* EmcPdEx2Rd */
- 0x00000007, /* EmcPChg2Pden */
- 0x00000000, /* EmcAct2Pden */
- 0x00000007, /* EmcAr2Pden */
- 0x0000000e, /* EmcRw2Pden */
- 0x000000b4, /* EmcTxsr */
- 0x00000200, /* EmcTxsrDll */
- 0x00000004, /* EmcTcke */
- 0x00000010, /* EmcTfaw */
- 0x00000000, /* EmcTrpab */
- 0x00000004, /* EmcTClkStable */
- 0x00000005, /* EmcTClkStop */
- 0x00000927, /* EmcTRefBw */
- 0x00000007, /* EmcQUseExtra */
- 0x00000004, /* EmcFbioCfg6 */
- 0x00000000, /* EmcOdtWrite */
- 0x00000000, /* EmcOdtRead */
- 0x00005288, /* EmcFbioCfg5 */
- 0x002b00a4, /* EmcCfgDigDll */
- 0x00008000, /* EmcCfgDigDllPeriod */
- 0x00014000, /* EmcDllXformDqs0 */
- 0x00014000, /* EmcDllXformDqs1 */
- 0x00014000, /* EmcDllXformDqs2 */
- 0x00014000, /* EmcDllXformDqs3 */
- 0x00014000, /* EmcDllXformDqs4 */
- 0x00014000, /* EmcDllXformDqs5 */
- 0x00014000, /* EmcDllXformDqs6 */
- 0x00014000, /* EmcDllXformDqs7 */
- 0x00000000, /* EmcDllXformQUse0 */
- 0x00000000, /* EmcDllXformQUse1 */
- 0x00000000, /* EmcDllXformQUse2 */
- 0x00000000, /* EmcDllXformQUse3 */
- 0x00000000, /* EmcDllXformQUse4 */
- 0x00000000, /* EmcDllXformQUse5 */
- 0x00000000, /* EmcDllXformQUse6 */
- 0x00000000, /* EmcDllXformQUse7 */
- 0x00000000, /* EmcDliTrimTxDqs0 */
- 0x00000000, /* EmcDliTrimTxDqs1 */
- 0x00000000, /* EmcDliTrimTxDqs2 */
- 0x00000000, /* EmcDliTrimTxDqs3 */
- 0x00000000, /* EmcDliTrimTxDqs4 */
- 0x00000000, /* EmcDliTrimTxDqs5 */
- 0x00000000, /* EmcDliTrimTxDqs6 */
- 0x00000000, /* EmcDliTrimTxDqs7 */
- 0x00020000, /* EmcDllXformDq0 */
- 0x00020000, /* EmcDllXformDq1 */
- 0x00020000, /* EmcDllXformDq2 */
- 0x00020000, /* EmcDllXformDq3 */
- 0x000002a0, /* EmcXm2CmdPadCtrl */
- 0x0800211c, /* EmcXm2DqsPadCtrl2 */
- 0x00000000, /* EmcXm2DqPadCtrl2 */
- 0x77fff884, /* EmcXm2ClkPadCtrl */
- 0x01f1f508, /* EmcXm2CompPadCtrl */
- 0x05057404, /* EmcXm2VttGenPadCtrl */
- 0x54000007, /* EmcXm2VttGenPadCtrl2 */
- 0x08000168, /* EmcXm2QUsePadCtrl */
- 0x08000000, /* EmcXm2DqsPadCtrl3 */
- 0x00000802, /* EmcCttTermCtrl */
- 0x00020000, /* EmcZcalInterval */
- 0x00000040, /* EmcZcalWaitCnt */
- 0x0172000c, /* EmcMrsWaitCnt */
- 0x001fffff, /* EmcAutoCalInterval */
- 0x00000000, /* EmcCtt */
- 0x00000000, /* EmcCttDuration */
- 0x800012db, /* EmcDynSelfRefControl */
- 0x00000004, /* McEmemArbCfg */
- 0x80000037, /* McEmemArbOutstandingReq */
- 0x00000001, /* McEmemArbTimingRcd */
- 0x00000001, /* McEmemArbTimingRp */
- 0x00000007, /* McEmemArbTimingRc */
- 0x00000004, /* McEmemArbTimingRas */
- 0x00000007, /* McEmemArbTimingFaw */
- 0x00000001, /* McEmemArbTimingRrd */
- 0x00000002, /* McEmemArbTimingRap2Pre */
- 0x00000007, /* McEmemArbTimingWap2Pre */
- 0x00000002, /* McEmemArbTimingR2R */
- 0x00000002, /* McEmemArbTimingW2W */
- 0x00000005, /* McEmemArbTimingR2W */
- 0x00000006, /* McEmemArbTimingW2R */
- 0x06030202, /* McEmemArbDaTurns */
- 0x000a0507, /* McEmemArbDaCovers */
- 0x70850e08, /* McEmemArbMisc0 */
- 0x001f0000, /* McEmemArbRing1Throttle */
- 0xe8000000, /* EmcFbioSpare */
- 0xff00ff88, /* EmcCfgRsv */
- },
- 0x00000040, /* EmcZcalWaitCnt */
- 0x00020000, /* EmcZcalInterval */
- 0x00000001, /* EmcCfg bit 27PERIODIC_QRST */
- 0x80000321, /* EmcMrs */
- 0x80100002, /* EmcEmrs */
- 0x00000000, /* EmcMrw1 */
- 0x00000000, /* EmcCfg bit 28 DYN_SELF_REF */
- },
- {
- 0x32, /* Rev 3.2 */
- 333000, /* SDRAM frequency [kHz] */
- {
- 0x00000010, /* EmcRc */
- 0x00000055, /* EmcRfc */
- 0x0000000c, /* EmcRas */
- 0x00000004, /* EmcRp */
- 0x00000006, /* EmcR2w */
- 0x00000008, /* EmcW2r */
- 0x00000003, /* EmcR2p */
- 0x00000009, /* EmcW2p */
- 0x00000004, /* EmcRdRcd */
- 0x00000003, /* EmcWrRcd */
- 0x00000002, /* EmcRrd */
- 0x00000001, /* EmcRext */
- 0x00000000, /* EmcWext */
- 0x00000004, /* EmcWdv */
- 0x00000006, /* EmcQUse */
- 0x00000004, /* EmcQRst */
- 0x0000000a, /* EmcQSafe */
- 0x0000000c, /* EmcRdv */
- 0x000009e8, /* EmcRefresh */
- 0x00000000, /* EmcBurstRefreshNum */
- 0x0000027e, /* EmcPreRefreshReqCnt */
- 0x0000000a, /* EmcPdEx2Wr */
- 0x00000008, /* EmcPdEx2Rd */
- 0x00000007, /* EmcPChg2Pden */
- 0x00000000, /* EmcAct2Pden */
- 0x00000007, /* EmcAr2Pden */
- 0x0000000e, /* EmcRw2Pden */
- 0x000000b4, /* EmcTxsr */
- 0x00000200, /* EmcTxsrDll */
- 0x00000004, /* EmcTcke */
- 0x00000015, /* EmcTfaw */
- 0x00000000, /* EmcTrpab */
- 0x00000004, /* EmcTClkStable */
- 0x00000005, /* EmcTClkStop */
- 0x00000a28, /* EmcTRefBw */
- 0x00000000, /* EmcQUseExtra */
- 0x00000006, /* EmcFbioCfg6 */
- 0x00000000, /* EmcOdtWrite */
- 0x00000000, /* EmcOdtRead */
- 0x00007088, /* EmcFbioCfg5 */
- 0x002600a4, /* EmcCfgDigDll */
- 0x00008000, /* EmcCfgDigDllPeriod */
- 0x00014000, /* EmcDllXformDqs0 */
- 0x00014000, /* EmcDllXformDqs1 */
- 0x00014000, /* EmcDllXformDqs2 */
- 0x00014000, /* EmcDllXformDqs3 */
- 0x00014000, /* EmcDllXformDqs4 */
- 0x00014000, /* EmcDllXformDqs5 */
- 0x00014000, /* EmcDllXformDqs6 */
- 0x00014000, /* EmcDllXformDqs7 */
- 0x00000000, /* EmcDllXformQUse0 */
- 0x00000000, /* EmcDllXformQUse1 */
- 0x00000000, /* EmcDllXformQUse2 */
- 0x00000000, /* EmcDllXformQUse3 */
- 0x00000000, /* EmcDllXformQUse4 */
- 0x00000000, /* EmcDllXformQUse5 */
- 0x00000000, /* EmcDllXformQUse6 */
- 0x00000000, /* EmcDllXformQUse7 */
- 0x00000000, /* EmcDliTrimTxDqs0 */
- 0x00000000, /* EmcDliTrimTxDqs1 */
- 0x00000000, /* EmcDliTrimTxDqs2 */
- 0x00000000, /* EmcDliTrimTxDqs3 */
- 0x00000000, /* EmcDliTrimTxDqs4 */
- 0x00000000, /* EmcDliTrimTxDqs5 */
- 0x00000000, /* EmcDliTrimTxDqs6 */
- 0x00000000, /* EmcDliTrimTxDqs7 */
- 0x00020000, /* EmcDllXformDq0 */
- 0x00020000, /* EmcDllXformDq1 */
- 0x00020000, /* EmcDllXformDq2 */
- 0x00020000, /* EmcDllXformDq3 */
- 0x000002a0, /* EmcXm2CmdPadCtrl */
- 0x0800013d, /* EmcXm2DqsPadCtrl2 */
- 0x00000000, /* EmcXm2DqPadCtrl2 */
- 0x77fff884, /* EmcXm2ClkPadCtrl */
- 0x01f1f508, /* EmcXm2CompPadCtrl */
- 0x05057404, /* EmcXm2VttGenPadCtrl */
- 0x54000007, /* EmcXm2VttGenPadCtrl2 */
- 0x080001e8, /* EmcXm2QUsePadCtrl */
- 0x08000021, /* EmcXm2DqsPadCtrl3 */
- 0x00000802, /* EmcCttTermCtrl */
- 0x00020000, /* EmcZcalInterval */
- 0x00000040, /* EmcZcalWaitCnt */
- 0x016a000c, /* EmcMrsWaitCnt */
- 0x001fffff, /* EmcAutoCalInterval */
- 0x00000000, /* EmcCtt */
- 0x00000000, /* EmcCttDuration */
- 0x800014d2, /* EmcDynSelfRefControl */
- 0x00000005, /* McEmemArbCfg */
- 0x8000003c, /* McEmemArbOutstandingReq */
- 0x00000001, /* McEmemArbTimingRcd */
- 0x00000002, /* McEmemArbTimingRp */
- 0x00000008, /* McEmemArbTimingRc */
- 0x00000005, /* McEmemArbTimingRas */
- 0x0000000a, /* McEmemArbTimingFaw */
- 0x00000001, /* McEmemArbTimingRrd */
- 0x00000002, /* McEmemArbTimingRap2Pre */
- 0x00000007, /* McEmemArbTimingWap2Pre */
- 0x00000002, /* McEmemArbTimingR2R */
- 0x00000002, /* McEmemArbTimingW2W */
- 0x00000005, /* McEmemArbTimingR2W */
- 0x00000006, /* McEmemArbTimingW2R */
- 0x06030202, /* McEmemArbDaTurns */
- 0x000b0608, /* McEmemArbDaCovers */
- 0x70850f09, /* McEmemArbMisc0 */
- 0x001f0000, /* McEmemArbRing1Throttle */
- 0xe8000000, /* EmcFbioSpare */
- 0xff00ff88, /* EmcCfgRsv */
- },
- 0x00000040, /* EmcZcalWaitCnt */
- 0x00020000, /* EmcZcalInterval */
- 0x00000000, /* EmcCfg bit 27PERIODIC_QRST */
- 0x80000321, /* EmcMrs */
- 0x80100002, /* EmcEmrs */
- 0x00000000, /* EmcMrw1 */
- 0x00000000, /* EmcCfg bit 28 DYN_SELF_REF */
+ 400000, /* SDRAM frequency */
+ {
+ 0x00000012, /* EMC_RC */
+ 0x0000008a, /* EMC_RFC */
+ 0x0000000c, /* EMC_RAS */
+ 0x00000004, /* EMC_RP */
+ 0x00000003, /* EMC_R2W */
+ 0x00000008, /* EMC_W2R */
+ 0x00000002, /* EMC_R2P */
+ 0x0000000a, /* EMC_W2P */
+ 0x00000004, /* EMC_RD_RCD */
+ 0x00000004, /* EMC_WR_RCD */
+ 0x00000002, /* EMC_RRD */
+ 0x00000001, /* EMC_REXT */
+ 0x00000000, /* EMC_WEXT */
+ 0x00000004, /* EMC_WDV */
+ 0x00000006, /* EMC_QUSE */
+ 0x00000004, /* EMC_QRST */
+ 0x00000009, /* EMC_QSAFE */
+ 0x0000000c, /* EMC_RDV */
+ 0x00000bf5, /* EMC_REFRESH */
+ 0x00000000, /* EMC_BURST_REFRESH_NUM */
+ 0x000002fd, /* EMC_PRE_REFRESH_REQ_CNT */
+ 0x00000001, /* EMC_PDEX2WR */
+ 0x00000008, /* EMC_PDEX2RD */
+ 0x00000001, /* EMC_PCHG2PDEN */
+ 0x00000000, /* EMC_ACT2PDEN */
+ 0x00000008, /* EMC_AR2PDEN */
+ 0x0000000f, /* EMC_RW2PDEN */
+ 0x00000090, /* EMC_TXSR */
+ 0x00000200, /* EMC_TXSRDLL */
+ 0x00000004, /* EMC_TCKE */
+ 0x00000010, /* EMC_TFAW */
+ 0x00000000, /* EMC_TRPAB */
+ 0x00000004, /* EMC_TCLKSTABLE */
+ 0x00000005, /* EMC_TCLKSTOP */
+ 0x00000c35, /* EMC_TREFBW */
+ 0x00000000, /* EMC_QUSE_EXTRA */
+ 0x00000004, /* EMC_FBIO_CFG6 */
+ 0x00000000, /* EMC_ODT_WRITE */
+ 0x00000000, /* EMC_ODT_READ */
+ 0x00007088, /* EMC_FBIO_CFG5 */
+ 0x00360084, /* EMC_CFG_DIG_DLL */
+ 0x00008000, /* EMC_CFG_DIG_DLL_PERIOD */
+ 0x0000c002, /* EMC_DLL_XFORM_DQS0 */
+ 0x00014002, /* EMC_DLL_XFORM_DQS1 */
+ 0x0000c002, /* EMC_DLL_XFORM_DQS2 */
+ 0x00014002, /* EMC_DLL_XFORM_DQS3 */
+ 0x00014000, /* EMC_DLL_XFORM_DQS4 */
+ 0x00014000, /* EMC_DLL_XFORM_DQS5 */
+ 0x00014000, /* EMC_DLL_XFORM_DQS6 */
+ 0x00014000, /* EMC_DLL_XFORM_DQS7 */
+ 0x00000000, /* EMC_DLL_XFORM_QUSE0 */
+ 0x00000000, /* EMC_DLL_XFORM_QUSE1 */
+ 0x00000000, /* EMC_DLL_XFORM_QUSE2 */
+ 0x00000000, /* EMC_DLL_XFORM_QUSE3 */
+ 0x00000000, /* EMC_DLL_XFORM_QUSE4 */
+ 0x00000000, /* EMC_DLL_XFORM_QUSE5 */
+ 0x00000000, /* EMC_DLL_XFORM_QUSE6 */
+ 0x00000000, /* EMC_DLL_XFORM_QUSE7 */
+ 0x00000000, /* EMC_DLI_TRIM_TXDQS0 */
+ 0x00000000, /* EMC_DLI_TRIM_TXDQS1 */
+ 0x00000000, /* EMC_DLI_TRIM_TXDQS2 */
+ 0x00000000, /* EMC_DLI_TRIM_TXDQS3 */
+ 0x00000000, /* EMC_DLI_TRIM_TXDQS4 */
+ 0x00000000, /* EMC_DLI_TRIM_TXDQS5 */
+ 0x00000000, /* EMC_DLI_TRIM_TXDQS6 */
+ 0x00000000, /* EMC_DLI_TRIM_TXDQS7 */
+ 0x00018000, /* EMC_DLL_XFORM_DQ0 */
+ 0x00018000, /* EMC_DLL_XFORM_DQ1 */
+ 0x00018000, /* EMC_DLL_XFORM_DQ2 */
+ 0x00018000, /* EMC_DLL_XFORM_DQ3 */
+ 0x000002a0, /* EMC_XM2CMDPADCTRL */
+ 0x0a00013d, /* EMC_XM2DQSPADCTRL2 */
+ 0x00000000, /* EMC_XM2DQPADCTRL2 */
+ 0x77fff884, /* EMC_XM2CLKPADCTRL */
+ 0x01f1f508, /* EMC_XM2COMPPADCTRL */
+ 0x05057404, /* EMC_XM2VTTGENPADCTRL */
+ 0x54000007, /* EMC_XM2VTTGENPADCTRL2 */
+ 0x080001e8, /* EMC_XM2QUSEPADCTRL */
+ 0x08000021, /* EMC_XM2DQSPADCTRL3 */
+ 0x00000802, /* EMC_CTT_TERM_CTRL */
+ 0x00020000, /* EMC_ZCAL_INTERVAL */
+ 0x00000100, /* EMC_ZCAL_WAIT_CNT */
+ 0x0134000c, /* EMC_MRS_WAIT_CNT */
+ 0xa0f10000, /* EMC_AUTO_CAL_CONFIG */
+ 0x00000000, /* EMC_CTT */
+ 0x00000000, /* EMC_CTT_DURATION */
+ 0x800018d1, /* EMC_DYN_SELF_REF_CONTROL */
+ 0x00000006, /* MC_EMEM_ARB_CFG */
+ 0x80000048, /* MC_EMEM_ARB_OUTSTANDING_REQ */
+ 0x00000001, /* MC_EMEM_ARB_TIMING_RCD */
+ 0x00000002, /* MC_EMEM_ARB_TIMING_RP */
+ 0x00000009, /* MC_EMEM_ARB_TIMING_RC */
+ 0x00000005, /* MC_EMEM_ARB_TIMING_RAS */
+ 0x00000007, /* MC_EMEM_ARB_TIMING_FAW */
+ 0x00000001, /* MC_EMEM_ARB_TIMING_RRD */
+ 0x00000002, /* MC_EMEM_ARB_TIMING_RAP2PRE */
+ 0x00000008, /* MC_EMEM_ARB_TIMING_WAP2PRE */
+ 0x00000002, /* MC_EMEM_ARB_TIMING_R2R */
+ 0x00000002, /* MC_EMEM_ARB_TIMING_W2W */
+ 0x00000003, /* MC_EMEM_ARB_TIMING_R2W */
+ 0x00000006, /* MC_EMEM_ARB_TIMING_W2R */
+ 0x06030202, /* MC_EMEM_ARB_DA_TURNS */
+ 0x000d0709, /* MC_EMEM_ARB_DA_COVERS */
+ 0x7086120a, /* MC_EMEM_ARB_MISC0 */
+ 0x001f0000, /* MC_EMEM_ARB_RING1_THROTTLE */
+ 0xe8000000, /* EMC_FBIO_SPARE */
+ 0xff00ff88, /* EMC_CFG_RSV */
+ },
+ 0x00000040, /* EMC_ZCAL_WAIT_CNT after clock change */
+ 0x001fffff, /* EMC_AUTO_CAL_INTERVAL */
+ 0x00000000, /* EMC_CFG.PERIODIC_QRST */
+ 0x80000521, /* Mode Register 0 */
+ 0x80100002, /* Mode Register 1 */
+ 0x80200000, /* Mode Register 2 */
+ 0x00000000, /* EMC_CFG.DYN_SELF_REF */
+ },
+ {
+ 0x32, /* Rev 3.2 */
+ 800000, /* SDRAM frequency */
+ {
+ 0x00000025, /* EMC_RC */
+ 0x00000116, /* EMC_RFC */
+ 0x0000001a, /* EMC_RAS */
+ 0x00000009, /* EMC_RP */
+ 0x00000005, /* EMC_R2W */
+ 0x0000000d, /* EMC_W2R */
+ 0x00000004, /* EMC_R2P */
+ 0x00000013, /* EMC_W2P */
+ 0x00000009, /* EMC_RD_RCD */
+ 0x00000009, /* EMC_WR_RCD */
+ 0x00000006, /* EMC_RRD */
+ 0x00000001, /* EMC_REXT */
+ 0x00000000, /* EMC_WEXT */
+ 0x00000007, /* EMC_WDV */
+ 0x0000000a, /* EMC_QUSE */
+ 0x00000009, /* EMC_QRST */
+ 0x0000000b, /* EMC_QSAFE */
+ 0x00000011, /* EMC_RDV */
+ 0x0000182a, /* EMC_REFRESH */
+ 0x00000000, /* EMC_BURST_REFRESH_NUM */
+ 0x0000060a, /* EMC_PRE_REFRESH_REQ_CNT */
+ 0x00000003, /* EMC_PDEX2WR */
+ 0x00000012, /* EMC_PDEX2RD */
+ 0x00000001, /* EMC_PCHG2PDEN */
+ 0x00000000, /* EMC_ACT2PDEN */
+ 0x0000000f, /* EMC_AR2PDEN */
+ 0x00000018, /* EMC_RW2PDEN */
+ 0x00000120, /* EMC_TXSR */
+ 0x00000200, /* EMC_TXSRDLL */
+ 0x00000005, /* EMC_TCKE */
+ 0x00000020, /* EMC_TFAW */
+ 0x00000000, /* EMC_TRPAB */
+ 0x00000007, /* EMC_TCLKSTABLE */
+ 0x00000008, /* EMC_TCLKSTOP */
+ 0x0000186a, /* EMC_TREFBW */
+ 0x0000000b, /* EMC_QUSE_EXTRA */
+ 0x00000006, /* EMC_FBIO_CFG6 */
+ 0x00000000, /* EMC_ODT_WRITE */
+ 0x00000000, /* EMC_ODT_READ */
+ 0x00005088, /* EMC_FBIO_CFG5 */
+ 0xf01a0191, /* EMC_CFG_DIG_DLL */
+ 0x00008000, /* EMC_CFG_DIG_DLL_PERIOD */
+ 0x007fc00c, /* EMC_DLL_XFORM_DQS0 */
+ 0x0000400c, /* EMC_DLL_XFORM_DQS1 */
+ 0x007f800c, /* EMC_DLL_XFORM_DQS2 */
+ 0x0000400c, /* EMC_DLL_XFORM_DQS3 */
+ 0x0000000c, /* EMC_DLL_XFORM_DQS4 */
+ 0x0000000c, /* EMC_DLL_XFORM_DQS5 */
+ 0x0000000c, /* EMC_DLL_XFORM_DQS6 */
+ 0x0000000c, /* EMC_DLL_XFORM_DQS7 */
+ 0x00018000, /* EMC_DLL_XFORM_QUSE0 */
+ 0x00000000, /* EMC_DLL_XFORM_QUSE1 */
+ 0x00000000, /* EMC_DLL_XFORM_QUSE2 */
+ 0x00000000, /* EMC_DLL_XFORM_QUSE3 */
+ 0x00000000, /* EMC_DLL_XFORM_QUSE4 */
+ 0x00000000, /* EMC_DLL_XFORM_QUSE5 */
+ 0x00000000, /* EMC_DLL_XFORM_QUSE6 */
+ 0x00000000, /* EMC_DLL_XFORM_QUSE7 */
+ 0x00000002, /* EMC_DLI_TRIM_TXDQS0 */
+ 0x00000002, /* EMC_DLI_TRIM_TXDQS1 */
+ 0x00000002, /* EMC_DLI_TRIM_TXDQS2 */
+ 0x00000002, /* EMC_DLI_TRIM_TXDQS3 */
+ 0x00000002, /* EMC_DLI_TRIM_TXDQS4 */
+ 0x00000002, /* EMC_DLI_TRIM_TXDQS5 */
+ 0x00000002, /* EMC_DLI_TRIM_TXDQS6 */
+ 0x00000002, /* EMC_DLI_TRIM_TXDQS7 */
+ 0x00000008, /* EMC_DLL_XFORM_DQ0 */
+ 0x00000008, /* EMC_DLL_XFORM_DQ1 */
+ 0x00000008, /* EMC_DLL_XFORM_DQ2 */
+ 0x00000008, /* EMC_DLL_XFORM_DQ3 */
+ 0x000602a0, /* EMC_XM2CMDPADCTRL */
+ 0x0a00013d, /* EMC_XM2DQSPADCTRL2 */
+ 0x22220000, /* EMC_XM2DQPADCTRL2 */
+ 0x77fff884, /* EMC_XM2CLKPADCTRL */
+ 0x01f1f501, /* EMC_XM2COMPPADCTRL */
+ 0x07077404, /* EMC_XM2VTTGENPADCTRL */
+ 0x54000000, /* EMC_XM2VTTGENPADCTRL2 */
+ 0x080001e8, /* EMC_XM2QUSEPADCTRL */
+ 0x08000021, /* EMC_XM2DQSPADCTRL3 */
+ 0x00000802, /* EMC_CTT_TERM_CTRL */
+ 0x00020000, /* EMC_ZCAL_INTERVAL */
+ 0x00000100, /* EMC_ZCAL_WAIT_CNT */
+ 0x00a8000c, /* EMC_MRS_WAIT_CNT */
+ 0xa0f10000, /* EMC_AUTO_CAL_CONFIG */
+ 0x00000000, /* EMC_CTT */
+ 0x00000000, /* EMC_CTT_DURATION */
+ 0x8000309f, /* EMC_DYN_SELF_REF_CONTROL */
+ 0x0000000c, /* MC_EMEM_ARB_CFG */
+ 0x80000090, /* MC_EMEM_ARB_OUTSTANDING_REQ */
+ 0x00000004, /* MC_EMEM_ARB_TIMING_RCD */
+ 0x00000005, /* MC_EMEM_ARB_TIMING_RP */
+ 0x00000013, /* MC_EMEM_ARB_TIMING_RC */
+ 0x0000000c, /* MC_EMEM_ARB_TIMING_RAS */
+ 0x0000000f, /* MC_EMEM_ARB_TIMING_FAW */
+ 0x00000003, /* MC_EMEM_ARB_TIMING_RRD */
+ 0x00000003, /* MC_EMEM_ARB_TIMING_RAP2PRE */
+ 0x0000000c, /* MC_EMEM_ARB_TIMING_WAP2PRE */
+ 0x00000002, /* MC_EMEM_ARB_TIMING_R2R */
+ 0x00000002, /* MC_EMEM_ARB_TIMING_W2W */
+ 0x00000004, /* MC_EMEM_ARB_TIMING_R2W */
+ 0x00000008, /* MC_EMEM_ARB_TIMING_W2R */
+ 0x08040202, /* MC_EMEM_ARB_DA_TURNS */
+ 0x00160d13, /* MC_EMEM_ARB_DA_COVERS */
+ 0x712c2414, /* MC_EMEM_ARB_MISC0 */
+ 0x001f0000, /* MC_EMEM_ARB_RING1_THROTTLE */
+ 0xf8000000, /* EMC_FBIO_SPARE */
+ 0xff00ff49, /* EMC_CFG_RSV */
+ },
+ 0x00000040, /* EMC_ZCAL_WAIT_CNT after clock change */
+ 0x001fffff, /* EMC_AUTO_CAL_INTERVAL */
+ 0x00000001, /* EMC_CFG.PERIODIC_QRST */
+ 0x80000d71, /* Mode Register 0 */
+ 0x80100002, /* Mode Register 1 */
+ 0x80200018, /* Mode Register 2 */
+ 0x00000000, /* EMC_CFG.DYN_SELF_REF */
},
-//copy of 333 MHz
- {
- 0x32, /* Rev 3.2 */
- 408000, /* SDRAM frequency [kHz] */
- {
- 0x00000010, /* EmcRc */
- 0x00000055, /* EmcRfc */
- 0x0000000c, /* EmcRas */
- 0x00000004, /* EmcRp */
- 0x00000006, /* EmcR2w */
- 0x00000008, /* EmcW2r */
- 0x00000003, /* EmcR2p */
- 0x00000009, /* EmcW2p */
- 0x00000004, /* EmcRdRcd */
- 0x00000003, /* EmcWrRcd */
- 0x00000002, /* EmcRrd */
- 0x00000001, /* EmcRext */
- 0x00000000, /* EmcWext */
- 0x00000004, /* EmcWdv */
- 0x00000006, /* EmcQUse */
- 0x00000004, /* EmcQRst */
- 0x0000000a, /* EmcQSafe */
- 0x0000000c, /* EmcRdv */
- 0x000009e8, /* EmcRefresh */
- 0x00000000, /* EmcBurstRefreshNum */
- 0x0000027e, /* EmcPreRefreshReqCnt */
- 0x0000000a, /* EmcPdEx2Wr */
- 0x00000008, /* EmcPdEx2Rd */
- 0x00000007, /* EmcPChg2Pden */
- 0x00000000, /* EmcAct2Pden */
- 0x00000007, /* EmcAr2Pden */
- 0x0000000e, /* EmcRw2Pden */
- 0x000000b4, /* EmcTxsr */
- 0x00000200, /* EmcTxsrDll */
- 0x00000004, /* EmcTcke */
- 0x00000015, /* EmcTfaw */
- 0x00000000, /* EmcTrpab */
- 0x00000004, /* EmcTClkStable */
- 0x00000005, /* EmcTClkStop */
- 0x00000a28, /* EmcTRefBw */
- 0x00000000, /* EmcQUseExtra */
- 0x00000006, /* EmcFbioCfg6 */
- 0x00000000, /* EmcOdtWrite */
- 0x00000000, /* EmcOdtRead */
- 0x00007088, /* EmcFbioCfg5 */
- 0x002600a4, /* EmcCfgDigDll */
- 0x00008000, /* EmcCfgDigDllPeriod */
- 0x00014000, /* EmcDllXformDqs0 */
- 0x00014000, /* EmcDllXformDqs1 */
- 0x00014000, /* EmcDllXformDqs2 */
- 0x00014000, /* EmcDllXformDqs3 */
- 0x00014000, /* EmcDllXformDqs4 */
- 0x00014000, /* EmcDllXformDqs5 */
- 0x00014000, /* EmcDllXformDqs6 */
- 0x00014000, /* EmcDllXformDqs7 */
- 0x00000000, /* EmcDllXformQUse0 */
- 0x00000000, /* EmcDllXformQUse1 */
- 0x00000000, /* EmcDllXformQUse2 */
- 0x00000000, /* EmcDllXformQUse3 */
- 0x00000000, /* EmcDllXformQUse4 */
- 0x00000000, /* EmcDllXformQUse5 */
- 0x00000000, /* EmcDllXformQUse6 */
- 0x00000000, /* EmcDllXformQUse7 */
- 0x00000000, /* EmcDliTrimTxDqs0 */
- 0x00000000, /* EmcDliTrimTxDqs1 */
- 0x00000000, /* EmcDliTrimTxDqs2 */
- 0x00000000, /* EmcDliTrimTxDqs3 */
- 0x00000000, /* EmcDliTrimTxDqs4 */
- 0x00000000, /* EmcDliTrimTxDqs5 */
- 0x00000000, /* EmcDliTrimTxDqs6 */
- 0x00000000, /* EmcDliTrimTxDqs7 */
- 0x00020000, /* EmcDllXformDq0 */
- 0x00020000, /* EmcDllXformDq1 */
- 0x00020000, /* EmcDllXformDq2 */
- 0x00020000, /* EmcDllXformDq3 */
- 0x000002a0, /* EmcXm2CmdPadCtrl */
- 0x0800013d, /* EmcXm2DqsPadCtrl2 */
- 0x00000000, /* EmcXm2DqPadCtrl2 */
- 0x77fff884, /* EmcXm2ClkPadCtrl */
- 0x01f1f508, /* EmcXm2CompPadCtrl */
- 0x05057404, /* EmcXm2VttGenPadCtrl */
- 0x54000007, /* EmcXm2VttGenPadCtrl2 */
- 0x080001e8, /* EmcXm2QUsePadCtrl */
- 0x08000021, /* EmcXm2DqsPadCtrl3 */
- 0x00000802, /* EmcCttTermCtrl */
- 0x00020000, /* EmcZcalInterval */
- 0x00000040, /* EmcZcalWaitCnt */
- 0x016a000c, /* EmcMrsWaitCnt */
- 0x001fffff, /* EmcAutoCalInterval */
- 0x00000000, /* EmcCtt */
- 0x00000000, /* EmcCttDuration */
- 0x800014d2, /* EmcDynSelfRefControl */
- 0x00000005, /* McEmemArbCfg */
- 0x8000003c, /* McEmemArbOutstandingReq */
- 0x00000001, /* McEmemArbTimingRcd */
- 0x00000002, /* McEmemArbTimingRp */
- 0x00000008, /* McEmemArbTimingRc */
- 0x00000005, /* McEmemArbTimingRas */
- 0x0000000a, /* McEmemArbTimingFaw */
- 0x00000001, /* McEmemArbTimingRrd */
- 0x00000002, /* McEmemArbTimingRap2Pre */
- 0x00000007, /* McEmemArbTimingWap2Pre */
- 0x00000002, /* McEmemArbTimingR2R */
- 0x00000002, /* McEmemArbTimingW2W */
- 0x00000005, /* McEmemArbTimingR2W */
- 0x00000006, /* McEmemArbTimingW2R */
- 0x06030202, /* McEmemArbDaTurns */
- 0x000b0608, /* McEmemArbDaCovers */
- 0x70850f09, /* McEmemArbMisc0 */
- 0x001f0000, /* McEmemArbRing1Throttle */
- 0xe8000000, /* EmcFbioSpare */
- 0xff00ff88, /* EmcCfgRsv */
- },
- 0x00000040, /* EmcZcalWaitCnt */
- 0x00020000, /* EmcZcalInterval */
- 0x00000000, /* EmcCfg bit 27PERIODIC_QRST */
- 0x80000321, /* EmcMrs */
- 0x80100002, /* EmcEmrs */
- 0x00000000, /* EmcMrw1 */
- 0x00000000, /* EmcCfg bit 28 DYN_SELF_REF */
- },
};
int colibri_t30_emc_init(void)
{
-//27, 54, 108, 416, 533
-//25.5, 51, 102, 408, 533, 750
-//25.5, 51, 102, 204, 533
- tegra_init_emc(colibri_t30_emc_tables_mt41k256m16re_15e,
- ARRAY_SIZE(colibri_t30_emc_tables_mt41k256m16re_15e));
+ tegra_init_emc(colibri_t30_emc_tables_nt5cc256m16cp,
+ ARRAY_SIZE(colibri_t30_emc_tables_nt5cc256m16cp));
return 0;
}