diff options
author | Ray Poudrier <rapoudrier@nvidia.com> | 2011-11-03 18:12:15 -0700 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:50:11 -0800 |
commit | 1dbac767d324ab9dfa08f65d1e63212afcd3d165 (patch) | |
tree | 026d9c1eb8fab299620387a3facc085a6024aa88 /arch/arm/mach-tegra/board-cardhu-memory.c | |
parent | 21a64ae60c23b4c74dbb7674b676bd04fc99f448 (diff) |
ARM: tegra: cardhu: Expand EMC DFS table for Hynix DDR3
- Added dynamic self-refresh field, and updated arbitration settings
Bug 896654
Reviewed-on: http://git-master/r/61725
(cherry picked from commit 2d5a9c1fbe5cdf4f4233ec3eca230d625d0439de)
Reviewed-on: http://git-master/r/62296
(cherry picked from commit 31f9198bcc05c35cc4aa797e4f224aed62fdfc64)
Signed-off-by: Ray Poudrier <rapoudrier@nvidia.com>
Reviewed-on: http://git-master/r/62534
(cherry picked from commit a0977e407c3937aae077304ca1ec1f937419c07b)
Change-Id: I16b46da22d1a7c40bafcc1e55fd22f2979f3798b
Reviewed-on: http://git-master/r/64982
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
Rebase-Id: R15d84c206780f90108f44ebe7cc4812d75d3e57f
Diffstat (limited to 'arch/arm/mach-tegra/board-cardhu-memory.c')
-rw-r--r-- | arch/arm/mach-tegra/board-cardhu-memory.c | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/arch/arm/mach-tegra/board-cardhu-memory.c b/arch/arm/mach-tegra/board-cardhu-memory.c index bf73e0b35846..9a2bbdc0b900 100644 --- a/arch/arm/mach-tegra/board-cardhu-memory.c +++ b/arch/arm/mach-tegra/board-cardhu-memory.c @@ -615,7 +615,7 @@ static const struct tegra_emc_table cardhu_emc_tables_h5tc2g[] = { static const struct tegra_emc_table cardhu_emc_tables_h5tc2g_a2[] = { { - 0x31, /* Rev 3.1 */ + 0x32, /* Rev 3.2 */ 25500, /* SDRAM frequency */ { 0x00000001, /* EMC_RC */ @@ -706,7 +706,7 @@ static const struct tegra_emc_table cardhu_emc_tables_h5tc2g_a2[] = { 0x00000000, /* EMC_CTT_DURATION */ 0x80000280, /* EMC_DYN_SELF_REF_CONTROL */ 0x00020001, /* MC_EMEM_ARB_CFG */ - 0x80000008, /* MC_EMEM_ARB_OUTSTANDING_REQ */ + 0xc0000008, /* MC_EMEM_ARB_OUTSTANDING_REQ */ 0x00000001, /* MC_EMEM_ARB_TIMING_RCD */ 0x00000001, /* MC_EMEM_ARB_TIMING_RP */ 0x00000002, /* MC_EMEM_ARB_TIMING_RC */ @@ -732,9 +732,10 @@ static const struct tegra_emc_table cardhu_emc_tables_h5tc2g_a2[] = { 0x80001221, /* Mode Register 0 */ 0x80100003, /* Mode Register 1 */ 0x80200008, /* Mode Register 2 */ + 0x00000001, /* EMC_CFG.DYN_SELF_REF */ }, { - 0x31, /* Rev 3.1 */ + 0x32, /* Rev 3.2 */ 51000, /* SDRAM frequency */ { 0x00000002, /* EMC_RC */ @@ -825,7 +826,7 @@ static const struct tegra_emc_table cardhu_emc_tables_h5tc2g_a2[] = { 0x00000000, /* EMC_CTT_DURATION */ 0x8000040b, /* EMC_DYN_SELF_REF_CONTROL */ 0x00000001, /* MC_EMEM_ARB_CFG */ - 0x8000000a, /* MC_EMEM_ARB_OUTSTANDING_REQ */ + 0xc000000a, /* MC_EMEM_ARB_OUTSTANDING_REQ */ 0x00000001, /* MC_EMEM_ARB_TIMING_RCD */ 0x00000001, /* MC_EMEM_ARB_TIMING_RP */ 0x00000002, /* MC_EMEM_ARB_TIMING_RC */ @@ -851,9 +852,10 @@ static const struct tegra_emc_table cardhu_emc_tables_h5tc2g_a2[] = { 0x80001221, /* Mode Register 0 */ 0x80100003, /* Mode Register 1 */ 0x80200008, /* Mode Register 2 */ + 0x00000001, /* EMC_CFG.DYN_SELF_REF */ }, { - 0x31, /* Rev 3.1 */ + 0x32, /* Rev 3.2 */ 102000, /* SDRAM frequency */ { 0x00000004, /* EMC_RC */ @@ -944,7 +946,7 @@ static const struct tegra_emc_table cardhu_emc_tables_h5tc2g_a2[] = { 0x00000000, /* EMC_CTT_DURATION */ 0x80000713, /* EMC_DYN_SELF_REF_CONTROL */ 0x00000001, /* MC_EMEM_ARB_CFG */ - 0x80000013, /* MC_EMEM_ARB_OUTSTANDING_REQ */ + 0xc0000013, /* MC_EMEM_ARB_OUTSTANDING_REQ */ 0x00000001, /* MC_EMEM_ARB_TIMING_RCD */ 0x00000001, /* MC_EMEM_ARB_TIMING_RP */ 0x00000003, /* MC_EMEM_ARB_TIMING_RC */ @@ -970,9 +972,10 @@ static const struct tegra_emc_table cardhu_emc_tables_h5tc2g_a2[] = { 0x80001221, /* Mode Register 0 */ 0x80100003, /* Mode Register 1 */ 0x80200008, /* Mode Register 2 */ + 0x00000001, /* EMC_CFG.DYN_SELF_REF */ }, { - 0x31, /* Rev 3.1 */ + 0x32, /* Rev 3.2 */ 408000, /* SDRAM frequency */ { 0x00000012, /* EMC_RC */ @@ -1089,9 +1092,10 @@ static const struct tegra_emc_table cardhu_emc_tables_h5tc2g_a2[] = { 0x80000731, /* Mode Register 0 */ 0x80100002, /* Mode Register 1 */ 0x80200008, /* Mode Register 2 */ + 0x00000000, /* EMC_CFG.DYN_SELF_REF */ }, { - 0x31, /* Rev 3.1 */ + 0x32, /* Rev 3.2 */ 533000, /* SDRAM frequency */ { 0x00000018, /* EMC_RC */ @@ -1208,9 +1212,10 @@ static const struct tegra_emc_table cardhu_emc_tables_h5tc2g_a2[] = { 0x80000941, /* Mode Register 0 */ 0x80100002, /* Mode Register 1 */ 0x80200008, /* Mode Register 2 */ + 0x00000000, /* EMC_CFG.DYN_SELF_REF */ }, { - 0x31, /* Rev 3.1 */ + 0x32, /* Rev 3.2 */ 750000, /* SDRAM frequency */ { 0x00000025, /* EMC_RC */ @@ -1327,6 +1332,7 @@ static const struct tegra_emc_table cardhu_emc_tables_h5tc2g_a2[] = { 0x80000d71, /* Mode Register 0 */ 0x80100002, /* Mode Register 1 */ 0x80200018, /* Mode Register 2 */ + 0x00000000, /* EMC_CFG.DYN_SELF_REF */ }, }; |