RK3066 - Pushing the MK808 to itís limits 
Iíve been investigating several things lately. System Tuner, like other tools, always show a constant CPU speed, never changing. It looks like the CPU speed is fixed. Thatís strange! Tools like System Tuner get their information from sysfs, so I looked at where and how those items are filled from within the kernel, or better, where they should be filled.

I added some extra logging to see what (not) happened and got the part fixed that reported the cpu speed back to userspace. While browsing through the logging I saw a different error early in the boot process saying something like ďvdd_core canít get regulator in clk_enable_dvfsĒ. I wondered what that meant. Investigating the dvfs (Dynamic Voltage & Frequency Scaling) mechanism I found that parts are missing and other parts are not working. The good thing is that the source code is provided, the bad thing is that, although itís easy adding the missing parts, it still doesnít work. The error messages disappeared, but the device now has trouble reading back the current voltage value. I ended up disabling dvfs completely for the time being. By doing so, looking at the code, this also removes some overhead and (hopefully) increases speed and stability.

The RK30 platform code has a build-in ďintelligenceĒ in regards to cpufreq governors, putting hardcoded limits on frequency scaling in place. I donít like hardcoded limits, so I removed them. I added some new governors, being SmartassV2, InteractiveX and SavagedZen and made SmartassV2 the default one. I also added IO schedulers VR and SIO.

From one thing came the other. I started tweaking the frequency table, and added overclock frequencies for 1.7GHz and 1.8GHz. Testing these frequencies with the new governors it looks like 1.7GHz is the highest stable frequency. I normally use the AnTuTu benchmark for testing, but on the MK808 AnTuTu in the current version (v3.1.2) always crashes on executing the 3D benchmark. Testing with 1.8GHz results in a complete device hang-up at some point. It seems to be a heat problem, because after a while it doesnít even boot anymore, and I actually needed to cool the device down to get it working again. So beware if you want to give this a try yourself!

Thatís it for now. Iím still working on the touchscreen driver, and my todo list is getting longer and longer. If I didnít respond to your comments or mails... sorry about that! I added most requests already to the todo list for further investigation.

Thereís a MK808B underway from Spain (thanks Alejandro!) and as you can see on the top-right of this blog, szTomato as one of the manufacturers of the MK808 is sponsoring me as well. More on that later.

Since my last kernel update I updated my github repository with a lot of changes already. There are still changes pending, like the touchscreen driver and the merge with the i-onik A09 code and the Google Common Android kernel tree. So more updates will follow!

Kernel download
The kernel can be downloaded here. Flash it in the usual way. The zip file contains only the 720p for DVI kernel. Sorry about that, but Iím short in time. Needless to say maybe, but be careful when using the CPU overclocking feature. It can damage your device!!

Please give it a try and sent me feedback of your findings. Enjoy!

[ 19 comments ] ( 981 views )   |  permalink  |   ( 3 / 6838 )

<<First <Back | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Next> Last>>