The Linux kernel parameter maxcpus can be used to configure the maximum SMP processors the Linux should make use of. Use the U-Boot serial console to add the maxcpus boot argument:
Colibri T30 # setenv defargs $defargs maxcpus=1 Colibri T30 # saveenv
Manually turn off CPU cores:
root@apalis-t30:~# echo 0 > /sys/devices/system/cpu/cpu3/online [ 1190.700711] CPU3: shutdown
Note: This is only useful if automatic CPU hot-plugging (mentioned below) is turned off.
The Linux Kernel supports automatic core aka CPU hot-plugging based on current load in order to minimize power usage. By default this feature is currently disabled as the migration to the low-power core still has some issues. However if this low-power core migration is disabled one can definitely enable automatic CPU hot-plugging.
Turn off low-power core migration:
root@apalis-t30:~# echo Y > /sys/module/cpu_tegra3/parameters/no_lp
Turn on automatic CPU hot-plugging:
root@apalis-t30:~# echo 1 > /sys/module/cpu_tegra3/parameters/auto_hotplug [ 2043.597297] Tegra auto-hotplug enabled
For more information on the Tegra specific CPU driver refer to the documentation file within the L4T Linux kernel tree: Documentation/arm/nvidia/tegra_parameters.txt