Jetson TX1 (revision 300 or greater) enables use of INA monitors for the module and Developer Kit carrier board. Note that Developer Kits may have an earlier revision of the module, in which case only INA monitors related to the carrier board are available.
HOWTO
1. Verify L4T (Linux for Tegra) is version 24.2 or higher
The L4T version can be determined with this command:
$ head -1 /etc/nv_tegra_release
If your L4T version is not at least 24.2, please download the latest JetPack installer from Embedded Developer Zone and update your Jetson TX1.
2. Verify Jetson TX1 module is revision 300 or higher
The feature to enable use of INA monitors was added starting with revision 300 of Jetson TX1. For example, SKU 699-82180-1000-300 (note the “-300”) has the feature.
The module SKU can be determined with the i2cdump command:
$ sudo i2cdump -y -r 0x14-0x26 2 0x50 b
3. Read the information via sysfs nodes
INA3221 monitors are readable via sysfs nodes. Where N is a channel number (0 – 2):
rail_name_N exports rail name
in_currentN_input exports rail current in mA
in_voltageN_input exports rail Voltage in mV
in_powerN_input exports rail power in mW
The INA driver may additionally present other nodes, but you must not modify any INA sysfs node value. Modifying these values could result in damage to your device.
The Jetson TX1 module has a 3-channel INA3221 monitor at I2C address 0x40. The sysfs nodes to read rail name, voltage, current & power can be found at:
/sys/devices/platform/7000c400.i2c/i2c-1/1-0040/iio_device/
These are the rail names for I2C address 0x42:
Channel-0: VDD_IN
main module power input
Channel-1: VDD_GPU
GPU Power rail
Channel-2: VDD_CPU
CPU Power rail
The Jetson TX1 Development Kit carrier board has 3-channel INA3221 monitors at I2C addresses 0x42 and 0x43. The sysfs nodes to read rail name, voltage, current & power can be found at:
/sys/devices/platform/7000c400.i2c/i2c-1/1-0042/iio_device/
/sys/devices/platform/7000c400.i2c/i2c-1/1-0043/iio_device/
These are the rail names for I2C address 0x42:
Channel-0: VDD_MUX
main carrier board power input
Channel-1: VDD_5V_IO_SYS
main carrier board 5V supply
Channel-2: VDD_3V3_SYS
main carrier board 3.3V supply
These are the rail names for I2C address 0x43:
Channel-0: VDD_3V3_IO (name on schematics is VDD_3V3_SLP)
carrier board 3.3V Sleep supply
Channel-1: VDD_1V8_IO (name on schematics is VDD_1V8)
main carrier board 1.8V supply
Channel-2: VDD_M2_IN (name on schematics is VDD_3V3_SYS_M2)
3.3V supply for M.2 Key E connector
Examples:
To read INA3221 @ 0x40 channel-0 rail name (i.e., VDD_IN):
$ cat /sys/devices/platform/7000c400.i2c/i2c-1/1-0040/iio_device/rail_name_0
To read VDD_IN voltage, current & power:
$ cat /sys/devices/platform/7000c400.i2c/i2c-1/1-0040/iio_device/in_current0_input
$ cat /sys/devices/platform/7000c400.i2c/i2c-1/1-0040/iio_device/in_voltage0_input
$ cat /sys/devices/platform/7000c400.i2c/i2c-1/1-0040/iio_device/in_power0_input