NVIDIA Tegra
NVIDIA Jetson Linux Developer Guide
32.4.3 Release

 

Hardware Setup

 
Jetson Developer Kit Module Setup
Enabling Bluetooth Audio
Voltage and Current Monitor
Jetson Module EEPROM Layout
Configuring the 40-Pin Expansion Header
When developing systems and application software with an NVIDIA® Jetson™ device and Linux, you run and test your code on an actual reference platform, such as the NVIDIA® Jetson Nano™ Developer Kit. Your code targets this hardware directly, rather than a software simulator or emulator.
Accordingly, you must acquire and set up your carrier board before using L4T. Consult your board documentation for guidance on setting up and configuring your board. See the sections below for additional notes.

Jetson Developer Kit Module Setup

 
Jetson Xavier NX
Carrier Board Preparation
Platform Board Layout
Jetson Nano
Carrier Board Preparation
Platform Board Layout
Jetson AGX Xavier Series Devices
Carrier Board Preparation
Platform Board Layout
Jetson TX2 Series Devices
Carrier Board Preparation
Platform Board Layout
Jetson TX1
Carrier Board Preparation
Platform Board Layout
This section provides additional notes that apply to the Jetson Developer Kit for specific Jetson modules.

Jetson Xavier NX

This section describes hardware setup for NVIDIA® Jetson Xavier™ NX devices.

Carrier Board Preparation

Although the carrier board supports a variety of peripheral devices, start developing your application with a board that has the following:
A 16 GB or larger UHS-1 microSD card for flashing the operating system and other software.
A USB cable to plug into USB Micro‑B connector.
For flashing instructions, see “Developer Kit Setup” in Jetson Xavier NX Developer Kit User Guide.

Platform Board Layout

The Jetson Xavier NX board layout and connections are shown in the following diagrams.
Developer kit carrier board: top view
Developer kit carrier board: bottom view

Jetson Nano

This section describes hardware setup for NVIDIA® Jetson Nano™ devices.

Carrier Board Preparation

Although the carrier board supports a variety of peripheral devices, start developing your application with a board that has the following:
One of the storage devices specified in the Boot Options section of the BSP Customization topic.
A USB cable to plug into the board recovery port.

Platform Board Layout

The Jetson Nano board layout and connections are shown in the following diagram.

Jetson AGX Xavier Series Devices

This section describes hardware setup for NVIDIA® Jetson AGX Xavier series devices.

Carrier Board Preparation

Although the carrier board supports a variety of peripheral devices, start developing your application with a board that has the following:
One of the storage devices specified in the Boot Options section of the BSP Customization topic.
A USB‑C cable to plug into the board’s USB‑C flash port.

Platform Board Layout

The Jetson AGX Xavier series board layout and connections are shown in the following diagram.
A circuit board Description generated with very high confidence

Jetson TX2 Series Devices

This section describes hardware setup for NVIDIA® Jetson™ TX2 series devices: Jetson TX2, Jetson TX2i, and Jetson TX2 4GB.

Carrier Board Preparation

Although the carrier board supports a variety of peripheral devices, start developing your application with a board that has the following:
One of the storage devices specified in the Boot Options section of the BSP Customization topic.
A USB cable to plug into the board recovery port

Platform Board Layout

Note:
Jetson TX2 series devices use the same carrier board as NVIDIA® Jetson™ TX1; only the Jetson module differs. Thus, the following diagram applies to both Jetson TX2 and Jetson TX1. The “Jetson TX1” label in the diagram itself is not significant.
A close up of a device Description generated with very high confidence

Jetson TX1

This section describes hardware setup for NVIDIA Jetson TX1 devices.

Carrier Board Preparation

Although the carrier board supports a variety of peripheral devices, start developing your application with a board that has:
One of the storage devices specified in the Boot Options topic of the BSP Customization topic.
A USB cable to plug in to the board recovery port.

Platform Board Layout

The Jetson TX1 carrier board is identical to the Jetson TX2 carrier board, shown in the Jetson TX2 section Platform Board Layout.

Enabling Bluetooth Audio

Hardware support for Bluetooth® audio varies by platform. The following table summarizes the support provided in each case;
Platform
SoC
Bluetooth Support
On SoC
 
