NVIDIA Tegra
NVIDIA Tegra Linux Driver Package

Development Guide
28.1 Release


 
TX2 Package Manifest
 
Boot Loader
Kernel
Kernel Supplements TBZ2
NV Tegra
Nvgstapps TBZ2
Config TBZ2
NVIDIA Drivers TBZ2
NVIDIA Tools TBZ2
Weston TBZ2
The NVIDIA® Tegra® Linux Driver Package for Tegra® X2 devices is provided in the following tar file:
Tegra_t186ref_Linux_R28.1_t186.tbz2
The directories, denoted by a trailing slash /, and top-level files that are created when you expand the tar file are as follows.
Directory or Filename
Description
apply_binaries.sh
Script to apply nv_tegra components.
bootloader/
Boot loader and related components.
bootloader/bpmp.bin
Boot loader and power manager.
bootloader/t186ref/
t186ref-specific files.
bootloader/t186ref/BCT/
t186ref-specific Boot Configuration Table (BCT) files.
bootloader/t186ref/cfg/
Configuration files for specific t186ref.
bootloader/t186ref/p2771-0000/
Boot-related DTB and configuration files for the specific p2771-0000.
camera-rtcpu-sce.bin
Firmware for handling RT aspects of frame capture in the camera hardware pipeline.
kernel/
Kernel images and kernel modules. For more information on this directory, see Kernel in this topic.
nv_tegra/
NVIDIA tools and sample applications.
nv_tegra/nv_sample_apps/
NVIDIA sample applications.
p2771-0000.conf.common
Platfom specific configuration file.
p2771-0000-devkit.conf
Platform specific configuration file.
p2771-0000-dsi-hdmi-dp.conf
Platform specific configuration file.
rootfs/
Staging directory for the root filesystem.
rootfs/README.txt
README on installing the root filesystem.
elf-get-entry.py
Python script to extract and print entry point address of an ELF-format binary.
flash.sh
Script to flash the boot loader and kernel from the package.
jetson-tx2.conf
Configuration file for flash.sh specific to the Jetson TX2 development platform.
source_sync.sh
Script to download kernel and U-Boot source.
Documentation
Tegra Linux Driver Package (L4T) also includes the following documentation:
Tegra_Linux_Driver_Package_Release_Notes_R28.1.pdf
Tegra_Linux_Driver_Package_References_28.1.tar
Boot Loader
The bootloader directory contains the following directories, denoted by a trailing slash /, and files.
Directory or Filename
Description
t186ref/
Jetson TX2 t186-specific boot loader directory.
t186ref/BCT/
Jetson TX2 t186-specific BCT directory.
t186ref/BCT/*.cfg
Jetson TX2 t186-specific Boot Configuration Table (BCT) files.
t186ref/cfg/
Jetson TX2 t186-specific configuration directory.
t186ref/cfg/flash_l4t_t186.xml
Jetson TX2 t186-specific configuration file.
t186ref/cfg/gnu_linux_fastboot_emmc_full.cfg
Jetson TX2 t186-specific configuration file.
t186ref/*.dtb
Jetson TX2 t186-specific device tree files.
t186ref/DTB/*.dtb
Jetson TX2 t186-specific device tree files.
t186ref/p2771-0000
Boot loader p2771-0000-specific directory.
t186ref/p2771-0000/000
Boot loader p2771-0000/000-specific directory.
t186ref/p2771-0000/000/u-boot.bin
p2771-0000/000-specific U-Boot boot loader binary.
t186ref/p2771-0000/500
Boot loader p2771-0000/500-specific directory.
t186ref/p2771-0000-500/u-boot.bin
p2771-0000-500-specific U-Boot boot loader binary.
t186ref/p2771-0000/extlinux.conf.emmc
p2771-0000-specific U-Boot configuration file for booting off the internal EMMC.
t186ref/p2771-0000/extlinux.conf.nfs
p2771-0000-specific U-Boot configuration file for booting off the NFS root.
t186ref/p2771-0000/extlinux.conf.sdcard
p2771-0000-specific U-Boot configuration file for booting off the SD card.
t186ref/p2771-0000/extlinux.conf.usb
p2771-0000-specific U-Boot configuration file for booting off USB flash storage device.
t186ref/tegra186-a02-bpmp-quill-p3310-1000-a00-00.dtb
p3310-1000-a00-specific boot loader and power manager device tree binary.
t186ref/tegra186-a02-bpmp-quill-p3310-1000-a00-00-te770d-ucm2.dtb
p3310-1000-a00-specific boot loader and power manager UCM2 device tree binary.
t186ref/tegra186-a02-bpmp-quill-p3310-1000-c00-00.dtb
p3310-1000-c00-specific boot loader and power manager device tree binary.
t186ref/tegra186-a02-bpmp-quill-p3310-1000-c00-00-te770d-ucm2.dtb
p3310-1000-c00-specific boot loader and power manager UCM2 device tree binary.
t186ref/tegra186-a02-bpmp-quill-p3310-1000-c01-00.dtb
p3310-1000-c01-specific boot loader and power manager device tree binary.
t186ref/tegra186-a02-bpmp-quill-p3310-1000-c01-00-te770d-ucm2.dtb
p3310-1000-c01-specific boot loader and power manager UCM2 device tree binary.
t186ref/tegra186-a02-bpmp-quill-p3310-1000-c04-00.dtb
p3310-1000-c04-specific boot loader and power manager device tree binary.
t186ref/tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2.dtb
p3310-1000-c04-specific boot loader and power manager UCM2 device tree binary.
tegra186-bpmp-quill-p3310-1000-a00-00.dtb
t186-specific boot loader and power manager device tree binary.
cboot.bin
CPU binary to load the kernel. It also supports Fastboot, charging, and display.
t186ref/nvtboot.bin
Tegra boot specific boot loader binary (AVP bootloader, microboot, miniloader).
t186ref/warmboot.bin
Warm boot binary.
chkbdinfo
Provides board information.
eks.img
Encrypted key set data file containing 8 zero-length keys.
l4t_initrd.img
L4T initrd image based on minimal Ubuntu environment.
LICENSE
Tegra software license.
LICENSE.bpmp
License file for boot loader and power manager.
LICENSE.camera-rtcpu
License file for camera-rtcpu.
LICENSE.cboot
LICENSE file for the cboot.bin binary.
LICENSE.chkbdinfo
License file for chkbdinfo.
LICENSE.mkbctpart
License file for mkbctpart.
LICENSE.mkbootimg
License file for mkbootimg.
LICENSE.mkgpt
License file for the mkgpt tool.
LICENSE.mksparse
License file for the mksparse tool.
LICENSE.spe.bin
License for the spe tool.
LICENSE.tos.img.arm-trusted-firmware
License for the tos.img firmware.
LICENSE.u-boot
License for U-Boot.
mb1_prod.bin
First stage software boot binary that runs post Boot ROM in coldboot mode
mb1_recovery_prod.bin
First stage sw boot binary that runs post Boot ROM in recovery mode.
mce_mts_d15_prod_cr.bin
CPU microcode for jetson-tx2.
mkbctpart
Tool for boot configuration table partition.
mkbootimg
Tool for image creation.
mkgpt
Tool that encodes both primary and secondary GPT into flashable binary image files.
mksparse
Sparse image flashing with the boot loader.
nvtboot_cpu.bin
CPU part of Tegraboot for TLK hand over transition.
nvtboot_recovery.bin
AVP bootrom applet binary used by Tegraflash
nvtboot_recovery_cpu.bin
CPU part of Tegraboot used for RCM boot for MODS.
preboot_d15_prod_cr.bin
CPU microcode for Jetson TX2.
spe.bin
NVIDIA sensorhub microcontroller firmware.
tegrabct_v2
BCT operation helper binary.
tegradevflash_v2
Boot loader device communication library.
tegraflash.py
Script used to flash the board.
tegraflash_internal.py
Helper implementation API script for tegraflash.py.
tegrahost_v2
Boot loader encryption binary.
tegraparser_v2
Parses partition layout, common BCT configuration, fuse bypass configuration and NVIDIA Configuration Table (NCT).
tegrarcm_v2
Bootrom RCM communications binary.
tegrasign_v2
TegraSign creates signature data for PKC operating mode and hash, and encrypted data for SBK operating mode.
tos.img
The monitor binary running in the EL3 exception space on ARMv8 CPUs.
Kernel
The kernel directory contains the following directories, denoted by a trailing slash /, and files.
Directory or Filename
Description
dtb/
SoC-specific kernel Device Tree Binary (DTB) files.
dtb/*.dtb
DTB files specific to various board types.
dtc
Device-tree-compiler binary.
Image
Kernel binary image.
kernel_headers.tbz2
Kernel header files needed for compiling kernel modules. You can download these headers and sources from the nv_tegra git server.
kernel_supplements.tbz2
Loadable kernel modules specific to the included kernel zImage that was built with the defconfig enabled for the device.
LICENSE
GNU General Public License (GPL).
LICENSE.dtc
GNU General Public License (GPL) for the device-tree-compiler binary.
pinmux/
-
pinmux/addr_info.txt
Contains the database of pins available on tegra. Information includes, pin name, address, pinmux functionality of pin.
pinmux/gpio_addr_info.txt
Contains the database of tegra GPIO port name and its base address.
pinmux/mandatory_pinmux.txt
Contains the database of tegra mandatory pinmux address.
pinmux/pad_info.txt
Contains the database of tegra pads. Information includes pad name, voltage type (1.2V, 1.8V, 3.3V) and bit fields information in pad register.
pinmux/pinmux-dts2cfg.py
Script tool used to generate CFG format file from given pinmux, gpio, pad platform dts files.
pinmux/por_val.txt
Contains the database of pinmux address and value pairs which should not be modified while running the tool.
pinmux/README.txt
Contains details on how to run the script.
Kernel Supplements TBZ2
The following table lists the contents available upon decompressing the kernel_supplements.tbz2 archive, located at:
kernel/kernel_supplements.tbz2
Filename
Description
lib/
-
lib/modules/
-
lib/modules/4.4.38-tegra/*
Kernel modules.
NV Tegra
The nv_tegra directory contains the following directories, denoted by a trailing slash /, and files.
Direcotry or Filename
Description
nv_sample_apps/
NVIDIA sample applications.
nv_sample_apps/LICENSE.gst-openmax
License for the libgstomx.so, libgstnvegl-1.0.so.0, and libnvgstjpeg.so libraries included in nvgstapps.tbz2.
nv_sample_apps/LICENSE.gstvideocuda
License for Gstreamer 1.0 CUDA post-processing plugin library.
nv_sample_apps/nvgstapps.tbz2
NVIDIA gstreamer components and applications. For details, see Nvgstapps TBZ2 table (below).
nv_sample_apps/nvgstcapture-1.0_README.txt
Read Me for NVIDIA Gstreamer-based camera capture application (nvgstcapture).
nv_sample_apps/nvgstplayer-1.0_README.txt
Read Me for NVIDIA Gstreamer-based multimedia player (nvgstplayer).
config.tbz2
Configuration files specific to the sample filesystem. For details, see Config TBZ2 table (below).
LICENSE
Tegra software license.
LICENSE.brcm_patchram_plus
License for brcm_patchram_plus.
LICENSE.libargus
License for the libargus API.
LICENSE.libglvnd
License file for libglvnd.
LICENSE.libnvcam_imageencoder
License for image encoder.
LICENSE.libscf
License for core camera driver.
LICENSE.libtegrav4l2
License for libtegrav4l2.
nvidia_drivers.tbz2
NVIDIA driver components.
nv_tools.tbz2
The tegrastats application, a script for calculations for loads, frequencies, RAM sizes, using existing sysfs nodes. Refer to the Development Guide for usage.
weston.tbz
NVIDIA wayland support.
Nvgstapps TBZ2
The following table lists the directories, denoted by a trailing slash /, and files available upon decompressing the nvgstapps.tbz2 archive, located at:
nv_tegra/nv_sample_apps/nvgstapps.tbz2
Filename
Description
usr/bin/gst-install
Script to build gstreamer from sources. Version can be specified with the --version option (1.6.0 is the default).
usr/bin/nvgstcapture-1.0
Multimedia capture camera application.
usr/bin/nvgstplayer-1.0
Multimedia video player application.
usr/lib/
-
usr/lib/aarch64-linux-gnu/
-
usr/lib/aarch64-linux-gnu/gstreamer-1.0/
Plug-ins and drivers for gstreamer.
usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstnvcamera.so
gst-plugin library for camera.
usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstnveglglessink.so
Accelerated Egl based renderer element for gstreamer-1.0.
usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstnveglstreamsrc.so
EGLStream Consumer functionality library.
usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstnvegltransform.so
NVM buffer conversion to EGLImage plugin library.
usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstnvivafilter.so
CUDA post-processing plugin library for gstreamer-1.0.
usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstnvvidconv.so
NVIDIA proprietary GStreamer conversion plug-in library.
usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstnvvideosink.so
GStreamer 1.0 EGLProducer video sink plugin.
usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstomx.so
OpenMax driver.
usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstvideocuda.so
Gstreamer 1.0 CUDA post-processing plugin library.
usr/lib/aarch64-linux-gnu/gstreamer-<version>/libnvgstjpeg.so
Accelerated libjpeg based jpeg decoding and encoding library.
usr/lib/aarch64-linux-gnu/libgstnvegl-1.0.so.0
Gstreamer EGL API wrapper library.
usr/lib/aarch64-linux-gnu/libgstnvexifmeta.so
Gstreamer buffer exif metadata library.
usr/lib/aarch64-linux-gnu/libgstnvivameta.so
Interface library used to add and get gst metadata.
usr/lib/aarch64-linux-gnu/libsample_cudaprocess.so
"gst-nvivafilter" sample for cuda post-processing.
usr/share/doc/nvidia-tegra/LICENSE.gst-openmax
License file for GST Openmax.
usr/share/doc/nvidia-tegra/LICENSE.gstvideocuda
License file for GST Video CUDA.
Config TBZ2
The following table lists the contents available upon decompressing the config.tbz2 archive, located at:
nv_tegra/config.tbz2
Filename
Description
etc/amixer_settings
Audio configuration.
etc/asound.conf.tegrahda
Asound configuration file.
etc/asound.conf.tegrasndt186ref
Asound configuration file for Tegra code-name Parker audio supermodule.
etc/enctune.conf
Default multimedia encoding parameters for NVIDIA reference platforms.
etc/init/argus-daemon.conf
Configuration file for the argus-daemon.
etc/init/nvcamera-daemon.conf
nvcamera-daemon service configuration launcher.
etc/init/nv.conf
NVIDIA-specific initialization script.
etc/init/nvfb.conf
NVIDIA specific first-boot script.
etc/init/nvwifibt.conf
NVIDIA bluetooth/wifi init script.
etc/init/ttyS0.conf
Initialization script for getty on ttyS0.
etc/modprobe.d
Configuration directory/file for modprobe.
etc/modprobe.d/blacklist-mttcan.conf
NVIDIA specific modprobe configuration file for blacklist MTTCAN driver loading.
etc/nv/nvfirstboot
Control file used for for first boot.
etc/nvpmodel.conf
Configuration file for nvpmodel, containing clock settings for each power mode.
etc/pulse/default.pa.hdmi
PulseAudio configuration file.
etc/pulse/default.pa.orig
PulseAudio configuration file.
etc/sysctl.d/10-console-messages.conf
Contains the default loglevel for the console messages.
etc/sysctl.d/90-tegra-settings.conf
Control file for sysrq.
etc/systemd/
-
etc/systemd/nvfb-pre.sh
NVIDIA pre-init boot script.
etc/systemd/nvfb.sh
NVIDIA first boot script.
etc/systemd/nv.sh
NVIDIA init script.
etc/systemd/nvwifibt-pre.sh
NVIDIA bluetooth/Wi-Fi pre-init script.
etc/systemd/nvwifibt.sh
NVIDIA bluetooth/Wi-Fi init script.
etc/systemd/system/
-
etc/systemd/system/argus-daemon.service
Libargus daemon systemd startup service.
etc/systemd/system/nvcamera-daemon.service
Service to launch nvcamera-daemon.
etc/systemd/system/nvfb.service
Service to launch etc/systemd/nvfb.sh script.
etc/systemd/system/nvpmodel.service
Systemd service executed at boot to set the MaxEDP mode.
etc/systemd/system/nv.service
Service to launch etc/systemd/nv.sh script.
etc/systemd/system/nvwifibt.service
Service to launch etc/systemd/nvwifibut-pre and nvwifibt scripts.
etc/systemd/system/serial-getty@ttyS0.service.d/
-
etc/systemd/system/serial-getty@ttyS0.service.d/autologin.conf
Configuration file to enable autologin on console.
etc/udev/
-
etc/udev/rules.d/
-
etc/udev/rules.d/90-alsa-asound-tegra.rules
Rules configuration for proper asound.conf selection.
etc/udev/rules.d/91-xorg-conf-tegra.rules
Rules configuration for proper xorg.conf selection.
etc/udev/rules.d/92-hdmi-audio-tegra.rules
Rules configuration for proper /etc/pulse/default.pa selection.
etc/udev/rules.d/99-nv-wifibt.rules
Rules configuration for Wi-Fi and Bluetooth.
etc/udev/rules.d/99-tegra-devices.rules
Permission setting for Tegra devices.
etc/udev/rules.d/99-tegra-mmc-ra.rules
SD card read_ahead_kb configuration.
etc/wpa_supplicant.conf
Sample WPA supplicant.
etc/X11/xorg.conf
Configuration file for xorg.
etc/X11/xorg.conf.t186_ref
Configuration file for t186_ref-specific xorg.
etc/xdg/autostart/nvchrome.desktop
An XDG format desktop file to spawn nvchrome.sh at boot up.
etc/xdg/autostart/nvchrome.sh
Script to create chromium-browser.desktop file on every user’s desktop.
lib/systemd/system/bluetooth.service
Bluetooth systemd service from bluez debian.
lib/systemd/system/ofono.service
Ofono systemd service from ofono debian.
lib/udev/rules.d/73-special-net-names.rules
Network interface naming rule from "udev" debian package.
usr/share/alsa/cards/tegra-hda.conf
Configuration file for Tegra HDA.
usr/share/doc/bluez/copyright
Copyright page for Bluez.
usr/share/doc/ofono/copyright
Copyright page for ofono.
usr/share/doc/procps/copyright
Copyright page for procps.
usr/share/doc/udev/copyright
Copyright page for udev.
NVIDIA Drivers TBZ2
The following table lists the contents available upon decompressing the nvidia_drivers.tbz2 archive, located at:
nv_tegra/nvidia_drivers.tbz2
Filename
Description
etc/ld.so.conf.d/nvidia-tegra.conf
Ldconf file for tegra directories.
etc/nv_tegra_release
Tegra driver versioning file.
lib/firmware/bcm4354.hcd
BRCM firmware directory.
lib/firmware/brcm/fw_bcmdhd.bin
Firmware for Jetson TX2 on-board wifi.
lib/firmware/brcm/nvram.txt
File containing tuning parameters for the jetson-tx2 on-board wifi.
lib/firmware/gp10b/*.bin
Firmware files for GP10b.
lib/firmware/nv-BT-Version
NVIDIA proprietary version file.
lib/firmware/tegra18x/*
Firmware files for Jetson TX2 and other Tegra X2 devices.
lib/firmware/tegra18x/vic04_ucode.bin
High secure mode PMU code.
lib/firmware/tegra18x_xusb_firmware
File containing USB firmware parameters.
usr/bin/nvidia-bug-report-tegra.sh
NVIDIA bug reporting script. Run for usage tips.
usr/lib/aarch64-linux-gnu/*
Various GNU specific files
usr/lib/xorg/modules/drivers/nvidia_drv.so
Tegra X driver.
usr/lib/xorg/modules/extensions/libglx.so
Symbolic link pointing to /usr/lib/<ABI_directory>/tegra/libglx.so in the rootfs.
usr/sbin/argus_daemon
System daemon process that is run at startup and provides libargus clients access to the libargus camera API in a multiprocess environment.
usr/sbin/brcm_patchram_plus
Utility for loading the broadcom bluetooth firmware
usr/sbin/nvcamera-daemon
Daemon process for using multiple or simultaneous camera instances on L4T platform using core_scf library.
usr/sbin/nvtunerd
Support for image quality tuning tools.
usr/share/doc/nvidia-tegra/LICENSE.brcm_patchram_plus
License file for the utility for loading the broadcom bluetooth firmware.
usr/share/doc/nvidia-tegra/LICENSE.libargus
License file for the support libraries for NVIDIA multiprocess implementation of the Argus API.
usr/share/doc/nvidia-tegra/LICENSE.libglvnd
License file for the NVIDIA GLVND library.
usr/share/doc/nvidia-tegra/LICENSE.libnvcam_imageencoder
License file for the NVIDIA camera image encoder library.
usr/share/doc/nvidia-tegra/LICENSE.libtegrav412
License file for the NVIDIA Tegra V4L2 library.
usr/share/egl/egl_external_platform.d/nvidia_wayland.json
Wayland driver for EGL external platform support.
var/nvidia/nvcam/*
Application, input, output, and settings directories with associated README files.
NVIDIA Tools TBZ2
The following table lists the contents available upon decompressing the nv_tools.tbz2 archive, located at:
nv_tegra/nv_tools.tbz2
Filename
Description
home/nvidia/jetson_clocks.sh
Clock frequency control script.
home/nvidia/tegrastats
Performance measurement utility.
home/ubuntu/jetson_clocks.sh
Clock frequency control script.
home/ubuntu/tegrastats
Performance measurement utility.
Weston TBZ2
The following table lists the contents available upon decompressing the weston.tbz2 archive, located at:
nv_tegra/weston.tbz2
Filename
Description
home/
-
home/weston.ini
Weston initialization file.
usr/
-
usr/bin/
-
usr/bin/EGLWLInputEventExample
Weston-ivi-layer test.
usr/bin/EGLWLMockNavigation
Weston-ivi-layer test.
usr/bin/LayerManagerControl
Weston-ivi-layer test.
usr/bin/spring-tool
Weston tools.
usr/bin/weston
-
usr/bin/weston-*
Various Weston specific files.
usr/lib/
-
usr/lib/aarch64-linux-gnu/*
Various GNU specific files.
usr/lib/aarch64-linux-gnu/weston/
-
usr/lib/aarch64-linux-gnu/weston/*
Various GNU Weston specific files.
usr/lib/weston/
-
usr/lib/weston/*
Weston desktop, keyboard, and screenshooter files.
usr/share/
-
usr/share/weston/
-
usr/share/weston/*.png
Weston images.
usr/share/weston/docs/
-
usr/share/weston/docs/weston/
-
usr/share/weston/docs/weston/LICENSE.*
License files for Weston.
usr/share/weston/wayland.svg
Weston icons/images.