[TouchPad Development] HP_TOUCHPAD:
The maximum and minimum cpu frequencies allow by the Kernel can be set to all the Android ROM ever made for the HP TOUCHPAD until now and forever!

This is apply as a native setting ( as shipped from the factory, we could say )

The ROM will not be modify, no need for ROOT access or install SuperSu or any Apps.

It can be done to an existing installed ROM, no need to re-flash, is safe and will not damage your installation or prevent you from using your TP. Even if you do not do it right, you will get your TP running as always.

This is only done in a Linux OS, I am using ubuntu, which it can also be run under a Virtual Machine in any other OS.

1. Get the boot.img from the zip ROM or the current uImage from the TP boot directory.

(The boot.img must be copy to the root/hpboot directory of the PC, not on the tablet)

2. Run each of this commands separately in terminal in the directory the boot.img is.

dumpimage -i boot.img kernel.uImage

dumpimage -i boot.img -p 1 ram

dd if=ram of=ramdisk.img.gz bs=64 skip=1

gunzip ramdisk.img.gz

mkdir ramdisk; cd ramdisk

cpio -i < ../ramdisk.img

3. Go to the ramdisk direcoty and open this file in a text editor:

init.tenderloin.power.rc

Copy and Paste under # CPU Scaling and # CPU boost the following:

Note: You can add different settings to each cpu0 or cpu1.

Different frequencies to each and also assigned different Governors to each cpu.

You have total and individual control.

# CPU Scaling

# Replace the numbers at the first two lines at the end with the frequencies your TP can handle.

# Replace the numbers at the last two lines at the end with the frequencies your TP can handle.

write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 192000

write /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq 192000

write /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 1782000

write /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq 1782000

# Configure Performance Governor

# This is optional, but it will speed boot time using both CPU at maximum frequencies.

write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "performance"

write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor "performance"

# CPU boost

# Set your desire speed can not be higher than your maximum frequencies.

write /sys/module/cpu_boost/parameters/boost_ms 20

write /sys/module/cpu_boost/parameters/sync_threshold 1782000

write /sys/module/cpu_boost/parameters/input_boost_freq 1782000

You can configure the type of governor after the system finished booting on this line. Is all up to the Kernel and your choice, but interactive is good.

# Configure Interactive

write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "interactive"

write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor "interactive"

4. Save the changes and repack the ramdisk with kernel.

Open Terminal in the ramdisk folder and paste:

find . | cpio --create --format='newc' | gzip > ../ramdisk_Pack.img

5. Go to the folder where the original boot.img file is and you should have a file ( ramdisk_Pack.img )

Paste the following two commands:

mkimage -A arm -O linux -T ramdisk -C none -a 0x00000000 -n "TENDERLOIN MAX CPU" -d ./ramdisk_Pack.img ./ramdisk.uImage

mkimage -A arm -T multi -C none -n "Tenderloin Android MAX CPU" -d kernel.uImage:ramdisk.uImage uImage.Android_MAX_CPU

6. There is a file name uImage.Android_MAX_CPU in the same folder as your original boot.img, copy it to your TP boot directory and reboot.

If you enter a wrong frequency and it did not finished then do a hard reset and select the other boot image and use it as always. If it finished booting then you are running faster than ever!

To take in consideration:

The Kernel in the ROM has the frequencies that supports, most of the ROM comes with a top frequencies of 1782000. The SKZ kernel allows for a maximum frequency of 1890000.

The HP Touchpad where made with different suppliers of components. Due to this differences not all supports the same maximum frequencies. Very few can work under 1890000 or 18360000. But you can get lucky and have one. You should know and test the maximum speed that it will take, you can do that with Kernels apps before making modifications to the Boot Image, also the minimum frequencies are important as well.

The advantages of creating your own personal Maximum Speed Boot Image:

1 You will get faster boot time as the CPUs are set to work after the system starts the booting process and do not have to wait until the GUI starts and the Kernel app applies the settings.

2. Keep your ROM secure, no ROOT and no Super User, use it as is.

3. Less apps to install to take space and waste of Memory. Kernel apps and Super User have background services that are all time running just to give you the extra speed. Other apps can get the extra Ram for more processing.

4. There is more benefits of running the device at a higher frequency with no extra processing power, than have multiple apps to fine tune your CPU and governors but use resources.