Through M.2 key E connector; customer must add Bluetooth hardware on production systems *
 
 
Through M.2 Key E connector; customer must supply Bluetooth hardware
 
 
 
No Bluetooth support
 
 
 
 
 
Jetson Xavier NX
T194
 
X
 
 
 
Jetson Nano
T210
 
 
X
 
 
Jetson AGX Xavier series
T194
 
 
X
 
 
Jetson TX2 4GB
T186
 
 
 
X
 
Jetson TX2i
T186
 
 
 
X
 
Jetson TX2 (original, 8GB)
T186
 
 
X
 
 
Jetson TX1
T210
X
 
 
 
 
* Carrier boards have built-in Bluetooth support for development.
To ensure the Bluetooth software stack is conformant for the configuration, Bluetooth audio is disabled by default. If additional Bluetooth audio profiles are enabled, product conformance may be impacted.
To enable Bluetooth audio
1. Navigate to this file:
/lib/systemd/system/bluetooth.service.d/nv-bluetooth-service.conf
2. Use a text editor to change this line…
ExecStart=/usr/lib/bluetooth/bluetoothd -d --noplugin=audio,a2dp,avrcp
…to this:
ExecStart=/usr/lib/bluetooth/bluetoothd -d
(That is, delete the ‑‑noplugin switch and all of its values.)
3. Enter these commands to update the apt-get package list and install the pulse audio package:
$ sudo apt-get update
$ sudo apt-get install pulseaudio-module-bluetooth
4. Enter this command to reboot the Jetson device:
$ sudo reboot
5. When the reboot is complete, pair and connect any Bluetooth headset.

Voltage and Current Monitor

 
Power Monitor Device Tree Properties
Jetson Xavier NX
Configuring the Voltage and Current Monitor
Jetson Nano
Configuring the Voltage and Current Monitor
Jetson AGX Xavier Series
Configuring the Voltage and Current Monitor
Jetson TX2
Configuring the Voltage and Current Monitor
Jetson TX1
Configuring the Voltage and Current Monitor
Jetson modules include an on-board power monitor, the INA3221, to monitor the voltage and current of certain rails. L4T uses the power monitor to implement a system Electrical Design Point (EDP) management strategy which maximizes CPU and GPU performance within system EDP constraints for the platform.
The Jetson module feeds INA3221 outputs into SOC_THERM input. When one or more alert outputs are asserted, the SOC_THERM hardware reduces module power consumption to avoid violating current limits.
The power monitor accepts configuration data from powermon.dtsi (the source file). The following sections describe the device tree properties that you may need to change to configure the power monitor, and for each supported platform, the location of the file and a code snippet showing how the properties are used.

Power Monitor Device Tree Properties

These are the power monitor device tree properties that you may need to change to configure the power monitor.
ti,continuous-config: Configuration register setting for INA3221 continues conversion mode. This determines which channels are enabled, bus voltage conversion time, and number of samples collected and averaged together.
ti,trigger-config: Configuration register setting for INA3221 single shot conversion mode. This determines which channels enabled, bus voltage conversion time, and number of samples collected and averaged together.
ti,rail-name: Name of the power rail connected to the INA3221 input channel.
ti,shunt-resistor-mohm: Power rail sense resistor value, in milliohms.
ti,current-warning-limit-ma: Channel average current limit in milliamperes. The INA3221 warning signal is asserted when the channel’s average current exceeds this limit, triggering CPU/GPU hardware throttling via Jetson SOCTHEM_OC.
ti,current-critical-limit-ma: Channel instantaneous current limit in milliamperes. The INA3221 critical signal is asserted when the channel’s instantaneous current exceeds this limit, triggering CPU/GPU hardware throttling via Jetson SOCTHEM_OC.

Jetson Xavier NX

The INA3221 monitors the voltage and current of the following power rails:
VDD_IN
VDD_CPU_GPU_CV
VDD_SOC
The alert outputs of the INA3221 include:
CRIT
WARN

Configuring the Voltage and Current Monitor

