Overclocking BCM 47xx CPU's

From DD-WRT Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 12:19, 10 January 2011 (edit)
Xeijin (Talk | contribs)

← Previous diff
Current revision (09:43, 8 October 2013) (edit) (undo)
LOM (Talk | contribs)

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

Current revision

Provided by LiteUp!



Here are all of the possible combinations via source code:


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



           static uint32 BCMINITDATA(pll20mhz_table)[][8] = {
                   /* cpu, ddr, axi, pllctl12,  pllctl13,   pllctl14,   pllctl15,  |pllctl16 */
                   {  66,  66,  66, 0x11100070, 0x00121212, 0x03c00000, 0x20000000, 0 },
                   {  75,  75,  75, 0x11100070, 0x00101010, 0x03c00000, 0x20000000, 0 },
                   {  80,  80,  80, 0x11100070, 0x000a0a0a, 0x02800000, 0x20000000, 0 },
                   {  83,  83,  83, 0x11100070, 0x000c0c0c, 0x03200000, 0x20000000, 0 },
                   { 100,  66,  66, 0x11100070, 0x0012120c, 0x03c00000, 0x30000000, 0 },
                   { 100, 100, 100, 0x11100070, 0x000c0c0c, 0x03c00000, 0x20000000, 0 },
                   { 120,  60,  60, 0x11100070, 0x00101008, 0x03000000, 0x40000000, 0 },
                   { 120, 120, 120, 0x11100070, 0x00080808, 0x03000000, 0x20000000, 0 },
                   { 125,  83,  83, 0x11100070, 0x000c0c08, 0x03200000, 0x30000000, 0 },
                   { 133,  66,  66, 0x11500070, 0x00101008, 0x10a00000, 0x40000000, 4 },
                   { 133, 133, 133, 0x11500070, 0x00080808, 0x10a00000, 0x20000000, 4 },
                   { 148, 148,  74, 0x11100070, 0x00120909, 0x04300000, 0x28000000, 0 },
                   { 150,  75,  75, 0x11100070, 0x00101008, 0x03c00000, 0x40000000, 0 },
                   { 150, 100, 100, 0x11100070, 0x000c0c08, 0x03c00000, 0x30000000, 0 },
                   { 150, 150,  75, 0x11100070, 0x00100808, 0x03c00000, 0x28000000, 0 },
                   { 150, 150, 150, 0x11100070, 0x00080808, 0x03c00000, 0x20000000, 0 },
                   { 155, 155,  77, 0x11100070, 0x00120909, 0x04600000, 0x28000000, 0 },
                   { 155, 155, 155, 0x11100070, 0x00090909, 0x04600000, 0x20000000, 0 },
                   { 166,  83,  83, 0x11100070, 0x000c0c06, 0x03200000, 0x40000000, 0 },
                   { 166, 166,  83, 0x11100070, 0x000c0606, 0x03200000, 0x28000000, 0 },
                   { 166, 166, 166, 0x11100070, 0x00060606, 0x03200000, 0x20000000, 0 },
                   { 200, 200, 100, 0x11100070, 0x000c0606, 0x03c00000, 0x28000000, 0 },
                   { 223, 148,  74, 0x11100070, 0x00120906, 0x04300000, 0x38000000, 0 },
                   { 240, 120, 120, 0x11100070, 0x00080804, 0x03000000, 0x40000000, 0 },
                   { 240, 240, 120, 0x11100070, 0x00080404, 0x03000000, 0x28000000, 0 },
                   { 250, 166,  83, 0x11100070, 0x000c0604, 0x03200000, 0x38000000, 0 },
                   { 250, 166, 166, 0x11100070, 0x00060604, 0x03200000, 0x30000000, 0 },
                   { 266, 133, 133, 0x11500070, 0x00080804, 0x10a00000, 0x40000000, 4 },
                   { 266, 266, 133, 0x11500070, 0x00080404, 0x10a00000, 0x28000000, 4 },
                   { 300, 100, 100, 0x11100070, 0x000c0c04, 0x03c00000, 0x60000000, 0 },
                   { 300, 150,  75, 0x11100070, 0x00100804, 0x03c00000, 0x48000000, 0 },
                   { 300, 150, 150, 0x11100070, 0x00080804, 0x03c00000, 0x40000000, 0 },
                   { 300, 200, 100, 0x11100070, 0x000c0604, 0x03c00000, 0x38000000, 0 },
                   { 320, 213, 106, 0x11100070, 0x000c0604, 0x04000000, 0x38000000, 0 },
                   { 333, 166,  83, 0x11100070, 0x000c0603, 0x03200000, 0x48000000, 0 },
                   { 333, 166, 166, 0x11100070, 0x00060603, 0x03200000, 0x40000000, 0 },
                   { 340, 226, 113, 0x11100070, 0x000c0604, 0x04400000, 0x38000000, 0 },
                   { 354, 177,  88, 0x11500070, 0x000c0603, 0x10a00000, 0x48000000, 4 },
                   { 373, 186,  93, 0x11100070, 0x000c0603, 0x03800000, 0x48000000, 0 },
                   { 400, 133, 133, 0x11100070, 0x000c0c04, 0x05000000, 0x60000000, 0 },
                   { 400, 160,  80, 0x11100070, 0x00140a04, 0x05000000, 0x58000000, 0 },
                   { 400, 160, 160, 0x11100070, 0x000a0a04, 0x05000000, 0x50000000, 0 },
                   { 400, 200, 100, 0x11100070, 0x000c0603, 0x03c00000, 0x48000000, 0 },
                   { 400, 266, 133, 0x11100070, 0x000c0604, 0x05000000, 0x38000000, 0 },
                   { 446, 148,  74, 0x11100070, 0x00120903, 0x04300000, 0x68000000, 0 },
                   { 453, 226, 113, 0x11100070, 0x000c0603, 0x04400000, 0x48000000, 0 }, // patch from BCM
                   { 480, 137,  68, 0x11100070, 0x000e0702, 0x03000000, 0x78000000, 0 },
                   { 480, 137, 137, 0x11100070, 0x00070702, 0x03000000, 0x70000000, 0 },
                   { 480, 160,  80, 0x11100070, 0x000c0602, 0x03000000, 0x68000000, 0 },
                   { 480, 240, 120, 0x11100070, 0x00080402, 0x03000000, 0x48000000, 0 },
                   { 500, 100, 100, 0x11100070, 0x000a0a02, 0x03200000, 0xa0000000, 0 },
                   { 500, 166,  83, 0x11100070, 0x000c0602, 0x03200000, 0x68000000, 0 },
                   { 500, 166, 166, 0x11100070, 0x00060602, 0x03200000, 0x60000000, 0 },
                   { 500, 200, 100, 0x11100070, 0x000a0502, 0x03200000, 0x58000000, 0 },
                   { 500, 250, 125, 0x11100070, 0x00080402, 0x03200000, 0x48000000, 0 },
                   { 532, 133, 133, 0x11500070, 0x00080802, 0x10a00000, 0x80000000, 4 },
                   { 532, 177,  88, 0x11500070, 0x000c0602, 0x10a00000, 0x68000000, 4 },
                   { 532, 177, 177, 0x11500070, 0x00060602, 0x10a00000, 0x60000000, 4 },
                   { 532, 266, 133, 0x11500070, 0x00080402, 0x10a00000, 0x48000000, 4 },
                   {0}
           };



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