Overclocking BCM 47xx CPU's

From DD-WRT Wiki

Revision as of 03:34, 15 January 2010 by Masterman (Talk | contribs)
(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search

Here are all of the possible combinations via source code:

Code:

       /* 20MHz table for 4716, 4717, 4718, 47162 */

389 static uint32 BCMINITDATA(pll20mhz_table)[][8] = { 390 /* cpu, ddr, axi, pllctl12, pllctl13, pllctl14, pllctl15, |pllctl16 */ 391 { 66, 66, 66, 0x11100070, 0x00121212, 0x03c00000, 0x20000000, 0 }, 392 { 75, 75, 75, 0x11100070, 0x00101010, 0x03c00000, 0x20000000, 0 }, 393 { 80, 80, 80, 0x11100070, 0x000a0a0a, 0x02800000, 0x20000000, 0 }, 394 { 83, 83, 83, 0x11100070, 0x000c0c0c, 0x03200000, 0x20000000, 0 }, 395 { 100, 66, 66, 0x11100070, 0x0012120c, 0x03c00000, 0x30000000, 0 }, 396 { 100, 100, 100, 0x11100070, 0x000c0c0c, 0x03c00000, 0x20000000, 0 }, 397 { 120, 60, 60, 0x11100070, 0x00101008, 0x03000000, 0x40000000, 0 }, 398 { 120, 120, 120, 0x11100070, 0x00080808, 0x03000000, 0x20000000, 0 }, 399 { 125, 83, 83, 0x11100070, 0x000c0c08, 0x03200000, 0x30000000, 0 }, 400 { 133, 66, 66, 0x11500070, 0x00101008, 0x10a00000, 0x40000000, 4 }, 401 { 133, 133, 133, 0x11500070, 0x00080808, 0x10a00000, 0x20000000, 4 }, 402 { 148, 148, 74, 0x11100070, 0x00120909, 0x04300000, 0x28000000, 0 }, 403 { 150, 75, 75, 0x11100070, 0x00101008, 0x03c00000, 0x40000000, 0 }, 404 { 150, 100, 100, 0x11100070, 0x000c0c08, 0x03c00000, 0x30000000, 0 }, 405 { 150, 150, 75, 0x11100070, 0x00100808, 0x03c00000, 0x28000000, 0 }, 406 { 150, 150, 150, 0x11100070, 0x00080808, 0x03c00000, 0x20000000, 0 }, 407 { 155, 155, 77, 0x11100070, 0x00120909, 0x04600000, 0x28000000, 0 }, 408 { 155, 155, 155, 0x11100070, 0x00090909, 0x04600000, 0x20000000, 0 }, 409 { 166, 83, 83, 0x11100070, 0x000c0c06, 0x03200000, 0x40000000, 0 }, 410 { 166, 166, 83, 0x11100070, 0x000c0606, 0x03200000, 0x28000000, 0 }, 411 { 166, 166, 166, 0x11100070, 0x00060606, 0x03200000, 0x20000000, 0 }, 412 { 200, 200, 100, 0x11100070, 0x000c0606, 0x03c00000, 0x28000000, 0 }, 413 { 223, 148, 74, 0x11100070, 0x00120906, 0x04300000, 0x38000000, 0 }, 414 { 240, 120, 120, 0x11100070, 0x00080804, 0x03000000, 0x40000000, 0 }, 415 { 240, 240, 120, 0x11100070, 0x00080404, 0x03000000, 0x28000000, 0 }, 416 { 250, 166, 83, 0x11100070, 0x000c0604, 0x03200000, 0x38000000, 0 }, 417 { 250, 166, 166, 0x11100070, 0x00060604, 0x03200000, 0x30000000, 0 }, 418 { 266, 133, 133, 0x11500070, 0x00080804, 0x10a00000, 0x40000000, 4 }, 419 { 266, 266, 133, 0x11500070, 0x00080404, 0x10a00000, 0x28000000, 4 }, 420 { 300, 100, 100, 0x11100070, 0x000c0c04, 0x03c00000, 0x60000000, 0 }, 421 { 300, 150, 75, 0x11100070, 0x00100804, 0x03c00000, 0x48000000, 0 }, 422 { 300, 150, 150, 0x11100070, 0x00080804, 0x03c00000, 0x40000000, 0 }, 423 { 300, 200, 100, 0x11100070, 0x000c0604, 0x03c00000, 0x38000000, 0 }, 424 { 320, 213, 106, 0x11100070, 0x000c0604, 0x04000000, 0x38000000, 0 }, 425 { 333, 166, 83, 0x11100070, 0x000c0603, 0x03200000, 0x48000000, 0 }, 426 { 333, 166, 166, 0x11100070, 0x00060603, 0x03200000, 0x40000000, 0 }, 427 { 340, 226, 113, 0x11100070, 0x000c0604, 0x04400000, 0x38000000, 0 }, 428 { 354, 177, 88, 0x11500070, 0x000c0603, 0x10a00000, 0x48000000, 4 }, 429 { 373, 186, 93, 0x11100070, 0x000c0603, 0x03800000, 0x48000000, 0 }, 430 { 400, 133, 133, 0x11100070, 0x000c0c04, 0x05000000, 0x60000000, 0 }, 431 { 400, 160, 80, 0x11100070, 0x00140a04, 0x05000000, 0x58000000, 0 }, 432 { 400, 160, 160, 0x11100070, 0x000a0a04, 0x05000000, 0x50000000, 0 }, 433 { 400, 200, 100, 0x11100070, 0x000c0603, 0x03c00000, 0x48000000, 0 }, 434 { 400, 266, 133, 0x11100070, 0x000c0604, 0x05000000, 0x38000000, 0 }, 435 { 446, 148, 74, 0x11100070, 0x00120903, 0x04300000, 0x68000000, 0 }, 436 { 453, 226, 113, 0x11100070, 0x000c0603, 0x04400000, 0x48000000, 0 }, // patch from BCM 437 { 480, 137, 68, 0x11100070, 0x000e0702, 0x03000000, 0x78000000, 0 }, 438 { 480, 137, 137, 0x11100070, 0x00070702, 0x03000000, 0x70000000, 0 }, 439 { 480, 160, 80, 0x11100070, 0x000c0602, 0x03000000, 0x68000000, 0 }, 440 { 480, 240, 120, 0x11100070, 0x00080402, 0x03000000, 0x48000000, 0 }, 441 { 500, 100, 100, 0x11100070, 0x000a0a02, 0x03200000, 0xa0000000, 0 }, 442 { 500, 166, 83, 0x11100070, 0x000c0602, 0x03200000, 0x68000000, 0 }, 443 { 500, 166, 166, 0x11100070, 0x00060602, 0x03200000, 0x60000000, 0 }, 444 { 500, 200, 100, 0x11100070, 0x000a0502, 0x03200000, 0x58000000, 0 }, 445 { 500, 250, 125, 0x11100070, 0x00080402, 0x03200000, 0x48000000, 0 }, 446 { 532, 133, 133, 0x11500070, 0x00080802, 0x10a00000, 0x80000000, 4 }, 447 { 532, 177, 88, 0x11500070, 0x000c0602, 0x10a00000, 0x68000000, 4 }, 448 { 532, 177, 177, 0x11500070, 0x00060602, 0x10a00000, 0x60000000, 4 }, 449 { 532, 266, 133, 0x11500070, 0x00080402, 0x10a00000, 0x48000000, 4 }, 450 {0} 451 };


I will give you a warning though. DO NOT USE ANYTHING WITH A DDR MEMORY REQUENCY OVER 250MHZ ON A WRT320N. The DDR part used on these boards has an operating ceiling of 250MHz. I have tried the 533/266 setting once or twice and the board immediately locks up. After several tries (it was hard) I finally got a hard reset to take via the WPS button on the front that Eko activated. This hard reset sends you back to the default settings hard-coded in the CFE of 354,177,88 (you can see this near the top of the CFE if you view it in a hex editor).

Good combinations are 500/250, 480/240 (my preferred), 453/226, 400/200, 373/186, and 354/177 (std.). These are all half-speed DDR setting with relation to the MIPS CPU. The other settings choices with similar MIPS speeds and lower than half speed DDR take a big performance hit and are not worth it. You do not have to specify the third frequency (backplane frequency), but you can if you want. Anytime you specify a frequency that is maybe not in the table (if you have a typo on your command line or something) it will upshift to the next highest frequency in the table.

BTW....yes, the Asus RT-N16 and the Netgear WNR3500L are both running by default at 480,240,120. I have viewed their CFEs and seen this as their default operating frequencies.