The Xavier NX module input power rail VDD_IN is connected to channel 0 and configured to trigger CPU/GPU hardware throttling when average current goes above 3000 mA or instantaneous current goes above 3600 mA.
The device tree source file is located at:
hardware/nvidia/platform/t19x/jakku/kernel-dts/common/tegra194-powermon-p3668.dtsi
The following code snippet is from this file:
i2c@c250000 {
ina3221x_40: ina3221x@40 {
compatible = "ti,ina3221x";
reg = <0x40>;
ti,trigger-config = <0x7003>;
ti,continuous-config = <0x7c07>;
ti,enable-forced-continuous;
#address-cells = <1>;
#size-cells = <0>;
#io-channel-cells = <1>;
channel@0 {
reg = <0x0>;
ti,rail-name = "VDD_IN";
ti,shunt-resistor-mohm = <5>;
ti,current-warning-limit-ma = <3000>;
ti,current-critical-limit-ma = <3600>;
};
channel@1 {
reg = <0x1>;
ti,rail-name = "VDD_CPU_GPU_CV";
ti,shunt-resistor-mohm = <5>;
};
channel@2 {
reg = <0x2>;
ti,rail-name = "VDD_SOC";
ti,shunt-resistor-mohm = <5>;
};
};
};

Jetson Nano

The INA3221 monitors the voltage and current of the following power rails:
POM_5V_IN
POM_5V_CPU
POM_5V_GPU
The alert outputs of the INA3221 include:
CRIT
WARN

Configuring the Voltage and Current Monitor

The powermon.dtsi file for the Jetson Nano module is located at:
hardware/nvidia/platform/t210/porg/kernel-dts/porg-platforms/tegra210-porg-powermon-p3448-0000-a00.dtsi
The following code snippet is from this file:
i2c@546c0000 {
ina3221x: ina3221x@40 {
compatible = "ti,ina3221x";
reg = <0x40>;
status="okay";
ti,trigger-config = <0x7003>;
ti,continuous-config = <0x7607>;
ti,enable-forced-continuous;
#io-channel-cells = <1>;
#address-cells = <1>;
#size-cells = <0>;
channel@0 {
reg = <0x0>;
ti,rail-name = "POM_5V_GPU";
ti,shunt-resistor-mohm = <5>;
};
 
channel@1 {
reg = <0x1>;
ti,rail-name = "POM_5V_IN";
ti,shunt-resistor-mohm = <5>;
};
 
channel@2 {
reg = <0x2>;
ti,rail-name = "POM_5V_CPU";
ti,shunt-resistor-mohm = <5>;
};
};
};

Jetson AGX Xavier Series

