diff options
author | Frank Li <frank.li@freescale.com> | 2010-11-02 19:51:26 +0800 |
---|---|---|
committer | Justin Waters <justin.waters@timesys.com> | 2010-12-13 16:10:40 -0500 |
commit | e5d7043bea25a5facf239e7b79197e1b7fe207ba (patch) | |
tree | 20968c3be9a8059ef7bc591e8fa4554400341f4a /arch | |
parent | 5bc07f0361f6c17998c9b26c72248d98ee71194d (diff) |
ENGR00133268 MX28: DVFS support mDDR
Support mDDR in DVFS driver,using config menu
system type->Freescale i.MXS implementtations->
Memory type is mDDR to select mDDR as memory
Signed-off-by: Frank Li <frank.li@freescale.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-mx28/Kconfig | 5 | ||||
-rw-r--r-- | arch/arm/mach-mx28/bus_freq.c | 16 | ||||
-rw-r--r-- | arch/arm/mach-mx28/clock.c | 20 | ||||
-rw-r--r-- | arch/arm/mach-mx28/emi_settings.c | 584 | ||||
-rw-r--r-- | arch/arm/mach-mx28/emi_settings.h | 9 |
5 files changed, 629 insertions, 5 deletions
diff --git a/arch/arm/mach-mx28/Kconfig b/arch/arm/mach-mx28/Kconfig index f099ca35ca83..dc1d8b115869 100644 --- a/arch/arm/mach-mx28/Kconfig +++ b/arch/arm/mach-mx28/Kconfig @@ -18,3 +18,8 @@ config MXS_TIMER_WITH_MACH bool "System Timer support Compare Match interrupt" default y +config MEM_mDDR + bool "Memory type is mDDR" + depends on ARCH_MX28 + help + Say Y to select mDDR memory diff --git a/arch/arm/mach-mx28/bus_freq.c b/arch/arm/mach-mx28/bus_freq.c index ef01a41fc095..920c6309e886 100644 --- a/arch/arm/mach-mx28/bus_freq.c +++ b/arch/arm/mach-mx28/bus_freq.c @@ -48,6 +48,20 @@ #define DIGCTRL_BASE_ADDR IO_ADDRESS(DIGCTL_PHYS_ADDR) #define BF(value, field) (((value) << BP_##field) & BM_##field) +#ifdef CONFIG_MEM_mDDR +struct profile profiles[] = { + { 454736, 151570, 205710, 0, 1550000, + 1450000, 355000, 3300000, 1750000, 24000, 0 }, + { 360000, 120000, 130910, 0, 1350000, + 1250000, 200000, 3300000, 1750000, 24000, 0 }, + { 261818, 130910, 130910, 0, 1350000, + 1250000, 173000, 3300000, 1750000, 24000, 0 }, + { 64000, 64000, 240000, 3, 1350000, + 1250000, 150000, 3300000, 1750000, 24000, 0 }, + { 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 }, +}; +#else struct profile profiles[] = { { 454736, 151570, 205710, 0, 1550000, 1450000, 355000, 3300000, 1750000, 24000, 0 }, @@ -60,7 +74,7 @@ struct profile profiles[] = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, }; - +#endif static struct device *busfreq_dev; static struct clk *usb_clk0; static struct clk *usb_clk1; diff --git a/arch/arm/mach-mx28/clock.c b/arch/arm/mach-mx28/clock.c index ae6f49d4ae41..2232afb0199b 100644 --- a/arch/arm/mach-mx28/clock.c +++ b/arch/arm/mach-mx28/clock.c @@ -897,7 +897,24 @@ static int emi_set_rate(struct clk *clk, unsigned long rate) memcpy(f, mxs_ram_freq_scale, (unsigned int)mxs_ram_freq_scale_end - (unsigned int)mxs_ram_freq_scale); - +#ifdef CONFIG_MEM_mDDR + if (rate <= 24000000) { + emi.emi_div = 20; + emi.frac_div = 18; + emi.new_freq = 24; + mDDREmiController_24MHz(); + } else if (rate <= 133000000) { + emi.emi_div = 3; + emi.frac_div = 22; + emi.new_freq = 133; + mDDREmiController_133MHz(); + } else { + emi.emi_div = 2; + emi.frac_div = 22; + emi.new_freq = 200; + mDDREmiController_200MHz(); + } +#else if (rate <= 133000000) { emi.emi_div = 3; emi.frac_div = 22; @@ -914,6 +931,7 @@ static int emi_set_rate(struct clk *clk, unsigned long rate) emi.new_freq = 200; DDR2EmiController_EDE1116_200MHz(); } +#endif local_irq_disable(); local_fiq_disable(); diff --git a/arch/arm/mach-mx28/emi_settings.c b/arch/arm/mach-mx28/emi_settings.c index 3ca574fd41b3..918e39deb439 100644 --- a/arch/arm/mach-mx28/emi_settings.c +++ b/arch/arm/mach-mx28/emi_settings.c @@ -677,3 +677,587 @@ void DDR2EmiController_EDE1116_200MHz(void) DRAM_REG[189] = 0xffffffff; } +void mDDREmiController_24MHz(void) +{ + DRAM_REG[0] = 0x00000000; + DRAM_REG[1] = 0x00000000; + DRAM_REG[2] = 0x00000000; + DRAM_REG[3] = 0x00000000; + DRAM_REG[4] = 0x00000000; + DRAM_REG[5] = 0x00000000; + DRAM_REG[6] = 0x00000000; + DRAM_REG[7] = 0x00000000; + DRAM_REG[8] = 0x00000000; + DRAM_REG[9] = 0x00000000; + DRAM_REG[10] = 0x00000000; + DRAM_REG[11] = 0x00000000; + DRAM_REG[12] = 0x00000000; + DRAM_REG[13] = 0x00000000; + DRAM_REG[14] = 0x00000000; + DRAM_REG[15] = 0x00000000; + DRAM_REG[16] = 0x00000000; + DRAM_REG[17] = 0x00000100; + DRAM_REG[18] = 0x00000000; + DRAM_REG[19] = 0x00000000; + DRAM_REG[20] = 0x00000000; + DRAM_REG[21] = 0x00000001; + DRAM_REG[22] = 0x00000000; + DRAM_REG[23] = 0x00000000; + DRAM_REG[24] = 0x00000000; + DRAM_REG[25] = 0x00000000; + DRAM_REG[26] = 0x00010101; + DRAM_REG[27] = 0x01010101; + DRAM_REG[28] = 0x000f0f01; + DRAM_REG[29] = 0x0f02010a; + DRAM_REG[30] = 0x00000000; + DRAM_REG[31] = 0x00000101; + DRAM_REG[32] = 0x00000100; + DRAM_REG[33] = 0x00000100; + DRAM_REG[34] = 0x01000000; + DRAM_REG[35] = 0x00000002; + DRAM_REG[36] = 0x01010000; + DRAM_REG[37] = 0x05060301; + DRAM_REG[38] = 0x02000001; + DRAM_REG[39] = 0x06000000; + DRAM_REG[40] = 0x020012c0; + DRAM_REG[41] = 0x00020102; + DRAM_REG[42] = 0x00068601; + DRAM_REG[43] = 0x01030055; + DRAM_REG[44] = 0x03010001; + DRAM_REG[45] = 0x00040004; + DRAM_REG[46] = 0x00000000; + DRAM_REG[47] = 0x00000000; + DRAM_REG[48] = 0x00012100; + DRAM_REG[49] = 0xffff0303; + DRAM_REG[50] = 0x00012100; + DRAM_REG[51] = 0xffff0303; + DRAM_REG[52] = 0x00012100; + DRAM_REG[53] = 0xffff0303; + DRAM_REG[54] = 0x00012100; + DRAM_REG[55] = 0xffff0303; + DRAM_REG[56] = 0x00000003; + DRAM_REG[57] = 0x00000000; + DRAM_REG[58] = 0x00000000; + DRAM_REG[59] = 0x00000000; + DRAM_REG[60] = 0x00000000; + DRAM_REG[61] = 0x00000000; + DRAM_REG[62] = 0x00000000; + DRAM_REG[63] = 0x00000000; + DRAM_REG[64] = 0x00000000; + DRAM_REG[65] = 0x00000000; + DRAM_REG[66] = 0x00000055; + DRAM_REG[67] = 0x01000f02; + DRAM_REG[68] = 0x00550055; + DRAM_REG[69] = 0x00000200; + DRAM_REG[70] = 0x00020006; + DRAM_REG[71] = 0xf3004925; + DRAM_REG[72] = 0xf3004925; + DRAM_REG[73] = 0xf3004925; + DRAM_REG[74] = 0xf3004925; + DRAM_REG[75] = 0x07400300; + DRAM_REG[76] = 0x07400300; + DRAM_REG[77] = 0x07400300; + DRAM_REG[78] = 0x07400300; + DRAM_REG[79] = 0x00800004; + DRAM_REG[80] = 0x00000000; + DRAM_REG[81] = 0x00000000; + DRAM_REG[82] = 0x01000000; + DRAM_REG[83] = 0x01020408; + DRAM_REG[84] = 0x08040201; + DRAM_REG[85] = 0x000f1133; + DRAM_REG[86] = 0x00000000; + DRAM_REG[87] = 0x1034a138; + DRAM_REG[88] = 0x1034a138; + DRAM_REG[89] = 0x1034a138; + DRAM_REG[90] = 0x1034a138; + DRAM_REG[91] = 0x00329f53; + DRAM_REG[92] = 0x00329f53; + DRAM_REG[93] = 0x00329f53; + DRAM_REG[94] = 0x00329f53; + DRAM_REG[95] = 0x00000000; + DRAM_REG[96] = 0x00000000; + DRAM_REG[97] = 0x00000000; + DRAM_REG[98] = 0x00000000; + DRAM_REG[99] = 0x00000000; + DRAM_REG[100] = 0x00000000; + DRAM_REG[101] = 0x00000000; + DRAM_REG[102] = 0x00000000; + DRAM_REG[103] = 0x00000000; + DRAM_REG[104] = 0x00000000; + DRAM_REG[105] = 0x00000000; + DRAM_REG[106] = 0x00000000; + DRAM_REG[107] = 0x00000000; + DRAM_REG[108] = 0x00000000; + DRAM_REG[109] = 0x00000000; + DRAM_REG[110] = 0x00000000; + DRAM_REG[111] = 0x00000000; + DRAM_REG[112] = 0x00000000; + DRAM_REG[113] = 0x00000000; + DRAM_REG[114] = 0x00000000; + DRAM_REG[115] = 0x00000000; + DRAM_REG[116] = 0x00000000; + DRAM_REG[117] = 0x00000000; + DRAM_REG[118] = 0x00000000; + DRAM_REG[119] = 0x00000000; + DRAM_REG[120] = 0x00000000; + DRAM_REG[121] = 0x00000000; + DRAM_REG[122] = 0x00000000; + DRAM_REG[123] = 0x00000000; + DRAM_REG[124] = 0x00000000; + DRAM_REG[125] = 0x00000000; + DRAM_REG[126] = 0x00000000; + DRAM_REG[127] = 0x00000000; + DRAM_REG[128] = 0x00000000; + DRAM_REG[129] = 0x00000000; + DRAM_REG[130] = 0x00000000; + DRAM_REG[131] = 0x00000000; + DRAM_REG[132] = 0x00000000; + DRAM_REG[133] = 0x00000000; + DRAM_REG[134] = 0x00000000; + DRAM_REG[135] = 0x00000000; + DRAM_REG[136] = 0x00000000; + DRAM_REG[137] = 0x00000000; + DRAM_REG[138] = 0x00000000; + DRAM_REG[139] = 0x00000000; + DRAM_REG[140] = 0x00000000; + DRAM_REG[141] = 0x00000000; + DRAM_REG[142] = 0x00000000; + DRAM_REG[143] = 0x00000000; + DRAM_REG[144] = 0x00000000; + DRAM_REG[145] = 0x00000000; + DRAM_REG[146] = 0x00000000; + DRAM_REG[147] = 0x00000000; + DRAM_REG[148] = 0x00000000; + DRAM_REG[149] = 0x00000000; + DRAM_REG[150] = 0x00000000; + DRAM_REG[151] = 0x00000000; + DRAM_REG[152] = 0x00000000; + DRAM_REG[153] = 0x00000000; + DRAM_REG[154] = 0x00000000; + DRAM_REG[155] = 0x00000000; + DRAM_REG[156] = 0x00000000; + DRAM_REG[157] = 0x00000000; + DRAM_REG[158] = 0x00000000; + DRAM_REG[159] = 0x00000000; + DRAM_REG[160] = 0x00000000; + DRAM_REG[161] = 0x00000000; + DRAM_REG[162] = 0x00000000; + DRAM_REG[163] = 0x00010301; + DRAM_REG[164] = 0x00000002; + DRAM_REG[165] = 0x00000000; + DRAM_REG[166] = 0x00000000; + DRAM_REG[167] = 0x00000000; + DRAM_REG[168] = 0x00000000; + DRAM_REG[169] = 0x00000000; + DRAM_REG[170] = 0x00000000; + DRAM_REG[171] = 0x01010000; + DRAM_REG[172] = 0x01000100; + DRAM_REG[173] = 0x03030000; + DRAM_REG[174] = 0x00020303; + DRAM_REG[175] = 0x01010202; + DRAM_REG[176] = 0x00000000; + DRAM_REG[177] = 0x01010101; + DRAM_REG[178] = 0x21002101; + DRAM_REG[179] = 0x00005500; + DRAM_REG[180] = 0x00550055; + DRAM_REG[181] = 0x00320032; + DRAM_REG[182] = 0x00320032; + DRAM_REG[183] = 0x00000000; + DRAM_REG[184] = 0x00000000; + DRAM_REG[185] = 0x00000000; + DRAM_REG[186] = 0x00000000; + DRAM_REG[187] = 0x00000000; + DRAM_REG[188] = 0x00000000; + DRAM_REG[189] = 0xffffffff; +} + +void mDDREmiController_133MHz(void) +{ + DRAM_REG[0] = 0x00000000; + DRAM_REG[1] = 0x00000000; + DRAM_REG[2] = 0x00000000; + DRAM_REG[3] = 0x00000000; + DRAM_REG[4] = 0x00000000; + DRAM_REG[5] = 0x00000000; + DRAM_REG[6] = 0x00000000; + DRAM_REG[7] = 0x00000000; + DRAM_REG[8] = 0x00000000; + DRAM_REG[9] = 0x00000000; + DRAM_REG[10] = 0x00000000; + DRAM_REG[11] = 0x00000000; + DRAM_REG[12] = 0x00000000; + DRAM_REG[13] = 0x00000000; + DRAM_REG[14] = 0x00000000; + DRAM_REG[15] = 0x00000000; + DRAM_REG[16] = 0x00000000; + DRAM_REG[17] = 0x00000100; + DRAM_REG[18] = 0x00000000; + DRAM_REG[19] = 0x00000000; + DRAM_REG[20] = 0x00000000; + DRAM_REG[21] = 0x00000000; + DRAM_REG[22] = 0x00000000; + DRAM_REG[23] = 0x00000000; + DRAM_REG[24] = 0x00000000; + DRAM_REG[25] = 0x00000000; + DRAM_REG[26] = 0x00010101; + DRAM_REG[27] = 0x01010101; + DRAM_REG[28] = 0x000f0f01; + DRAM_REG[29] = 0x0f02010a; + DRAM_REG[30] = 0x00000000; + DRAM_REG[31] = 0x00000101; + DRAM_REG[32] = 0x00000100; + DRAM_REG[33] = 0x00000100; + DRAM_REG[34] = 0x01000000; + DRAM_REG[35] = 0x00000002; + DRAM_REG[36] = 0x01010000; + DRAM_REG[37] = 0x07060301; + DRAM_REG[38] = 0x04000001; + DRAM_REG[39] = 0x0a000000; + DRAM_REG[40] = 0x02000020; + DRAM_REG[41] = 0x00020208; + DRAM_REG[42] = 0x00246c06; + DRAM_REG[43] = 0x020f0200; + DRAM_REG[44] = 0x03020002; + DRAM_REG[45] = 0x00150013; + DRAM_REG[46] = 0x00000000; + DRAM_REG[47] = 0x00000000; + DRAM_REG[48] = 0x00012100; + DRAM_REG[49] = 0xffff0303; + DRAM_REG[50] = 0x00012100; + DRAM_REG[51] = 0xffff0303; + DRAM_REG[52] = 0x00012100; + DRAM_REG[53] = 0xffff0303; + DRAM_REG[54] = 0x00012100; + DRAM_REG[55] = 0xffff0303; + DRAM_REG[56] = 0x00000003; + DRAM_REG[57] = 0x00000000; + DRAM_REG[58] = 0x00000000; + DRAM_REG[59] = 0x00000000; + DRAM_REG[60] = 0x00000000; + DRAM_REG[61] = 0x00000000; + DRAM_REG[62] = 0x00000000; + DRAM_REG[63] = 0x00000000; + DRAM_REG[64] = 0x00000000; + DRAM_REG[65] = 0x00000000; + DRAM_REG[66] = 0x00000200; + DRAM_REG[67] = 0x01000f02; + DRAM_REG[68] = 0x02000200; + DRAM_REG[69] = 0x00000200; + DRAM_REG[70] = 0x00020006; + DRAM_REG[71] = 0xf3004b27; + DRAM_REG[72] = 0xf3004b27; + DRAM_REG[73] = 0xf3004b27; + DRAM_REG[74] = 0xf3004b27; + DRAM_REG[75] = 0x07400310; + DRAM_REG[76] = 0x07400310; + DRAM_REG[77] = 0x07400310; + DRAM_REG[78] = 0x07400310; + DRAM_REG[79] = 0x00800004; + DRAM_REG[80] = 0x00000000; + DRAM_REG[81] = 0x00000000; + DRAM_REG[82] = 0x01000000; + DRAM_REG[83] = 0x01020408; + DRAM_REG[84] = 0x08040201; + DRAM_REG[85] = 0x000f1133; + DRAM_REG[86] = 0x00000000; + DRAM_REG[87] = 0x00099f36; + DRAM_REG[88] = 0x00099f36; + DRAM_REG[89] = 0x00099f36; + DRAM_REG[90] = 0x00099f36; + DRAM_REG[91] = 0x00091f0f; + DRAM_REG[92] = 0x00091f0f; + DRAM_REG[93] = 0x00091f0f; + DRAM_REG[94] = 0x00091f0f; + DRAM_REG[95] = 0x00000000; + DRAM_REG[96] = 0x00000000; + DRAM_REG[97] = 0x00000000; + DRAM_REG[98] = 0x00000000; + DRAM_REG[99] = 0x00000000; + DRAM_REG[100] = 0x00000000; + DRAM_REG[101] = 0x00000000; + DRAM_REG[102] = 0x00000000; + DRAM_REG[103] = 0x00000000; + DRAM_REG[104] = 0x00000000; + DRAM_REG[105] = 0x00000000; + DRAM_REG[106] = 0x00000000; + DRAM_REG[107] = 0x00000000; + DRAM_REG[108] = 0x00000000; + DRAM_REG[109] = 0x00000000; + DRAM_REG[110] = 0x00000000; + DRAM_REG[111] = 0x00000000; + DRAM_REG[112] = 0x00000000; + DRAM_REG[113] = 0x00000000; + DRAM_REG[114] = 0x00000000; + DRAM_REG[115] = 0x00000000; + DRAM_REG[116] = 0x00000000; + DRAM_REG[117] = 0x00000000; + DRAM_REG[118] = 0x00000000; + DRAM_REG[119] = 0x00000000; + DRAM_REG[120] = 0x00000000; + DRAM_REG[121] = 0x00000000; + DRAM_REG[122] = 0x00000000; + DRAM_REG[123] = 0x00000000; + DRAM_REG[124] = 0x00000000; + DRAM_REG[125] = 0x00000000; + DRAM_REG[126] = 0x00000000; + DRAM_REG[127] = 0x00000000; + DRAM_REG[128] = 0x00000000; + DRAM_REG[129] = 0x00000000; + DRAM_REG[130] = 0x00000000; + DRAM_REG[131] = 0x00000000; + DRAM_REG[132] = 0x00000000; + DRAM_REG[133] = 0x00000000; + DRAM_REG[134] = 0x00000000; + DRAM_REG[135] = 0x00000000; + DRAM_REG[136] = 0x00000000; + DRAM_REG[137] = 0x00000000; + DRAM_REG[138] = 0x00000000; + DRAM_REG[139] = 0x00000000; + DRAM_REG[140] = 0x00000000; + DRAM_REG[141] = 0x00000000; + DRAM_REG[142] = 0x00000000; + DRAM_REG[143] = 0x00000000; + DRAM_REG[144] = 0x00000000; + DRAM_REG[145] = 0x00000000; + DRAM_REG[146] = 0x00000000; + DRAM_REG[147] = 0x00000000; + DRAM_REG[148] = 0x00000000; + DRAM_REG[149] = 0x00000000; + DRAM_REG[150] = 0x00000000; + DRAM_REG[151] = 0x00000000; + DRAM_REG[152] = 0x00000000; + DRAM_REG[153] = 0x00000000; + DRAM_REG[154] = 0x00000000; + DRAM_REG[155] = 0x00000000; + DRAM_REG[156] = 0x00000000; + DRAM_REG[157] = 0x00000000; + DRAM_REG[158] = 0x00000000; + DRAM_REG[159] = 0x00000000; + DRAM_REG[160] = 0x00000000; + DRAM_REG[161] = 0x00000000; + DRAM_REG[162] = 0x00000000; + DRAM_REG[163] = 0x00010301; + DRAM_REG[164] = 0x00000002; + DRAM_REG[165] = 0x00000000; + DRAM_REG[166] = 0x00000000; + DRAM_REG[167] = 0x00000000; + DRAM_REG[168] = 0x00000000; + DRAM_REG[169] = 0x00000000; + DRAM_REG[170] = 0x00000000; + DRAM_REG[171] = 0x01010000; + DRAM_REG[172] = 0x01000100; + DRAM_REG[173] = 0x03030000; + DRAM_REG[174] = 0x00010303; + DRAM_REG[175] = 0x01010202; + DRAM_REG[176] = 0x00000000; + DRAM_REG[177] = 0x01020101; + DRAM_REG[178] = 0x21002101; + DRAM_REG[179] = 0x00020000; + DRAM_REG[180] = 0x02000200; + DRAM_REG[181] = 0x00320032; + DRAM_REG[182] = 0x00320032; + DRAM_REG[183] = 0x00000000; + DRAM_REG[184] = 0x00000000; + DRAM_REG[185] = 0x00000000; + DRAM_REG[186] = 0x00000000; + DRAM_REG[187] = 0x00000000; + DRAM_REG[188] = 0x00000000; + DRAM_REG[189] = 0xffffffff; +} + +void mDDREmiController_200MHz(void) +{ + + DRAM_REG[0] = 0x00000000; + DRAM_REG[1] = 0x00000000; + DRAM_REG[2] = 0x00000000; + DRAM_REG[3] = 0x00000000; + DRAM_REG[4] = 0x00000000; + DRAM_REG[5] = 0x00000000; + DRAM_REG[6] = 0x00000000; + DRAM_REG[7] = 0x00000000; + DRAM_REG[8] = 0x00000000; + DRAM_REG[9] = 0x00000000; + DRAM_REG[10] = 0x00000000; + DRAM_REG[11] = 0x00000000; + DRAM_REG[12] = 0x00000000; + DRAM_REG[13] = 0x00000000; + DRAM_REG[14] = 0x00000000; + DRAM_REG[15] = 0x00000000; + DRAM_REG[16] = 0x00000000; + DRAM_REG[17] = 0x00000100; + DRAM_REG[18] = 0x00000000; + DRAM_REG[19] = 0x00000000; + DRAM_REG[20] = 0x00000000; + DRAM_REG[21] = 0x00000000; + DRAM_REG[22] = 0x00000000; + DRAM_REG[23] = 0x00000000; + DRAM_REG[24] = 0x00000000; + DRAM_REG[25] = 0x00000000; + DRAM_REG[26] = 0x00010101; + DRAM_REG[27] = 0x01010101; + DRAM_REG[28] = 0x000f0f01; + DRAM_REG[29] = 0x0f02010a; + DRAM_REG[30] = 0x00000000; + DRAM_REG[31] = 0x00000101; + DRAM_REG[32] = 0x00000100; + DRAM_REG[33] = 0x00000100; + DRAM_REG[34] = 0x01000000; + DRAM_REG[35] = 0x00000002; + DRAM_REG[36] = 0x01010000; + DRAM_REG[37] = 0x08060301; + DRAM_REG[38] = 0x06000001; + DRAM_REG[39] = 0x0a000000; + DRAM_REG[40] = 0x02000020; + DRAM_REG[41] = 0x0002030b; + DRAM_REG[42] = 0x0036a608; + DRAM_REG[43] = 0x03160305; + DRAM_REG[44] = 0x03030002; + DRAM_REG[45] = 0x001f001c; + DRAM_REG[46] = 0x00000000; + DRAM_REG[47] = 0x00000000; + DRAM_REG[48] = 0x00012100; + DRAM_REG[49] = 0xffff0303; + DRAM_REG[50] = 0x00012100; + DRAM_REG[51] = 0xffff0303; + DRAM_REG[52] = 0x00012100; + DRAM_REG[53] = 0xffff0303; + DRAM_REG[54] = 0x00012100; + DRAM_REG[55] = 0xffff0303; + DRAM_REG[56] = 0x00000003; + DRAM_REG[57] = 0x00000000; + DRAM_REG[58] = 0x00000000; + DRAM_REG[59] = 0x00000000; + DRAM_REG[60] = 0x00000000; + DRAM_REG[61] = 0x00000000; + DRAM_REG[62] = 0x00000000; + DRAM_REG[63] = 0x00000000; + DRAM_REG[64] = 0x00000000; + DRAM_REG[65] = 0x00000000; + DRAM_REG[66] = 0x00000305; + DRAM_REG[67] = 0x01000f02; + DRAM_REG[68] = 0x03050305; + DRAM_REG[69] = 0x00000200; + DRAM_REG[70] = 0x00020007; + DRAM_REG[71] = 0xf4004b27; + DRAM_REG[72] = 0xf4004b27; + DRAM_REG[73] = 0xf4004b27; + DRAM_REG[74] = 0xf4004b27; + DRAM_REG[75] = 0x07000310; + DRAM_REG[76] = 0x07000310; + DRAM_REG[77] = 0x07000310; + DRAM_REG[78] = 0x07000310; + DRAM_REG[79] = 0x00800005; + DRAM_REG[80] = 0x00000000; + DRAM_REG[81] = 0x00000000; + DRAM_REG[82] = 0x01000000; + DRAM_REG[83] = 0x01020408; + DRAM_REG[84] = 0x08040201; + DRAM_REG[85] = 0x000f1133; + DRAM_REG[86] = 0x00000000; + DRAM_REG[87] = 0x00069f24; + DRAM_REG[88] = 0x00069f24; + DRAM_REG[89] = 0x00069f24; + DRAM_REG[90] = 0x00069f24; + DRAM_REG[91] = 0x00061f0a; + DRAM_REG[92] = 0x00061f0a; + DRAM_REG[93] = 0x00061f0a; + DRAM_REG[94] = 0x00061f0a; + DRAM_REG[95] = 0x00000000; + DRAM_REG[96] = 0x00000000; + DRAM_REG[97] = 0x00000000; + DRAM_REG[98] = 0x00000000; + DRAM_REG[99] = 0x00000000; + DRAM_REG[100] = 0x00000000; + DRAM_REG[101] = 0x00000000; + DRAM_REG[102] = 0x00000000; + DRAM_REG[103] = 0x00000000; + DRAM_REG[104] = 0x00000000; + DRAM_REG[105] = 0x00000000; + DRAM_REG[106] = 0x00000000; + DRAM_REG[107] = 0x00000000; + DRAM_REG[108] = 0x00000000; + DRAM_REG[109] = 0x00000000; + DRAM_REG[110] = 0x00000000; + DRAM_REG[111] = 0x00000000; + DRAM_REG[112] = 0x00000000; + DRAM_REG[113] = 0x00000000; + DRAM_REG[114] = 0x00000000; + DRAM_REG[115] = 0x00000000; + DRAM_REG[116] = 0x00000000; + DRAM_REG[117] = 0x00000000; + DRAM_REG[118] = 0x00000000; + DRAM_REG[119] = 0x00000000; + DRAM_REG[120] = 0x00000000; + DRAM_REG[121] = 0x00000000; + DRAM_REG[122] = 0x00000000; + DRAM_REG[123] = 0x00000000; + DRAM_REG[124] = 0x00000000; + DRAM_REG[125] = 0x00000000; + DRAM_REG[126] = 0x00000000; + DRAM_REG[127] = 0x00000000; + DRAM_REG[128] = 0x00000000; + DRAM_REG[129] = 0x00000000; + DRAM_REG[130] = 0x00000000; + DRAM_REG[131] = 0x00000000; + DRAM_REG[132] = 0x00000000; + DRAM_REG[133] = 0x00000000; + DRAM_REG[134] = 0x00000000; + DRAM_REG[135] = 0x00000000; + DRAM_REG[136] = 0x00000000; + DRAM_REG[137] = 0x00000000; + DRAM_REG[138] = 0x00000000; + DRAM_REG[139] = 0x00000000; + DRAM_REG[140] = 0x00000000; + DRAM_REG[141] = 0x00000000; + DRAM_REG[142] = 0x00000000; + DRAM_REG[143] = 0x00000000; + DRAM_REG[144] = 0x00000000; + DRAM_REG[145] = 0x00000000; + DRAM_REG[146] = 0x00000000; + DRAM_REG[147] = 0x00000000; + DRAM_REG[148] = 0x00000000; + DRAM_REG[149] = 0x00000000; + DRAM_REG[150] = 0x00000000; + DRAM_REG[151] = 0x00000000; + DRAM_REG[152] = 0x00000000; + DRAM_REG[153] = 0x00000000; + DRAM_REG[154] = 0x00000000; + DRAM_REG[155] = 0x00000000; + DRAM_REG[156] = 0x00000000; + DRAM_REG[157] = 0x00000000; + DRAM_REG[158] = 0x00000000; + DRAM_REG[159] = 0x00000000; + DRAM_REG[160] = 0x00000000; + DRAM_REG[161] = 0x00000000; + DRAM_REG[162] = 0x00000000; + DRAM_REG[163] = 0x00010301; + DRAM_REG[164] = 0x00000002; + DRAM_REG[165] = 0x00000000; + DRAM_REG[166] = 0x00000000; + DRAM_REG[167] = 0x00000000; + DRAM_REG[168] = 0x00000000; + DRAM_REG[169] = 0x00000000; + DRAM_REG[170] = 0x00000000; + DRAM_REG[171] = 0x01010000; + DRAM_REG[172] = 0x01000100; + DRAM_REG[173] = 0x03030000; + DRAM_REG[174] = 0x00020303; + DRAM_REG[175] = 0x01010202; + DRAM_REG[176] = 0x00000000; + DRAM_REG[177] = 0x01030101; + DRAM_REG[178] = 0x21002101; + DRAM_REG[179] = 0x00030500; + DRAM_REG[180] = 0x03050305; + DRAM_REG[181] = 0x00320032; + DRAM_REG[182] = 0x00320032; + DRAM_REG[183] = 0x00000000; + DRAM_REG[184] = 0x00000000; + DRAM_REG[185] = 0x00000000; + DRAM_REG[186] = 0x00000000; + DRAM_REG[187] = 0x00000000; + DRAM_REG[188] = 0x00000000; + DRAM_REG[189] = 0xffffffff; +} + + diff --git a/arch/arm/mach-mx28/emi_settings.h b/arch/arm/mach-mx28/emi_settings.h index 745bf5df352b..d22261fc3522 100644 --- a/arch/arm/mach-mx28/emi_settings.h +++ b/arch/arm/mach-mx28/emi_settings.h @@ -28,9 +28,12 @@ #ifndef __ASSEMBLER__ void mxs_ram_freq_scale_end(); -void DDR2EmiController_EDE1116_133MHz(); -void DDR2EmiController_EDE1116_166MHz(); -void DDR2EmiController_EDE1116_200MHz(); +void DDR2EmiController_EDE1116_133MHz(void); +void DDR2EmiController_EDE1116_166MHz(void); +void DDR2EmiController_EDE1116_200MHz(void); +void mDDREmiController_24MHz(void); +void mDDREmiController_133MHz(void); +void mDDREmiController_200MHz(void); unsigned int *get_current_emidata(); #endif |