cpu reclocking to 500Mhz, overclocking to 533Mhz, performance tests and bootloader images

Gennady Kupava gb at bsdmn.com
Tue Jun 29 00:40:35 CEST 2010


Hi, list.

This time i decided to try to look at performace from other side: check
clocking, sdram timing and other things, so here is my report. I already
"announced it" on IRC.

Foreword:
WARNING!!! Do it at your own risk nobody will be responsible in any case
of problems, Only thing i can say: all configurations were at least
tried here. Some were also tested. I will use something of 533/88/clk2
or 465/116, or finally 500/83/clk2 in case of any troubles. I'm not hw
engineer.

Foreword 2:
I hope some hardware expert review my findings.

---> Theory:
1. CPU
Facts: In BOM, it is stated our CPU is stated as '500mhz 1.7v'.
Unfortunately I have only manual for 400Mhz version, so i can't tell for
sure which voltage range can be applied to it.

Voltage: according to schematic, voltage is used only to feed CPU.

So.. conclusion: 500mhz and 1.7 voltage is native for our cpu so this
never will hurt it, but board were not designed for 1.7V. may be some hw
expert may review this.

2.Memory.
Facts: We have 2 sdram modules - 1 inside cpu and 1 outside. both have
same timings. both are clk3 at up to 133Mhz, and clk2 at up to 83mhz.

Idea: So, conclusion: at 100Mhz, memory not show all it's potential, as
we have to run it on clk3 and (according tests) 88mhz/clk2-2-2 is same
speed to 100mhz/clk3-3-3. Also it SDRAM itself should run up to 133Mhz
without troubles.

Bus: Memory is on same bus as: part of glamo, nand (internal), wifi.
sdram (internal), nor flash, and may be something else so it's generally
bad idea to increase it's voltage.

If we need to rise memory voltage it will not be really good idea, and i
in fact didn't checked all harware for compatibility, but here is what i
checked:
sdram in cpu -> up to 1.95 ok
sdram -> up to 1.95 ok
cpu -> up to 1.95 ok
glamo -> up to 1.9 ok
nand "voltage on any pin relative to Vss" -> -0.5-2.45 unsure, but
sounds ok ok.

3. USB
usb have separate clock, so forget it.

4. overall frequency
CPU freq may be to almost any value, but it is limited to rate 1:3:6 or
1:4:8 or 1:6:12. no 1:5. (ratings CPU/MEMORY/PERIPHERIAL).

---> Practice:

i saved different uboots which sets differents speed:
www.bsdmn.com/openmoko/uboot500

many of them are not working, all were tried here. once i even thought
my fr i dead, but at the end i found that it is just my AUX desoldered.
so i fixed AUX and continue tests bravely :)

if you not planning to dive deep in this topic i consider you be
interested in slightly overclocked:
www.bsdmn.com/openmoko/uboot500/u-boot.udfu_533_88_1.7_1.8_CLK2

you need nothing to test it. in case of troubles it will be useful to
try non-overclocked, in-spec version:
www.bsdmn.com/openmoko/uboot500/u-boot.udfu_500_83_1.7_1.8_CLK2

for whoose who like a bit more speed, risk to hardware and work, assume
your fr is fried before trying this, but this works here and is fastest
config:
www.bsdmn.com/openmoko/uboot500/u-boot.udfu_465_116_1.65_1.9
and in case of trouble a bit slower:
www.bsdmn.com/openmoko/uboot500/u-boot.udfu_450_112_1.65_1.9

default u-boot is 400_100_1.5_1.8_CLK3.
so, CPUCLOCK_MEMCLOCK_CPUVOLTAGE_MEMVOLTAGE. if something not mentioned
in file name - it is default.

as you see last 2 configs use modified memory voltage. to use it you
need patch to the kernel. by default kernel will reset voltage to 1.8.
patched kernel allow 1.8-1.9 range, see patch and end of mail.

I tested all working configs to Xorg, on .34 kernel. decoded some videos
on both u-boot.udfu_465_116_1.7_1.9_sdmax and
u-boot.udfu_533_88_1.7_1.8_CLK2

---> u-boot setup help

for whoose who not familiar with u-boot setup i provided
www.bsdmn.com/openmoko/uboot500/u-boot_env.in

flash it with:
dfu-util -D u-boot_env.in -a u-boot_env

use power -> wait 0.3s ->hold aux for nand uboot menu.

---> Power consumption:

sorry, no tests :( may be someone?

---> Performance testing:

i tested several working configurations with lmbench:
www.bsdmn.com/openmoko/uboot500/lmbench.txt

as you can see, 462/116 version seem best from kernel subsystem point of
view. of course, pure computation will be better with 533/500Mhz.

550Mhz is excluded as it requires 1.75V CPU, and CLK2 version also 1.9V
mem and were not 100% stable.

for whoose who not familiar with u-boot:
you may flash setting partition, use file u-boot_env and flash it with
-a u-boot_env. press power and and 0.5 sec aux for NAND uboot menu.


---> Patches
uboot clk2:http://www.bsdmn.com/openmoko/uboot500/CLK2.patch
uboot frequency setting
sample:http://www.bsdmn.com/openmoko/uboot500/500_83_1.7.patch
kernel patch to allow 1.9v on memory/other peritherials
bus:http://www.bsdmn.com/openmoko/uboot500/kernel_memvoltage.patch

Hope you'll have fun with faster fr :)

Gennady.




More information about the community mailing list