The INA3221 monitors the voltage and current of the following power rails:
GPU
CPU
SOC
CV
VDDRQ
SYS5V
The alert outputs of the INA3221 include:
CRIT and WARN (tied together routed to the VMON (SOC_GPIO07) pin

Configuring the Voltage and Current Monitor

The powermon.dtsi file for the Jetson AGX Xavier series modules is located at:
hardware/nvidia/platform/t19x/galen/kernel-dts/common/tegra194-powermon-p2888.dtsi
The following code snippet is from this file:
i2c@c240000 {
ina3221x_40: ina3221x@40 {
compatible = "ti,ina3221x";
reg = <0x40>;
ti,trigger-config = <0x7003>;
ti,continuous-config = <0x7c07>;
ti,enable-forced-continuous;
#address-cells = <1>;
#size-cells = <0>;
#io-channel-cells = <1>;
channel@0 {
reg = <0x0>;
ti,rail-name = "GPU";
ti,shunt-resistor-mohm = <5>;
shunt-volt-offset-uv = <&p2888_shuntv_offset>;
};
channel@1 {
reg = <0x1>;
ti,rail-name = "CPU";
ti,shunt-resistor-mohm = <5>;
shunt-volt-offset-uv = <&p2888_shuntv_offset>;
};
channel@2 {
reg = <0x2>;
ti,rail-name = "SOC";
ti,shunt-resistor-mohm = <5>;
shunt-volt-offset-uv = <&p2888_shuntv_offset>;
};
};
ina3221x_41: ina3221x@41 {
compatible = "ti,ina3221x";
reg = <0x41>;
ti,trigger-config = <0x7003>;
ti,continuous-config = <0x7c07>;
ti,enable-forced-continuous;
#address-cells = <1>;
#size-cells = <0>;
#io-channel-cells = <1>;
channel@0 {
reg = <0x0>;
ti,rail-name = "CV";
ti,shunt-resistor-mohm = <5>;
shunt-volt-offset-uv = <&p2888_shuntv_offset>;
};
channel@1 {
reg = <0x1>;
ti,rail-name = "VDDRQ";
ti,shunt-resistor-mohm = <5>;
shunt-volt-offset-uv = <&p2888_shuntv_offset>;
};
channel@2 {
reg = <0x2>;
ti,rail-name = "SYS5V";
ti,shunt-resistor-mohm = <5>;
shunt-volt-offset-uv = <&p2888_shuntv_offset>;
};
};
};

Jetson TX2

The INA3221 monitors the voltage and current of the following power rails:
VDD_IN
VDD_CPU
VDD_GPU
VDD_SOC
VDD_DRAM
VDD_WIFI (original Jetson TX2 only)
The alert outputs of the INA3221 include:
CRIT and WARN (tied together and routed to SoC input on SOC_THERM)
The outputs are fed into a SOC_THERM input on the Jetson module. When one or more alert outputs are asserted, the SOC_THERM hardware reacts to reduce module power consumption and avoid violating current limits.

Configuring the Voltage and Current Monitor

By default, the Jetson TX2 developer kit’s critical current limit of VDD_IN is set to the maximum possible value of 8190 mA. Therefore, it is not necessary to modify the critical current for lower input voltage unless you want to configure the critical current limit for a specific input voltage.
Jetson TX2
The powermon.dtsi file for the Jetson TX2 module is located at:
hardware/nvidia/platform/t18x/common/kernel-dts/t18x-common-platforms/tegra186-quill-p3310-1000-a00-powermon.dtsi
The following code snippet is from this file:
i2c@3160000 {
ina3221x_40: ina3221x@40 {
compatible = "ti,ina3221x";
reg = <0x40>;
ti,trigger-config = <0x7003>;
ti,continuous-config = <0x7c07>;
ti,enable-forced-continuous;
#address-cells = <1>;
#size-cells = <0>;
#io-channel-cells = <1>;
channel@0 {
reg = <0x0>;
ti,rail-name = "VDD_SYS_GPU";
ti,shunt-resistor-mohm = <5>;
};
channel@1 {
reg = <0x1>;
ti,rail-name = "VDD_SYS_SOC";
ti,shunt-resistor-mohm = <5>;
};
channel@2 {
reg = <0x2>;
ti,rail-name = "VDD_4V0_WIFI";
ti,shunt-resistor-mohm = <10>;
};
};
ina3221x_41: ina3221x@41 {
compatible = "ti,ina3221x";
reg = <0x41>;
ti,trigger-config = <0x7003>;
ti,continuous-config = <0x7c07>;
ti,enable-forced-continuous;
#address-cells = <1>;
#size-cells = <0>;
#io-channel-cells = <1>;
channel@0 {
reg = <0x0>;
ti,rail-name = "VDD_IN";
ti,shunt-resistor-mohm = <1>;
};
channel@1 {
reg = <0x1>;
ti,rail-name = "VDD_SYS_CPU";
ti,shunt-resistor-mohm = <5>;
};
channel@2 {
reg = <0x2>;
ti,rail-name = "VDD_SYS_SRAM";
ti,shunt-resistor-mohm = <5>;
};
};
};
Jetson TX2i
The powermon.dtsi file for the Jetson TX2i module is located at:
hardware/nvidia/platform/t18x/common/kernel-dts/t18x-common-platforms/tegra186-quill-p3489-1000-a00-powermon.dtsi
 
The following code snippet is from this file:
i2c@3160000 {
ina3221x_40: ina3221x@40 {
compatible = "ti,ina3221x";
reg = <0x40>;
ti,trigger-config = <0x7003>;
ti,continuous-config = <0x7c07>;
ti,enable-forced-continuous;
#address-cells = <1>;
#size-cells = <0>;
channel@0 {
reg = <0x0>;
ti,rail-name = "VDD_SYS_GPU";
ti,shunt-resistor-mohm = <5>;
};
channel@1 {
reg = <0x1>;
ti,rail-name = "VDD_SYS_SOC";
ti,shunt-resistor-mohm = <5>;
};
};
ina3221x_41: ina3221x@41 {
compatible = "ti,ina3221x";
reg = <0x41>;
ti,trigger-config = <0x7003>;
ti,continuous-config = <0x7c07>;
ti,enable-forced-continuous;
#address-cells = <1>;
#size-cells = <0>;
channel@0 {
reg = <0x0>;
ti,rail-name = "VDD_IN";
ti,shunt-resistor-mohm = <1>;
};
channel@1 {
reg = <0x1>;
ti,rail-name = "VDD_SYS_CPU";
ti,shunt-resistor-mohm = <5>;
};
channel@2 {
reg = <0x2>;
ti,rail-name = "VDD_SYS_SRAM";
ti,shunt-resistor-mohm = <5>;
};
};
};

Jetson TX1

The INA3221 monitors the voltage and current of the following power rails:
VDD_IN
VDD_CPU
VDD_GPU
The alert outputs of the INA3221 are:
CRIT
WARN

Configuring the Voltage and Current Monitor

The base powermon.dtsi file for the Jetson TX1 module is located at:
hardware/nvidia/platform/t210/jetson/kernel-dts/jetson-platforms/tegra210-jetson-cv-powermon-p2597.dtsi
This file contains settings for INA channels 1 and 2.
The following code snippet is from this file:
/ {
i2c@7000c400 {
ina3221x@42 {
compatible = "ti,ina3221x";
reg = <0x42>;
ti,trigger-config = <0x7003>;
ti,continuous-config = <0x7607>;
ti,enable-forced-continuous;
#io-channel-cells = <1>;
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
 
channel@0 {
reg = <0x0>;
ti,rail-name = "VDD_MUX";
ti,shunt-resistor-mohm = <20>;
};
 
channel@1 {
reg = <0x1>;
ti,rail-name ="VDD_5V_IO_SYS";
ti,shunt-resistor-mohm = <5>;
};
 
channel@2 {
reg = <0x2>;
ti,rail-name = "VDD_3V3_SYS";
ti,shunt-resistor-mohm = <10>;
};
};
ina3221x@43 {
compatible = "ti,ina3221x";
reg = <0x43>;
ti,trigger-config = <0x7003>;
ti,continuous-config = <0x7607>;
ti,enable-forced-continuous;
#io-channel-cells = <1>;
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
 
channel@0 {
reg = <0x0>;
ti,rail-name = "VDD_3V3_IO";
ti,shunt-resistor-mohm = <10>;
};
 
channel@1 {
reg = <0x1>;
ti,rail-name = "VDD_1V8_IO";
ti,shunt-resistor-mohm = <10>;
};
 
channel@2 {
reg = <0x2>;
ti,rail-name = "VDD_M2_IN";
ti,shunt-resistor-mohm = <10>;
};
};
};
};
The plugin manager’s powermon.dtsi file for the Jetson TX1 module is located at:
hardware/nvidia/platform/t210/jetson/kernel-dts/jetson-platforms/tegra210-jetson-cv-powermon-p2180-1000-a00.dtsi
Note:
This file contains settings for INA channel 0.
The following code snippet is from this file:
i2c@7000c400 {
ina3221x: ina3221x@40 {
compatible = "ti,ina3221x";
reg = <0x40>;
ti,trigger-config = <0x7003>;
ti,continuous-config = <0x7607>;
ti,enable-forced-continuous;
#io-channel-cells = <1>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
 
channel@0 {
reg = <0x0>;
ti,rail-name = "VDD_IN";
ti,shunt-resistor-mohm = <20>;
ti,power-critical-limit-mw = <40000>;
shunt-volt-offset-uv = <&p2180_shuntv_offset>;
};
 
channel@1 {
reg = <0x1>;
ti,rail-name = "VDD_GPU";
ti,shunt-resistor-mohm = <10>;
shunt-volt-offset-uv = <&p2180_shuntv_offset>;
};
 
channel@2 {
reg = <0x2>;
ti,rail-name = "VDD_CPU";
ti,shunt-resistor-mohm = <10>;
shunt-volt-offset-uv = <&p2180_shuntv_offset>;
};
};
};