Quick Start Guide
Architecture
Package Manifest
TX1 Package Manifest
Boot Loader
Kernel
Kernel Supplements TBZ2
NV Tegra
Nvgstapps TBZ2
Config TBZ2
NVIDIA Drivers TBZ2
NVIDIA Tools TBZ2
Weston TBZ2
TX2 Package Manifest
Boot Loader
Kernel
Kernel Supplements TBZ2
NV Tegra
Nvgstapps TBZ2
Config TBZ2
NVIDIA Drivers TBZ2
NVIDIA Tools TBZ2
Weston TBZ2
Software Features
TX1 Software Features
Boot Loaders
Toolchain
Kernel
I/O
CUDA
Graphics
EGL and OpenGL ES Support
Video Decoders
Video Encoders
Display Outputs
Conversion, Scaling, and Rotation Formats
CSI and USB Camera Formats
TX2 Software Features
Boot Loaders
Toolchain
Kernel I/O Interfaces
SPI
SDMMC
SATA
USB 3.0
EQOS
Max-Q and Max-P
RTC
Watchdog
GPIO
UART
System
CUDA
Graphics
EGL and OpenGL ES Support
Video Decoders
Video Encoders
Display Outputs
Conversion, Scaling, and Rotation Formats
CSI and USB Camera Formats
Setting Up Your File System
Sample Root File System
Setting Up the Root File System
Step 1: Set Up the Root File System
Step 2: Copy the rootfs to the Device
Hardware Setup
Reference Board Preparation
Platform Board Layout
Jetson TX1 Layout
Jetson TX2 Layout
BSP Customization
Boot Options
Linux Host System Prerequisites
Extracting Tegra Linux Driver Package
Login Credentials
Installing Additional Packages
Configuring NFS Root on the Linux Host
Determining Version and Platform Information
NVIDIA Bug Reporting
Flashing and Booting the Target Device
Before You Begin
Before You Begin
Flash Script Usage
Increasing Internal Memory Partition for Root File System
Determining the Success of a Driver Update
Flashing Multiple Tegra Devices
Creating the flash command File
TX1
TX2
Connecting the Tegra Devices to the Host
Adding the multi_tegra_flash.sh Script
Flashing the Devices
Boot Loader
TX1 Boot Flow
BootROM
Boot Loader Components
TegraBoot
CBoot
U-Boot
TX2 Boot Flow
BootROM
Boot Loader Components
Common Driver Framework
Microboot1
TegraBoot
TegraBoot-BPMP
TegraBoot-CPU
CBoot
U-Boot
Partition Configuration
TX1/TX2 Mass Storage Partitions Configuration
Partition Configuration File
Root Element
Device Element
Partition Element
Default Partition Overview
U-Boot Customization
Requirements
Downloading and Building U-Boot
Prerequisite
Before Flashing
Flashing U-Boot Full L4T Image
Flashing U-Boot Only
Changing the eMMC Partition Layout
eMMC IC Parameter
Root Filesystem Size
GPT Partitions
LNX Partition
APP Partition
Full Internal eMMC Partition Layout
Building the Device Tree Compiler
Replacing the Kernel
Copying the Root Filesystem
Boot Sequence and Sysboot Configuration Files
Optimizing U-Boot Boot Time
Disabling PCIe Support
Enabling/Disabling ASPM Support
Disabling USB Support
Environment Configuration
Setting Environment Variables
Compile-Time
Manufacturing and Flashing Time
extlinux.conf Modifications
Debugging U-Boot Environment
Interrupting U-Boot
Getting Help
Listing a Directory Structure
Listing the Contents of a Directory
Printing the U-Boot Environment
Printing/Setting Environment Variables
TX2 MB1 Platform Configuration
About MB1 BCT
TX2 Pinmux and GPIO Configuration
TX2 Prod Configuration
TX2 Pad Voltage Configuration
TX2 PMIC Configuration
Usage
I2C Type-Specific Parameters
Commands
PWM Specific Commands
Generic Format
Configuring Generic Rails
Configuring Security Configuration Registers
Miscellaneous Configurations
AOTAG
Clock
CPU Parameters
AST Settings
SW Carveout
Debug
I2C Settings
Dev Parameters
Watchdog Timer Controller Settings
PMIC
BootROM
Flashing
TX2 Configuring Pinmux GPIO and PAD
TX2 Pinmux Configuration Process
Generating Configuration files using dts2cfg
Security
Validation of Binaries
Boot Binaries and Associated Signing
Secureboot
Fuses
Fuses handled by L4T secureboot
Fuses handled by the user
Fuse Name Alias for tegraflash
Overall Fusing and Signing Binaries Process
Installing Secureboot
Generating the RSA Key-pair
Burning Encryption Key Fuses and Setting ODM_PRODUCTION_MODE
Signing Boot Files
Secure Factory Support
Secure PMC Scratch Register Configurations for BootROM
AO Block Parameters
I2C Type-Specific Parameters
Commands
Example
Kernel Customization
Obtaining the Kernel Sources with Git
Manually Downloading and Expanding Kernel Sources
Building the NVIDIA Kernel
Building External Kernel Modules
Kernel Boot Time Optimization
Device Tree Nodes
Real-time Clock
Environment Configuration
Disable Console over UART
Secondary Bootloader
Compile-Time Configuration
Asynchronous Probe
File System
Sound
Modularize Kernel Driver
Disable Debugging
Display Configuration and Bringup
Setting HDMI or DP Screen Resolution
Mirroring or Extending Displays
Determining Display Timing Values
Configuring the Display Serial Interface
Configuring the Display Port
Configuring Pulse Width Modulation
Panel Driver and Device Tree
Building the AARCH 64 Toolchain and glibc
Toolchain Information
Downloading the Pre-Built Toolchain
Building the Toolchain
Troubleshooting
Camera Development
Camera Software Development Solution
Camera Architecture Stack
Camera API Matrix
Approaches for Validating and Testing the V4L2 Driver
Applications Using libargus Low-level APIs
Applications Using GStreamer with the nvcamerasrc Plugin
Applications Using GStreamer with V4L2 Source Plugin
Applications Using V4L2 IOCTL Directly
ISP Support
Sensor Driver Programming Guide
Camera Modules
Individual Imaging Device
V4L2 Kernel Driver
Macro Definitions
Sensor-Private Data
Configuring Regmap
Configuring Controls
Setting Up Control Registers
Read-Write Wrapper in the Register
Power Functions
Setting Up V4L2 Subdevice and Camera Common
Control Handlers
Set Control
Get-Volatile Control
Other Control-Related Functions
Boot-Time Initialization
Removing Sensor Drivers
Device Registration
Using Plugin Manager
Using Main Platform Device Tree File
Verifying the V4L2 Sensor Driver
Debugging Tips
Mode Tables
Multimedia
GStreamer-based Multimedia Playback
Installing GStreamer
Using NvGstPlayer
GStreamer-based Camera Capture (NvGstCapture)
System Configuration
Tegra ASoC Driver
ALSA
DAPM
Device Tree
Audio Driver
Tegra Audio Hub
Software Architecture
Tegra Platform Driver
ADMAIF
Playback Hardware Devices in the Tegra ASoC Driver
Capture Hardware Devices in the Tegra ASoC Driver
Tegra Codec Driver
XBAR
AMX
ADX
I2S
Mixer
SFC
SPDIF
DMIC
MVC
OPE
Tegra Machine Driver
Tegra X2
Machine Specific DAI links
Tegra X2 Audio Path
XBAR Route Setting for Tegra X2
Dynamic Audio Routing
Case 1: Internal AHUB TDM Path
Codec Driver Instantiation Using Device Tree
TDM Slot Mapping
Clocking and Power Management
Audio Playback/Record Examples
Troubleshooting
Simple Internal Audio Path Example
I2S-x and I2S-y Under Same Clock Domain
Watchdog Timer
Clock Frequency and Power Management
Clocks
Overriding Default Clock Rates
Configuring Clocks
Power Management for TX1 Devices
Interacting Features
Kernel-Space Power Saving Features
Chipset Power States
Clock and Voltage Management
Regulator Framework
CPU Power Management
Frequency Management with cpufreq
Idle Management with cpuidle
Memory Power Management
Thermal Management
Linux Thermal Framework
Thermal Zone
Configuring a Thermal Zone via the Device Tree
Thermal Sensing in Linux
NCT Sensors
Thermal Cooling
Fan Management
Clock Throttling
Software Thermal Shutdown
Software-based Power Consumption Modeling
Related Tools and Techniques
Disabling 3D Frequency Scaling
Setting Frequencies
Maximizing Tegra Performance
Using CPU Hot Plug
Power Management for TX2 Devices
Interacting Features
Kernel-Space Power Saving Features
Chipset Power States
Clock and Voltage Management
CPU Power Management
Idle Management with cpuidle
Memory Power Management
EMC Frequency Scaling Policy
Max-Q and Max-P Power Efficiency
Thermal Management
Linux Thermal Framework
Thermal Zone
Configuring a Thermal Zone Using the Device Tree
Thermal Sensing in Linux
NCT Sensors
BPMP Sensors
Thermal Cooling
Fan Management
Clock Throttling
Software Thermal Shutdown
Thermal Management in BPMP
Thermal Sensing
SOC_THERM
AOTAG
BPMP Thermal Framework
Hardware Throttling
Hardware Thermal Shutdown
Software-based Power Consumption Modeling
Related Tools and Techniques
3D Frequency Scaling
Setting Frequencies
Maximizing Jetson TX2 Performance
Using CPU Hot Plug
Utilties and Debugging Tools
Design for Debugging
DFD Improvements
CoreSight Trace Sinks ETF and ETR
CoreSight AMBA Trace ID (ATID) Mapping
Debugging with Register Trace Buffers
Locating RTRACE Output
Program Trace Macrocell
Using the PTM
Decode Trace Example
Debugging the Kernel on Tegra Devices
Reconfiguring and Rebuilding the Kernel
Modifiying the Configuration Files
Using KGDB
At Boot: Kernel Command Line
OpenGL/EGL Gears Test Application
TegraStats Utility
Reported Statistics
Options
Running TegraStats
Re-Deploying TegraStats
PDF Documents
Glossary
Licenses
NVIDIA Software
License For Customer Use of NVIDIA Software
RECITALS
Sample File System
GST OpenMAX
GNU LESSER GENERAL PUBLIC LICENSE
How to Apply These Terms to Your New Libraries
GST EGL
GStreamer EGL/GLES Sink
Linux Kernel
GNU GENERAL PUBLIC LICENSE
mkbootimg and mkubootscript
Apache License
Copyright: WIDE Project
GNU General Public License
Copyright: Regents of the University of California
U-Boot and mkimage
GNU GENERAL PUBLIC LICENSE, Version 2, June 1991
mkbctpart
brcm_patchram_plus
libnvcam_imageencoder.so
libscf
License Agreement for Protocol Buffers
License Agreement for Open Source Computer Vision Library
License Agreement for OpenCV Tutorial Library
License Agreement for Open Source Computer Vision Library
License Agreement for OpenCV Tutorial Library
JasPer License Version 2.0
JasPer License Version 2.0
JasPer License Version 2.0
The Independent JPEG Group's JPEG software
GNU GENERAL PUBLIC LICENSE
Threading Building Blocks
ZLIB DATA COMPRESSION LIBRARY
gstvideocuda
bpmp and tos-img
Legal Information
Quick Start Guide
Legal Information