Reduce oprating current

Hi,

I would like to make Jetson Nao works very low operating current like 500mA
in all cases from start-up to normal operating condition.

Requirement

  • use Serial Console at J44
  • use only 1 ARM core
  • use PCIe
  • no use GPU, internal Video Enc/Dec
  • no use HDMI, CSI, USB, Ether

Could you tell me how to setup ?

bdaddr,

Please note that we cannot guarantee this would limit your current to 500mA.

  • no use HDMI, CSI, USB, Ether

→ You could disable them from the kernel defconfig or the device tree itself.
kernel/kernel-4.9/arch/arm64/configs/tegra_defconfig

  • no use GPU, internal Video Enc/Dec
    → For gpu, you could also disable the driver in defconfig (CONFIG_GK20A)
    → Or just remove the gpu module driver after boot up.

  • use only 1 ARM core

→ You could disable it manually with below nodes
/sys/devices/system/cpu/cpu*/online

WayneWWW,
Thank you very much for replying.

I fully understand your company does not guarantee operating current.

I could achieve <200mA at normal operating condition ( after login prompt).
But at start-up, I saw over 1A current around the following log(maybe at 7.078856 sec).
Is it possible to reduce the current at start-up?

[ 5.646169] random: systemd: uninitialized urandom read (16 bytes read)
[ 5.652889] systemd[1]: Listening on Journal Audit Socket.
[ 5.658511] systemd[1]: Reached target Slices.
[ 5.663277] systemd[1]: Listening on Journal Socket.
[ 5.733832] EXT4-fs (mmcblk0p1): re-mounted. Opts: (null)
[ 5.879130] systemd-journald[1880]: Received request to flush runtime journa1
[ 7.078856] nvgpu: 57000000.gpu gm20b_init_clk_setup_sw:1268 [INFO)

Best regards,

“[ 7.078856] nvgpu: 57000000.gpu gm20b_init_clk_setup_sw:1268 [INFO)” indicates the gpu driver starts to work. Please try with my previous comment to disable gpu driver.

Hi WayneWWW,

I tried following procedure.
If I am wrong, please advice.

  1. make menuconfig
  2. set [Device Drivers] → [Nvidia GK20A GPU support] to off
  3. make prepare
  4. make modules_prepare
  5. make -j4 Image
  6. copy Image to /boot
  7. reboot

Best regards,

Actually we have a full-step tutorial for building kernel on L4T documentation. You could download it from download center.

Hi WayneWWW,

I believe my build step is no problem.
Problem is, whenever I remove GK20A from config file,
kernel always outputs “nvgpu: 57000000.gpu gm20b_init_clk_setup_sw:1268 [INFO)”.
So I think it is difficult to disable GPU by .config file.
Please tell me if you know another way to disable GPU.

Best regards,

I also tried “make tegra_early_boot_defconfig” which is not include GK20A define.
But it fails that Jetson Nano reboot during start-up.

Please someone tell me how to build kernel image without GPU.
Or it is not possible with Jetson Nano?

Best regards,

Actually if you don’t see nvgpu in command “lsmod” then gpu would not work …

Thank you very much.
I remove(actually rename) /lib/modules/4.9.140/kernel/drivers/gpu/nvgpu/nvgpu.ko,
then GPU disappear.
But operating current is over 1A.
So GPU is not the problem.
It seems ARM cpu is the problem, because operating current decrease 500mA at the following log point.
[ 8.494191] IRQ10 no longer affine to CPU1
[ 8.498526] CPU1: shutdown
[ 8.579680] IRQ11 no longer affine to CPU2
[ 8.584253] CPU2: shutdown
[ 8.642266] IRQ12 no longer affine to CPU3
[ 8.647441] CPU3: shutdown

Do you know how to disable three ARM cpu from the kernel boot-up?

Best regards,

I think it is better disable it after boot up and use the sysfs node.

Thank you very much.
I resolve this issue by your hint.
I put “maxcpus=1” at /boot/extlinux/extlinux.conf like this, and get about 500mA current.
APPEND ${cbootargs} rootfstype=ext4 root=/dev/mmcblk0p1 rw rootwait maxcpus=1

As you said, for another way, it is ok with sysfs.

Best regards,