How to disable T30 display drivers to save power

In the article “Thermal Management” Thermal Management | Toradex Developer Center, in the section on saving power it mentions that turning off unused display interfaces can help reduce power usage. I don’t need any displays at all (SSH is enough).

I’m running OE Linux on a Colibri T30 and the supplied instructions only apply to windows.

Searching elsewhere didn’t turn up much and I’m not sure if I should be looking in uBoot or the Linux kernal options or even Xorg config. Just pointing me in the right direction would be helpful. Even instructions on how to disable the Ethernet on the Iris board would be helpful.

I admit this is not well documented anywhere on our developer website so far.

First you would need to stop X from being started upon boot as the Tegra X driver has issues if launched without any display interface being active:

root@colibri-t30:~# systemctl disable lxdm
Removed symlink /etc/systemd/system/display-manager.service.

Then upon rebooting simply enter the U-Boot boot loader’s command shell console and disable the display interfaces as follows:

Colibri T30 # setenv vidargs 'video=tegrafb0:off video=tegrafb1:off'
Colibri T30 # saveenv
Saving Environment to MMC...
Writing to MMC(0)... done

As for Ethernet this is realised by an ASIX AX88772B USB-to-Ethernet chip on the module whose reset and VBUS lines are controlled by the following GPIO’s:

root@colibri-t30:~# cat /sys/kernel/debug/gpio | grep LAN_
 gpio-232 (LAN_RESET           ) out hi
 gpio-234 (LAN_V_BUS           ) out hi

One can simply keep the Ethernet chip in reset and deassert VBUS to completely turn it off as follows:

root@colibri-t30:~# echo 0 > /sys/class/gpio/gpio232/value
[  230.272092] usb 1-1: USB disconnect, device number 2
[  230.279574] eth0: unregister 'asix' usb-tegra-ehci.1-1, ASIX AX88772B USB 2.0 Ethernet
[  230.405699] ADDRCONF(NETDEV_UP): dummy0: link is not ready
[  230.412952] ADDRCONF(NETDEV_UP): sit0: link is not ready
[  230.418276] ADDRCONF(NETDEV_UP): ip6tnl0: link is not ready
root@colibri-t30:~# echo 0 > /sys/class/gpio/gpio234/value

Thanks! That worked great!

For those who might be interested, the power saving I observed was about 0.3 Watt for the Ethernet and about 0.3 Watt for the display interface.

On my Iris (powered by a 9V supply), this took my idle power usage from about 1.5W down to 0.9W (a saving of about 40%). Which is great!