Overclocking BCM 47xx CPU's

From DD-WRT Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 03:44, 15 January 2010 (edit)
Masterman (Talk | contribs)

← Previous diff
Revision as of 03:46, 15 January 2010 (edit) (undo)
Masterman (Talk | contribs)

Next diff →
Line 100: Line 100:
-nvram set clkfreq= (value)+nvram set clkfreq= (value) example: 480,240,120
nvram commit nvram commit
reboot reboot

Revision as of 03:46, 15 January 2010

Provided by LiteUp!



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.



To properly overclock a BCM47xx CPU, do the following in a Telnet/ SSH session:


nvram set clkfreq= (value) example: 480,240,120

nvram commit

reboot