nvhost for linux

Would like to use nvhost as described in L4T Hardware Adaptation manual to validate DRAM and eMMC interfaces prior to flashing (on a new design). But the only nvhost I can find is in the Memory Characterization suite and it is for Windows. The commands in the Hardware Adaptation Manual seem to be for Linux. Can anyone help me locate nvhost for Linux? I am either failing at Internet, or it really isn’t freely available.

Thanks,
Neel

I don’t know if this is what you need, but when “apply_binaries.sh” expands the nVidia-specific files; “/lib/modules/3.10.40-gdacac96/” directory contains some of those. Module subdirectory “kernel/drivers/video/tegra/host/vi/nvhost-vi.ko” is the hardware accelerated video module for the Linux kernel.

Hi linuxdev, thanks for the response. Unfortunately I don’t think that is it. Well, maybe it could be a different version of nvhost, but I can’t seem to use it for the tests below. I’ll let the manual speak, since I could be failing to interpret it properly:

VALIDATING PLATFORM COMPONENTS:

NVIDIA provides stand-alone test suites to verify functionality of key components of the platform such as memory, EMMC, and the CPU, prior to platform bring-up. The test program is based on the NVIDIA NvHost interface. NvHost runs on a host PC connected to the device via USB. The code for these tests are uploaded to the device via USB.

To run NvTest for memory with mats.axf, enter the following command on the device:
$ sudo ./nvhost mats.axf --chip t124 --skip-reset --sdram <dram_config_file.cfg> --avp

To run NvTest for memory with wbf_lite.axf, enter the following command on the device:
$ sudo ./nvhost wbf_lite.axf --chip t124 --sdram <dram_config_file.cfg> --avp – -fc 13,250,0 -vic 250 -fa 120 -fh 150

To run NvTest for emmc, enter the following command on the device:
$ sudo ./nvhost --avp --skip-reset --chip t124 --sdram <dram_config_file.cfg> diags_emmc.axf

For more information on validating memory see NVIDIA K1 Series Processors Memory Characterization Application Note.

It seems to me there is some separate package that I need for my host PC, then I enter Tegra into recovery mode, and then I somehow upload code from my PC onto Tegra. Perhaps then I can enter these commands on the “device”. I am trying this out with a Jetson TK1 beforehand.

The Tegra Memory Characterization App Note does indeed point to a windows package containing nvhost.exe. However it makes no sense that the commands listed in this manual, with a bash prompt and a sudo command, are Linux commands. Unless I can somehow use the Windows app to upload code onto the Tegra, and then run these commands locally (that would fit the host/device language)… hmm.

as an update, I did get something working on my windows machine and a Jetson TK1; I have no idea if the output is expected. Still a little miffed over the promise of running nvhost on Linux… those are fake sudo commands!

Still appreciate any clarification on running from Linux, and what outputs to expect. I’m running diags_emmc.axf, and I have the following:

c:\ShmooPackage>nvhost --avp --skip-reset --chip t124 --sdram PM375_Hynix_2GB_H5TC4G63AFR_RDA_924MHz.cfg diags_emmc.axf
nvhost: =======================================
nvhost: Found --chip parameter
Error ParseFieldName: (null)
Error processing statement: SDRAM[0].PllMSetupControl=0x00000000
Error ParseFieldName: (null)
Error processing statement: SDRAM[0].EmcBctSpare1=0x00000000
nvhost: …success! Found t124
nvhost: =======================================
nvblserver: Loading “diags_emmc.axg” via usb:…
Done.
WARNING: Ignoring auto-detect due to --chip parameter

…Now connected to target using usb

target_stdout:
target_stdout: Initializing eMMC device. Please wait…
target_stdout: If it lasted over 10s, please stop this program and check if
target_stdout: 1. eMMC device is existing.
target_stdout: 2. The connection is correct.
target_stdout: 3. Board Pinmux allows to use this device.
target_stdout: 4. PLLP is ~432 MHz.
target_stdout: Done init
_

seems like it initialized properly, but now nothing is happening. unclear whether it is complete or not.

The SDRAM test seems to fly by a lot faster, here is the output…


c:\ShmooPackage>nvhost tests\debug_nvt124_rvds_armv4\wfblit_lite.axf --chip t124
–sdram PM375_Hynix_2GB_H5TC4G63AFR_RDA_924MHz.cfg --avp – -fc 13,250,0 -vic 2
50 -fa 120 -fh 150
nvhost: ========================================
nvhost: Found --chip parameter
Error ParseFieldName: (null)
Error processing statement: SDRAM[0].PllMSetupControl=0x00000000
Error ParseFieldName: (null)
Error processing statement: SDRAM[0].EmcBctSpare1=0x00000000
nvhost: …success! Found t124
nvhost: ========================================

nvhost: Could not find a program to reset the target system.
nvhost: Please reset the target system manually now and hit ENTER.

nvblserver: Loading “tests\debug_nvt124_rvds_armv4\wfblit_lite.axg” via usb:…
Done.
WARNING: Ignoring auto-detect due to --chip parameter

…Now connected to target using usb

target_stdout: enter NvTestMain V01
target_stdout: Processing argument 1: -fc
target_stdout: Processing argument 3: -vic
target_stdout: -vic 250
target_stdout: Processing argument 5: -fa
target_stdout: Processing argument 7: -fh
target_stdout: The number of pattern: 16, box num 30
target_stdout: box width/height 2048 128 Surface width/height: 2048 3840
target_stdout: init sdram
target_stdout: Memory size = 0x00000400
target_stdout: SDRAM Subtest Start
target_stdout: SDRAM Subtest PASS
target_stdout: SDRAM Subtest Start
target_stdout: SDRAM Subtest PASS
target_stdout: SDRAM Subtest Start
target_stdout: SDRAM Subtest PASS
target_stdout: SDRAM Subtest Start
target_stdout: SDRAM Subtest PASS
target_stdout: SDRAM test PASSED
target_stdout: Register Engine
target_stdout: ---------------
target_stdout: total subtests: 0
target_stdout: total failures: 0
target_stdout:
target_exit(0)
nvhost: QUIT

c:\ShmooPackage>

Hi neelfirst,

The manual you got is out of date, this nvhost test part was removed in latest bring up guide.
Do you have any issue with memory or emmc that needs tools to validate? Can you proceed with platform bring-up?