Orin NX SE hardware engine and power consumption

Hi,
Been playing around with Jetpack 5.1.2 on an Orin NX and I’ve noticed that during idle I’m using more power (~6W) than I expect. Trying to drill down into the issues I noticed the “SE” engine listed by jetson_stats (jtop) is constantly running at ~450Mhz and I’m confused as to:

  1. What this is (Security Engine maybe?)
  2. How can I figure out what is using it?
  3. How can I disable these processes so it’s shut off to try assess idle power consumption
  4. Is there any documentation surrounding this SE engine, I struggled to find any.

Regards.

Hi cameron.turner1,

Are you using the devkit or custom board for Orin NX?
Have you also verified with the latest JP5.1.3(R35.5.0)?

For the SE(Security Engine), you can refer to OP-TEE: Open Portable Trusted Execution Environment — NVIDIA Jetson Linux Developer Guide 1 documentation for details.

hello cameron.turner1,

since the min power modes of Orin NX is 10W by default.
don’t 6W already looks promising? may I also know what’s your real use-case.

it’s cryptsetup utility for using Security Engine (SE) hardware for data encryption and decryption.

by default,
SE should be running at 115.2MHz (i.e. min rate of SE).
could you please give it a try to have SE clock tuning.
for instance,
$ sudo su
$ echo <rate> > /sys/kernel/debug/bpmp/debug/clk/nafll_se/rate

1 Like

Custom board. I tested with an Orin NX on a stock Nvidia Devkit and I’m seeing the same thing though.

I am running Jetpack 5.1.2 as that’s what’s required for our organisation currently.

On a Xavier NX with a heavily customised environment we have it down to ~2.5W idle. Our requirements are to reduce power draw where we can as much as we can.

I installed 5.1.2 on a Xavier NX and the SE engine was not running at 473Mhz during idle on that platform, so it just seems to be the Orin NX?

I didn’t see cryptsetup running as a process when i investigated with top. Isn’t this just something that’s run during boot?

I tried setting the rate on the SE engine but it didn’t have any effect, stays at 473Mhz according to jtop.

Kevin is there a more detail reference of explanation for the SE? OPTEE talks around it like keyslot is part of SE. Later, Jerry talks about it being a real hardware that support Cryptsetup which is involved in Disk Encryption.
What exactly is it? a crypto engine that only crypto function and keyslot management? does it monitor Orin NX? does it power up and acts as a root of trust?

Andrew

1 Like

I tried to set a lower SE clock rate with:
$ sudo su
$ echo 250000000 > /sys/kernel/debug/bpmp/debug/clk/nafll_se/rate
It was originally 473600000
I noticed the following:

  1. Reading the value after setting it gives:
    $ cat /sys/kernel/debug/bpmp/debug/clk/nafll_se/rate
    256000000
  2. The SE clock frequency does not change as displayed by jtop (even after restarting the app)
  3. The power draw remains constant:
    VDD_CPU_GPU_CV 915mW
    VDD_SOC 2.5W
    VDD_IN 6.2W
  4. The SE frequency change did not stick after a reboot.

I am thinking that this SE engine may be ran as a service under systemd. Is there a way to have the daemon running in memory reload and maybe then read the new configuration change? Is there a way to enable it at boot so the chnage becomes more permanent?

Thanks

hi andrew.law,

SE it’s a hardware, you may refer to Orin TRM, and see-also Figure 1.1 for the block diagram.
besides, please also check Jetson Orin NX Series Data Sheet, you may refer to [2.8 Security Subsystem] for more details.

hello padames,

to be honest, it’s assumption that lower SE clock may reduce power consumption.

let me check your request internally.
however, as mentioned, the minimum power modes of Orin NX is 10W by default. I do not sure there’s capability to reserve more at the moment.

The wattage’s as defined by the power modes are power budgets, not minimum draw.

Thanks for your responses. It helps everyone to understand the difference between a power budget and an actual power draw (hopefully within the budget). The goal that some people have expressed here is to reduce the power draw of the unit when in a known low load condition in order to minimize resource consumption that may not be necessary.
So the questions that come to my mind are: What affects the SE engine workload? Is it a function of ethernet traffic, file IO, something else?
If this is the case then the answer to the next question is negative and we should stop at that, otherwise we should continue.
Is it a good policy to try to reduce the draw of this SE engine by lowering its CPU clock cycles?
If the answer to this last question is yes, how can it be done? The recipe that was suggested here does not seem to work!

ya… the real use-case is to reduce power consumption.
let us check internally whether there’s anything related to SE engine.

1 Like

Another question in general, we have in our office a Xavier NX and Orin NX and have tested both with stock Jetpack 5.1.2. We’ve found the Orin NX on average uses about 2W more power compared to the Xavier (~4 vs ~6) while idling immediately after boot (no processes being loaded etc). Can you comment on this difference at all?

1 Like

Any update on this Jerry?

1 Like

Hi cameron.turner1,

We have checked this issue with internal and confirmed that SE(Security Engine) may not affect the power consumption so that you can skip to disable SE.

Alright, can you give me any idea on how to do that then?
My other power related question also stands.

We verified it with some registers from bottom layer to disable the clock for SE, which is used for internal only.

In this topic, it seems turning off SE would not help for better power consumption.
If you have requirement for better power consumption, please file another topic to discuss in details.