TX2 NX survive power failure als long as possible on battery mode

My TX2 NX is powered by an external power supply. In case of a power supply failure, I want to switch the TX2 NX to a power-saving mode to extend the battery life. The idea is to turn of CPU cores and reduce the clock frequency. If a power failure gets detected, I get an external signal (GPIO) from my hardware.

Does there exist some processor features which can be used for that?

How could I turn off CPU cores and change clock frequencies in a kernel module? I would like to change the operating mode like nvpmodel in userspace. I want to do it in kernel space because it should be faster there, resulting in longer battery life.

hello rabe1,

what did you meant… power supply failure?
you may see-also Jetson TX2 NX Product Design Guide for [Figure 5-6. Power Down – Sudden Power Loss].
there’s protect mechanism for power supply failure.

hi,
thank you for your response.
my carrier board buffers some energy in case my external power supply drops. To extend the time my board survives without an external power supply I need to reduce the power consumption of the Jetson TX2 NX. My idea is to turn off some cores and reduce the clock frequency. Since my buffer capacities are not large, my goal is to reduce power consumption as fast as possible. Therefore, we specified a GPIO which raises if the external power supply drops. The question is now how this GPIO should be handled to get the best results. I guess the best option would be a kernel module that listens on that GPIO and takes action. But I don’t know how to turn off CPU cores and reduce their clock frequencies inside a kernel module.

hello rabe1,

in order to turn off CPU cores, you may using sysnode to offline CPUs for testing,
for example, $ echo 0 > /sys/devices/system/cpu/cpuX/online

I know that interface, but i am looking for way to do it in a kernel driver.

hello rabe1,

there’s kernel API, cpu_down() for taking CPU offline.
you may see-also $public_sources/kernel_src/kernel/kernel-4.9/kernel/cpu.c for reference.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.