Ash Charles of Gumstix recently noted that the Linaro image for Overo seemed to perform slower than the one they create.
I've spent a little time investigating this. I'm not familiar with this type of code and apologize if my terminology is off. However, I think there's an issue in the Linaro uboot and/or kernel preventing my Overo Tide from running at a higher clock rate. (We are running at 500mhz but its capable of 720mhz)
I first tried passing "mpurate=720" as a kernel command line option, but I noticed /proc/cpuinfo was not showing 499.92 BogoMips. I then started looking at dmesg traces and noticed this difference:
= Overo Kernel: Clocking rate (Crystal/Core/MPU): 26.0/332/500 MHz
= Linaro Kernel: Clocking rate (Crystal/Core/MPU): 26.0/224/500 MHz Reprogramming SDRC clock to 224791666 Hz dpll3_m2_clk rate change failed: -22
So I believe the first problem is that the kernel tries the wrong core clock rate. On a hunch I replaced my Linaro u-boot with the Overo u-boot. That corrected the "clocking rate" message from the kernel.
However, I still was showing 499.92 BogoMips. I looked at dmesg again and noticed this message difference:
= Overo Kernel: Switched to new clocking rate (Crystal/Core/MPU): 26.0/720/332 MHz
= Linaro Kernel: Switched to new clocking rate (Crystal/Core/MPU): 26.0/332/720 MHz
This leads me to believe the mpurate parameter isn't works differently in the two kernels. I grepped around for other parameters I might be able to pass our kernel and didn't really find anything.
So I think there may be two Linaro issues here:
1) u-boot setting up or passing incorrect clock rate 2) kernel not handling mpurate parameter correctly
I'll try and dig around some more, but any pointers would be much appreciated.
-andy