Identifying TX1 and TX2 at runtime

Hi,

Is there any command to identify if the board is Jetson TX1 or TX2? I’ve both TX1 and TX2, and for some development purpose, want to know which board I’m using at runtime.

I tried the following to get the CPU info -

cat /proc/cpuinfo

Only Jetson TX1 shows the Hardware name as “jetson_tx1”. On TX2, there is no Hardware name when the above command is used.

I also tried to use the following command to identify the L4T version

head -n 1 /etc/nv_tegra_release

Output on TX1 was

# R24 (release), REVISION: 2.1, GCID: 8028265, BOARD: t210ref, EABI: aarch64, DATE: Thu Nov 10 03:51:59 UTC 2016

On TX2, output of above command was

# R27 (release), REVISION: 1.0, GCID: 8566447, BOARD: t186ref, EABI: aarch64, DATE: Thu Mar 2 05:14:54 UTC 2017

What does “BOARD: t210ref”/“BOARD: t186ref” refer to, here? Is it fixed and unique for TX1 and TX2? Can I use this to differentiate TX1 from TX2?

If there is any way to identify the underlying board at runtime, let me know.

Thanks.

You may get it from

cat /sys/devices/soc0/soc_id

FYI, the Tegra X1 chip is the tegra21x series, the Tegra X2 chip is the tegra18x series. The JTX1 is specifically the tegra210, the Jetson TX2 is specifically the tegra186. So knowing the chip is specifically the t210 guarantees it is the SoC used on the Jetson TX1, and knowing it is the t186 guarantees the SoC is the same as that used on the Jetson TX2 (perhaps some day the t186 or t210 will be used on some other board, but so far I do not know of any such case).

I believe the Nintendo Switch uses the t210.

soc_id is present on TX1 and it is REV=A02:SKU=0x17:PID=0x0.
But on TX2, the directory “/sys/devices/soc0” is not at all present. Am I missing anything?

Thanks for the information.

Sorry for the misleading information. It seems this node has disappeared in R27.
You may use instead:

cat /sys/module/tegra_fuse/parameters/tegra_chip_id

I find these codes:
TK1: 64
TX1: 33
TX2: 24
[EDIT: Xavier: 25]

You can also look at CUDA sample deviceQuery, for getting info about GPU from cudaGetDeviceProperties() in C++ code. If deviceProp.name is “GP10B” then you are on a TX2.

Hi all,

Do you know how to identify the NVIDIA Jetson TX2i? Has another ID code?

Hi Raffaello, the Jetson TX2i has a slightly different chip ID since it is the industrial variant of the SoC, so you should still be able to use the above method to differentiate the modules.

Hi Dustin,
Thank you for your message. Do you know which is the “tegra_chip_id” for the NVIDIA Jetson TX2i.
I’m updating the jetson_easy variables (https://github.com/rbonghi/jetson_easy ) , but I don’t have the TX2i to know the code.

Thank you in advance
Raffaello

Not sure which value the variable is, the chip is TM770.

Hi All,
I believe the following variable can differentiate whether it is TX2i or TX2. Kindly note, this is
based on JetPack 4.2.2 ( L4T 32.2.1)

nvidia@nvidia-desktop:/sys/module/tegra_fuse/parameters$ cat tegra_prod_mode
1

There are other ways to find out I presume.

TX2i
nvidia@nvidia-desktop:/opt/jetson_stats$ head -n 1 /etc/nv_tegra_release

R32 (release), REVISION: 2.1, GCID: 16294929, BOARD: t186ref, EABI: aarch64, DATE: Tue Aug 13 04:45:36 UTC 2019

TX2
GCID : 11272647

It looks GCID is slightly different between TX2i and TX2. And also in kernel log, The SKU ID is diffrent as well. For TX2i SKU ID is 0x90 and TX2 SKU ID is 0xdc.

@Raffaello,
It may require change the jetson_variables script slightly. The L4T revision should be determined before we access tegra_fuse parameters. Because, some parameters might not be available between different L4T releases.