SPE SPI app fail

Dear Sir,

I am trying the SPE apps on a Jetson Xavier NX, I am using JetPack 5.1.2 on this module.

I download the SPE source package from https://developer.nvidia.com/downloads/embedded/l4t/r35_release_v4.1/sources/spe-freertos-bsp.tbz2/, and build it to T194 binary (“make bin_t19x”) and documents (“make docs”) successfully.

I follow up the guideline of documents which built by command “make docs”, and run the app Timer and IVC successfully on Jetson Xavier NX.

When I try the SPI app on Jetson Xavier NX with following steps:

  1. Update the dtsi file Linux_for_Tegra/sources/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-e3377-a00.dtsi as below to disable SPI driver in the Linux kernel device tree:
    spi@c260000 {
    status = “disabled”;
    spi-max-frequency = <12000000>;

  2. Build the new DTB files, copy all the built DTB files to ${L4T}/kernel/dtb;
  3. In SPE source tree soc/t19x/target_specific.mk, set ENABLE_SPI_APP := 1 and rebuild the application;
  4. Copy the generated spe.bin to ${L4T}/bootloader/spe_t194.bin;
  5. Flash all the paritions including new DTB files and SPE binaries generated from the above steps into Xavier NX with command “sudo ./flash.sh jetson-xavier-nx-devkit mmcblk0p1”.

After the new firmware is flashed into Jetson Xavier NX successfully, I power off the Xavier NX, short MISO and MOSI pins on the carrier board (pin 19 and 21 of 40 pin header), and then, power on the Xavier NX.

Unfortunatelly, there is no “SPI test successful” printed out, I trace this issue in the app/spi-app.c, print out the data read from SPI which get by API spi_transfer(), the 2 bytes read from SPI are 0 both.

What’s wrong in the steps I try the SPI app on Xavier NX?


Best Regards,

The pins are not for SPI2.
Pin 19 and 21 of 40 pin header is SPI0 of module and SPI1 of SoC as below.

SPI2 pins are used as GPIO only.


Is it possible that I modify the spi-app.c to use SPI0 or SPI1 of SoC instead of SPI2 for a test? How to modify the spi-app.c if it is possible?

no, only modules in AON cluster can be access by SPE with full function.
Same rule applies in SPI.


OK, do you know what carrier board could be used for SPE SPI app with Xavier NX?
I am using Xavier NX + P3509 devkit, it seems there is no any pin for the SPI 2 on the P3509 devkit.

Hi, only SPI2 is on AO domain, the pins of SPI2 are used as GPIOs only and routed to several parts on devkit.

You can get the pins mapping in P3509 schematic. Jetson Xavier NX Developer Kit Carrier Board Design Package (P3509 A01)

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.