I am running a set of experiments where I am controlling the different core frequencies on the Tegra K1 (for example for GPU, CPU complexes and EMC (RAM)) to model power usage. To do this, I execute the following commands:
root@jetson: echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor root@jetson: echo 0 > /sys/devices/system/cpu/cpuquiet/tegra_cpuquiet/enable root@jetson: echo G > /sys/kernel/cluster/active root@jetson: echo N > /sys/module/cpuidle/parameters/power_down_in_idle root@jetson: echo 1 > /sys/kernel/debug/clock/override.gbus/state root@jetson: echo 72000000 > /sys/kernel/debug/clock/override.gbus/rate root@jetson: echo 1 > /sys/kernel/debug/clock/override.emc/state root@jetson: echo 12750000 > /sys/kernel/debug/clock/override.emc/rate
After that, I run some benchmarks that quickly make the platform hang up completely. It needs to be restarted by pushing the reset button manually (there is no way to use it in this state, not directly with keyboard and display nor over SSH).
The benchmarks are simple CUDA-accelerated C-programs that reads video files from a ram filesystem, processes them and writes the output to /dev/null.