Apalis TK1 Ixora power consumption

We are running some power consumption benchmarks, comparing the NVidia TK1 dev board to the Toradex Ixora board.
Our comparisons show the following:

  1. Idle, no peripherals, no app processes: Ixora: 2.5W, Nvidia: 1.6W
  2. Sleep (LP0): Ixora: 1.3W, Nvidia: 0.5W

(note that LP0 was used instead of LP1 because of an issue with LP1 sleep on Ixora, see separate post)

It seems that the baseline power consumption for the Toradex board is much higher than the Nvidia reference board.
Again this is on a naked installation of NVidia’s L4T 21.5 OS. No app processes running. No peripherals hooked (not even network, no monitor, etc.).

Our application is energy sensitive (working off a battery) so this is a big issue for us.

We are currently looking at it.

One of things we noticed when we were evaluating Ixora for power is that the CAN transceivers were drawing quite a bit of power. We removed the ICs and that helped to reduce the power consumption on Ixora. Not sure if it can help you.

I am sorry it is taking so long, we are running some measurements in order to provide you an accurate answer. Thanks a lot for your patience.

Please apologize our late answer and thank you for your patience. First of all, the Ixora carrier board was not designed for lowest power consumption. This means, the board is not optimized for battery operated systems.

Nevertheless, let us discuss the consumption of the Ixora. If you power on the Ixora board without an module plugged in, it consumes a bit less than 50mW (measured with a 12V supply). However, this is not actually the consumption the board has in your use cases, since the module is not present and therefore, the 5V DC/DC and the 3.3V_SW rails are off. By disassembling R15 and placing it to the position of R14, these two rails can be switched on without the need of a module. The power consumption of the Ixora rises now up to 346mW. This consumption represents pretty much the consumption of the carrier board in your use case if there is no additional peripheral device such as an USB device or mini-PCIe card is plugged in.

As @notthetup already mentioned, the biggest load on the carrier board are the two CAN transceivers. They have a built in power isolator which has quite a high quiescent current. Unfortunately, there is currently no option to turn these two devices off if not needed. The only way is do disassemble them (IC10 and IC11) or to lift up pin 8 of each devices. That is what I did in my next test. The current consumption of the carrier board dropped now to 63mW. This means, removing the CAN transceivers dramatically reduces the consumption of the Ixora carrier board.

Now, lets talk about the power consumption of the Apalis TK1 module itself. This module was actually designed for minimizing the power consumption. The following power consumption numbers have been tested on the Apalis Evaluation board since we do have the option there to measure the current consumption of the module only.

If an Apalis TK1 module with our regular Linux image is plugged in and just left in idle, the consumption is around 2.20W. The actual consumption is temperature dependent and can different between devices due to the “silicon lottery”. By disabling the Ethernet controller in software, the consumption can be reduced to 2.0W. On the Evaluation board, there is a PCIe switch. This means the module is keeping the PCIe interface up and running even if there is no device plugged in tot he switch. The PCIe interface is quite a power hungry interface. Disabling the external PCIe switch by holding down its reset reduces the power consumption of the module to 1.4W. On the Ixora board, there is no PCIe switch. However, the Ethernet controller is also connected over PCIe to the module. Therefore, I highly recommend to disable the Ethernet controller if not needed. This means the actual power consumption numbers of an Apalis TK1 with a modified Ixora (no CAN) can be quite similar to the consumption of the Jetson board.

You wrote that you have measured also the consumption in the LP0 sleep. Looking at the numbers, we believe that the system was hanging somewhere and therefore not going into LP0 sleep. We have tested the LP1 sleep on the evaluation board and have been able to go down to 0.79W. We have tested it with disabled Ethernet and PICe devices. According to our experiences, the LP0 sleep mode will not reduce the power consumption dramatically compared to the LP1 sleep mode.

I hope these number will help you figuring out how you can further reduce the power consumption.

Thanks @peter.tx for the deep analysis on this. This is very useful for us.

Quick qn. : “We have tested the LP1 sleep on the evaluation board and have been able to go down to 0.79W” ← Can I confirm if this was on the Ixora board with Ethernet and PICe turned off?

We have tested the LP1 sleep mode on the evaluation board. The 0.79W is the power consumption of the module only. If you do not remove the CAN transceiver on the Ixora, I would expect an total power consumption of around 1.1W (0.79W for the module + 0.346W for the Ixora).

Hi Peter ,
We were testing our system based on your answer due December 13 2017.

  1. Apalis TK1 module with our regular Linux image is plugged in and just left in idle, the consumption is around 2.20W - OK, still we don’t manage to “go down” 1.4W by disabling Ethernet controller / PCIe
    Please instruct how to disable Ethernet & PCIe

  2. LP0 mode : Our consumption is ~1,4W , We dont manage to go down to 0.79W as you suggested.
    Please instruct how to disable Ethernet & PCIe

Just a reminder, we use APALIS TK1 + IXORA V1.1 HW,
No app processes running. No peripherals hooked (not even network, no monitor, etc.).

Oded

hi @odedwig

For disabling PCIe, you can disable the controller in the device tree files as following:

diff --git a/arch/arm/boot/dts/tegra124-apalis-eval.dts b/arch/arm/boot/dts/tegra124-apalis-eval.dts
index a918523…12e6bfc 100644
— a/arch/arm/boot/dts/tegra124-apalis-eval.dts
+++ b/arch/arm/boot/dts/tegra124-apalis-eval.dts
@@ -193,7 +193,7 @@
nvidia,port1_status = <1>;
hvdd_pex-supply = <&reg_3v3>;
avdd_pex_pll-supply = <&as3722_sd4>;

  •           status = "okay";
    
  •           status = "disable";
      };
    

Additionally you could disable the k20 by keeping it always in reset, if k20 is not needed.

You just need to export the following pin and set in to low value.
rst-gpio = <&gpio TEGRA_GPIO(BB, 6) GPIO_ACTIVE_HIGH>;

Best regards, Jaski

Hi Jasky,

Thanks for your answer.

We wish to Disable / Enable PCIe & Ethernet dynamically not just once , Is this possible ? , how ?

Please advise Oded

hi

We are not supporting hot plugging PCI Express, so you cannot disable the PCIE dynamically. For turning off Ethernet you can use ifdown eth1, but this will not lower you power consumption a lot.

In general, if you are concerned about low Power Consumption, TK1 might not be the right choice for you.

Best regards, Jaski