Problem with SPI in Jetson Nano

I am trying to interface a FLIR Lepton 2.5 thermal imaging camera with Jetson-nano B01 using SPI.
However, I was not able to work with the SPI, even I tried to read and apply some other posts in the forum.

Below are the steps I did:

  1. In Windows PC, I followed the steps in here, downloaded jetson-nano-jp461-sd-card-image.zip, and wrote image to the SD card.

  2. In Jetson Nano, I can see the versions: nvidia-l4t-core 32.7.1, and Jetpack 4.6.4-b39.

tareq@tareq-nano3:~$ dpkg-query --show nvidia-l4t-core
nvidia-l4t-core	32.7.1-20220219090432


tareq@tareq-nano3:~$ sudo apt-cache show nvidia-jetpack
Package: nvidia-jetpack
Version: 4.6.4-b39
Architecture: arm64
Maintainer: NVIDIA Corporation
Installed-Size: 194
...
  1. Then I ran JetsonIO, configured 40 pin header, selected spi1 pins (19,21,23,24,26), saved and rebooted.
tareq@tareq-nano3:~$ sudo /opt/nvidia/jetson-io/jetson-io.py

It created /boot/kernel_tegra210-p3448-0000-p3449-0000-b00-user-custom.dtb file and updated /boot/extlinux/extlinux.conf file. The contents of the /boot/extlinux/extlinux.conf file are shown below:

TIMEOUT 30
DEFAULT JetsonIO

MENU TITLE L4T boot options

LABEL primary
      MENU LABEL primary kernel
      LINUX /boot/Image
      INITRD /boot/initrd
      APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 

# When testing a custom kernel, it is recommended that you create a backup of
# the original kernel and add a new entry to this file so that the device can
# fallback to the original kernel. To do this:
#
# 1, Make a backup of the original kernel
#      sudo cp /boot/Image /boot/Image.backup
#
# 2, Copy your custom kernel into /boot/Image
#
# 3, Uncomment below menu setting lines for the original kernel
#
# 4, Reboot

# LABEL backup
#    MENU LABEL backup kernel
#    LINUX /boot/Image.backup
#    INITRD /boot/initrd
#    APPEND ${cbootargs}

LABEL JetsonIO
	MENU LABEL Custom Header Config: <HDR40 User Custom [2023-06-26-122936]>
	LINUX /boot/Image
	FDT /boot/kernel_tegra210-p3448-0000-p3449-0000-b00-user-custom.dtb
	INITRD /boot/initrd
	APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0

kernel_tegra210-p3448-0000-p3449-0000-b00-user-custom.dtb (232.4 KB)

extlinux.conf (1.2 KB)

  1. Then I used DTC compiler to create the kt.dts from the dtb file.
tareq@tareq-nano3:~$ dtc -I dtb -O dts -o kt.dts /boot/kernel_tegra210-p3448-0000-p3449-0000-b00-user-custom.dtb

kt.dts (319.8 KB)

  1. Then I opened kt.dts using text editor.
tareq@tareq-nano3:~$ sudo gedit kt.dts

I modified spi1 and spi2 related texts as below:

spi2_miso_pb5 {
				nvidia,pins = "spi2_miso_pb5";
				nvidia,function = "spi2";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			spi2_sck_pb6 {
				nvidia,pins = "spi2_sck_pb6";
				nvidia,function = "spi2";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			spi2_cs0_pb7 {
				nvidia,pins = "spi2_cs0_pb7";
				nvidia,function = "spi2";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			spi2_cs1_pdd0 {
				nvidia,pins = "spi2_cs1_pdd0";
				nvidia,function = "spi2";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;

spi1_mosi_pc0 {
				nvidia,pins = "spi1_mosi_pc0";
				nvidia,function = "spi1";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			spi1_miso_pc1 {
				nvidia,pins = "spi1_miso_pc1";
				nvidia,function = "spi1";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			spi1_sck_pc2 {
				nvidia,pins = "spi1_sck_pc2";
				nvidia,function = "spi1";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x10>;
				nvidia,enable-input = <0x1>;
			};

			spi1_cs0_pc3 {
				nvidia,pins = "spi1_cs0_pc3";
				nvidia,function = "spi1";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			spi1_cs1_pc4 {
				nvidia,pins = "spi1_cs1_pc4";
				nvidia,function = "spi1";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

The the modified file is attached.
kt_modified.dts (319.8 KB)

  1. Then generated the kt.dtb file from the modified dts file.
tareq@tareq-nano3:~$ dtc -I dts -O dtb -o kt.dtb kt_modified.dts

  1. Then copied the dtb file to the boot directory as /boot/kernel_tegra210-p3448-0000-p3449-0000-b00-user-custom.dtb
tareq@tareq-nano3:~$ sudo rm /boot/kernel_tegra210-p3448-0000-p3449-0000-b00-user-custom.dtb
tareq@tareq-nano3:~$ sudo cp kt.dtb /boot/kernel_tegra210-p3448-0000-p3449-0000-b00-user-custom.dtb

kernel_tegra210-p3448-0000-p3449-0000-b00-user-custom.dtb (232.4 KB)

Then I restarted the Jetson-nano.

  1. Turned on spidev and check the registers.
tareq@tareq-nano3:~$ sudo modprobe spidev
[sudo] password for tareq: 
tareq@tareq-nano3:~$ ls /dev/spidev*
/dev/spidev0.0  /dev/spidev0.1  /dev/spidev1.0  /dev/spidev1.1

tareq@tareq-nano3:~$ sudo cat /sys/kernel/debug/tegra_pinctrl_reg  | grep -i spiBank: 1 Reg: 0x70003050 Val: 0x0000e044 -> spi1_mosi_pc0
Bank: 1 Reg: 0x70003054 Val: 0x0000e044 -> spi1_miso_pc1
Bank: 1 Reg: 0x70003058 Val: 0x0000e044 -> spi1_sck_pc2
Bank: 1 Reg: 0x7000305c Val: 0x0000e048 -> spi1_cs0_pc3
Bank: 1 Reg: 0x70003060 Val: 0x0000e048 -> spi1_cs1_pc4
Bank: 1 Reg: 0x70003064 Val: 0x00006046 -> spi2_mosi_pb4
Bank: 1 Reg: 0x70003068 Val: 0x00006046 -> spi2_miso_pb5
Bank: 1 Reg: 0x7000306c Val: 0x00006046 -> spi2_sck_pb6
Bank: 1 Reg: 0x70003070 Val: 0x00006046 -> spi2_cs0_pb7
Bank: 1 Reg: 0x70003074 Val: 0x00006045 -> spi2_cs1_pdd0
Bank: 1 Reg: 0x70003078 Val: 0x0000e015 -> spi4_mosi_pc7
Bank: 1 Reg: 0x7000307c Val: 0x0000e015 -> spi4_miso_pd0
Bank: 1 Reg: 0x70003080 Val: 0x0000e015 -> spi4_sck_pc5
Bank: 1 Reg: 0x70003084 Val: 0x0000e015 -> spi4_cs0_pc6
Bank: 1 Reg: 0x70003088 Val: 0x00002040 -> qspi_sck_pee0
Bank: 1 Reg: 0x7000308c Val: 0x00002000 -> qspi_cs_n_pee1
Bank: 1 Reg: 0x70003090 Val: 0x00002040 -> qspi_io0_pee2
Bank: 1 Reg: 0x70003094 Val: 0x00002040 -> qspi_io1_pee3
Bank: 1 Reg: 0x70003098 Val: 0x00002040 -> qspi_io2_pee4
Bank: 1 Reg: 0x7000309c Val: 0x00002040 -> qspi_io3_pee5
Bank: 0 Reg: 0x70000b70 Val: 0x00000001 -> drive_qspi_comp_control
Bank: 0 Reg: 0x70000b78 Val: 0x00000001 -> drive_qspi_lpbk_control
Bank: 0 Reg: 0x70000a78 Val: 0x00808000 -> drive_qspi_comp

tareq@tareq-nano3:~$ sudo cat /sys/kernel/debug/tegra_gpio
Name:Bank:Port CNF OE OUT IN INT_STA INT_ENB INT_LVL
 A: 0:0 64 40 40 24 00 00 000000
 B: 0:1 f0 00 00 80 00 00 000000
 C: 0:2 1f 00 00 18 00 00 000000
 D: 0:3 00 00 00 00 00 00 000000
 E: 1:0 40 00 00 00 00 00 000000
 F: 1:1 00 00 00 00 00 00 000000
 G: 1:2 0c 00 00 00 00 00 000000
 H: 1:3 fd 99 00 60 00 00 000000
 I: 2:0 07 07 02 02 00 00 000000
 J: 2:1 f0 00 00 00 00 00 000000
 K: 2:2 00 00 00 00 00 00 000000
 L: 2:3 00 00 00 00 00 00 000000
 M: 3:0 00 00 00 00 00 00 000000
 N: 3:1 00 00 00 00 00 00 000000
 O: 3:2 00 00 00 00 00 00 000000
 P: 3:3 00 00 00 00 00 00 000000
 Q: 4:0 00 00 00 00 00 00 000000
 R: 4:1 00 00 00 00 00 00 000000
 S: 4:2 a0 80 00 00 00 00 000000
 T: 4:3 01 01 00 00 00 00 000000
 U: 5:0 00 00 00 00 00 00 000000
 V: 5:1 01 00 00 00 00 00 000000
 W: 5:2 00 00 00 00 00 00 000000
 X: 5:3 78 08 08 70 00 60 606000
 Y: 6:0 06 00 00 02 00 00 000000
 Z: 6:1 0f 08 08 04 00 06 020600
AA: 6:2 00 00 00 00 00 00 000000
BB: 6:3 01 00 00 00 00 00 000000
CC: 7:0 92 80 80 10 00 12 121200
DD: 7:1 01 00 00 01 00 00 000000
EE: 7:2 00 00 00 00 00 00 000000
FF: 7:3 00 00 00 00 00 00 000000

  1. Then used spidev-test to test SPI. I connected pin 19 and 21; and pin 22 and 37.
tareq@tareq-nano3:~$ git clone https://github.com/rm-hull/spidev-test
Cloning into 'spidev-test'...
remote: Enumerating objects: 26, done.
remote: Counting objects: 100% (26/26), done.
remote: Compressing objects: 100% (16/16), done.
remote: Total 26 (delta 10), reused 24 (delta 9), pack-reused 0
Unpacking objects: 100% (26/26), done.
tareq@tareq-nano3:~$ cd spidev-test
tareq@tareq-nano3:~/spidev-test$ gcc spidev_test.c -o spidev_test 
tareq@tareq-nano3:~/spidev-test$ ./spidev_test -v -D /dev/spidev0.0
spi mode: 0x0
bits per word: 8
max speed: 500000 Hz (500 KHz)
TX | FF FF FF FF FF FF 40 00 00 00 00 95 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F0 0D  | ......@....ļæ½..................ļæ½.
RX | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................
tareq@tareq-nano3:~/spidev-test$  ./spidev_test -v -D /dev/spidev1.0
spi mode: 0x0
bits per word: 8
max speed: 500000 Hz (500 KHz)
TX | FF FF FF FF FF FF 40 00 00 00 00 95 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F0 0D  | ......@....ļæ½..................ļæ½.
RX | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................
tareq@tareq-nano3:~/spidev-test$ ./spidev_test -v -D /dev/spidev0.1
spi mode: 0x0
bits per word: 8
max speed: 500000 Hz (500 KHz)
TX | FF FF FF FF FF FF 40 00 00 00 00 95 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F0 0D  | ......@....ļæ½..................ļæ½.
RX | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................
tareq@tareq-nano3:~/spidev-test$ ./spidev_test -v -D /dev/spidev1.1
spi mode: 0x0
bits per word: 8
max speed: 500000 Hz (500 KHz)
TX | FF FF FF FF FF FF 40 00 00 00 00 95 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F0 0D  | ......@....ļæ½..................ļæ½.
RX | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................

Can you please help? If you can share the dts and dtb file for nvidia-l4t-core 32.7.1, and Jetpack 4.6.4-b39 for Jetson-nano that works, that might help.

Hi tereq.khan,

You could use the following command to check your current Jetpack version.

cat /etc/nv_tegra_release

It seems you are using JP4.6.1 (R32.7.1).
Could you help updating to latest JP4.6.3(R32.7.3) to verify SPI?

You could refer to the following thread about the loopback test for SPI.
Jetson Nano SPI Bus Not Working - #10 by KevinFFF

If you have used Jetson-IO to configure SPI, you don’t need to further modification for device tree of pinmux. Just need to remove the GPIO usage in device tree.

NVIDIA should integrate the solution in JetsonIO which will do all the modification automatically. Also, can you write a blog post/YouTube video on how to solve this issue, seems like may people are having the same problem.

Blockquote

After update and upgrade, I got the following results. I now have JP4.6.4(R32.7.4)

tareq@tareq-nano2:~$ sudo apt-get update
tareq@tareq-nano2:~$ sudo apt-get upgrade


tareq@tareq-nano2:~$ cat /etc/nv_tegra_release
# R32 (release), REVISION: 7.4, GCID: 33514132, BOARD: t210ref, EABI: aarch64, DATE: Fri Jun  9 04:25:08 UTC 2023

tareq@tareq-nano2:~$ dpkg-query --show nvidia-l4t-core
nvidia-l4t-core	32.7.4-20230608212426


tareq@tareq-nano2:~$ sudo apt-cache show nvidia-jetpack
[sudo] password for tareq: 
Package: nvidia-jetpack
Version: 4.6.4-b39

Can you please share the exact Terminal commands for Step 2-1 and Step-2-2, as mentioned in the link you provided? I don’t know where to find the dtsi file and edit it.

Step 2. Remove GPIO usage of SPI pins
2-1. Check flash log to know which dtb you are using (ex. tegra210-p3448-0000-p3449-0000-b00.dtb)
2-2. Remove GPIO usage in that device tree

Can you please share the flash log for further check?

I am not sure what you mean by flash log, is it step 1 of my first post? Please read my first posts and guide me from there mentioning the exact Terminal commands. Thanks.

Oh, you use the tool in Windows to write image into SD card and there might be no flash log.

Could you get a standalone Ubuntu 18.04 host PC and use SDKM to flash your devkit? and there should be the flash log from your host.
Install Jetson Software with SDK Manager :: NVIDIA SDK Manager Documentation

Hi Kevin,
Below are the steps I took according to your suggestion:

  1. I installed Ubuntu 18.04 in a host PC using the tutorial at here.

  2. I downloaded the .deb file for the NVIDIA SDK Manager 1.9.2 from here and installed it in the host PC. I ran the SDK manager using the Terminal command

$ sdkmanager 
  1. I powered the Jetson Nano B01 board using DC jack, and I connected the FC REC and GND pin using a wire. I used an USB cable to connect the Jetson Nano with the host PC.
    The Jetson Nano also has an empty 32 GB SD card inserted.

  1. I followed similar steps in here.
    The SDK manager detected my device and I chose Jetson Nano [developer kit version] among the three options. I am using Jetson Nano B01.
    Screenshot 2023-07-03 232945

  2. However, the installation failed.


    I tried several times, but didn’t work. I clicked the ā€˜EXPORT LOGS’ link at the bottom-right and it is attached below.
    SDKM_logs_JetPack_4.6.4_Linux_for_Jetson_Nano_modules_2023-07-03_22-57-00.zip (78.5 KB)

Let me know what to do now. Can you please make a setup with a Jetson Nano B01 in your side and guide me after you solved the SPI problem in your side?

It seems like the dependencies errors from your host PC.

Are you using standalone Ubuntu18.04?
Did you see any errors during installing SDKM?

We’ve verified SPI loopback test work with JP4.6.3(R32.7.3) and the full procedures was listed in the link I shared above in 27/Jun.

I am not sure what you mean by ā€œstandaloneā€, I installed Ubuntu 18.04 in a separate laptop as mentioned in Step 1 of my last post. Can you send me the link of the exact Ubuntu ISO that you used?

No, there was no error when installing SDKM.

I see that you tested with Jetpack 4.6.3, however I selected Jetpack 4.6.4 in SDKM when installing. Could it be an issue?

I have successfully flashed the JetsonNano using SDKM from the host PC. I run the following update and upgrades in my host PC, and SDKM worked without any problem after that.

$ sudo apt-get update
$ sudo apt-get upgrade

The Jetson Nano has now Jetpack 4.6.3. Here is the flash log you requested.
SDKM_logs_JetPack_4.6.3_Linux_for_Jetson_Nano_modules_2023-07-04_06-45-53.zip (291.1 KB)

Please let me know the next steps.

I also use the ISO from official Ubuntu release page.

Does your host PC upgrade to newer version rather than 18.04 after this command?

Could you help to run the following command on your host PC?

lsb_release -a

It seems you’ve flashed the board successfully.

07:05:32.488 - info: NV_L4T_FLASH_NANO_WITH_OS_IMAGE_COMP@JETSON_NANO_TARGETS: copying dtbfile(/home/tareq/nvidia/nvidia_sdk/JetPack_4.6.3_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-b00.dtb)... done.

This is the dtb file you are using.
Please share this dtb (Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-b00.dtb) here.

I still have Ubuntu 18.04 in the host PC.

tareq@tareq-Inspiron-3583:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.6 LTS
Release:	18.04
Codename:	bionic

Here is the dtb file from the host PC you requested.
tegra210-p3448-0000-p3449-0000-b00.dtb (231.8 KB)

Please refer to the following steps to modify device tree to removing the GPIO usage for SPI pins.

Step1: Dissemble the dtb to dts
dtc -I dtb -O dts -o temp.dts tegra210-p3448-0000-p3449-0000-b00.dtb

Step2: Modify the following line
-        gpio-input = <0xd8 0xc 0xd 0xe 0xf 0xe8 0x26 0x95 0x5 0xbc 0xbd 0xbe 0xc1 0xc2 0xa8 0xc8 0xca 0x4d 0x4e 0x4c 0x4f 0x32 0x33 0x10 0x11 0x12 0x13 0x14 0x3a 0x3d 0x3e 0x41 0xe4>;
+        gpio-input = <0xd8 0x26 0x95 0x5 0xbc 0xbd 0xbe 0xc1 0xc2 0xa8 0xc8 0xca 0x4d 0x4e 0x4c 0x4f 0x32 0x33 0x3a 0x3d 0x3e 0x41 0xe4>;

Step3: Assemble the dts back to dtb
dtc -I dts -O dtb -o tegra210-p3448-0000-p3449-0000-b00.dtb temp.dts

After you finish above steps, please reflash the board.

I have applied the modification on the host PC’s /home/tareq/nvidia/nvidia_sdk/JetPack_4.6.3_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-b00.dtb file using the 3 steps you mentioned.
I then successfully re-flashed the Jetson-nano using SDKM. Please let me know the next steps.

Please keep referring to the following thread for SPI loopback test I shared before.
Jetson Nano SPI Bus Not Working - #10 by KevinFFF

I did the spidev-test following the steps you mentioned and it is not working. I am getting similar results shown in step 9 of my first post.

Do you use Jetson-IO to configure the pins as SPI usage w/o issue?

Do you short MOSI and MISO together for loopback test?

Could you share the serial console log or dmesg after you load the spidev?

Please also share the result of the following command

$sudo cat /sys/kernel/debug/tegra_pinctrl_reg | grep -i spi

Yes, I use Jetson-IO to configure the pins as SPI usage w/o issue.

Yes, I shorted MOSI and MISO together for loopback test.

tareq@sfd-nano:~/spidev-test$ sudo modprobe spidev
tareq@sfd-nano:~/spidev-test$ ls /dev/spidev*
/dev/spidev0.0  /dev/spidev0.1  /dev/spidev1.0  /dev/spidev1.1
tareq@sfd-nano:~/spidev-test$ ./spidev_test -v -D /dev/spidev0.0
spi mode: 0x0
bits per word: 8
max speed: 500000 Hz (500 KHz)
TX | FF FF FF FF FF FF 40 00 00 00 00 95 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F0 0D  | ......@....ļæ½..................ļæ½.
RX | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................
tareq@sfd-nano:~/spidev-test$ sudo cat /sys/kernel/debug/tegra_pinctrl_reg | grep -i spi
Bank: 1 Reg: 0x70003050 Val: 0x0000e044 -> spi1_mosi_pc0
Bank: 1 Reg: 0x70003054 Val: 0x0000e044 -> spi1_miso_pc1
Bank: 1 Reg: 0x70003058 Val: 0x0000e044 -> spi1_sck_pc2
Bank: 1 Reg: 0x7000305c Val: 0x0000e048 -> spi1_cs0_pc3
Bank: 1 Reg: 0x70003060 Val: 0x0000e048 -> spi1_cs1_pc4
Bank: 1 Reg: 0x70003064 Val: 0x00006046 -> spi2_mosi_pb4
Bank: 1 Reg: 0x70003068 Val: 0x00006046 -> spi2_miso_pb5
Bank: 1 Reg: 0x7000306c Val: 0x00006046 -> spi2_sck_pb6
Bank: 1 Reg: 0x70003070 Val: 0x00006046 -> spi2_cs0_pb7
Bank: 1 Reg: 0x70003074 Val: 0x00006045 -> spi2_cs1_pdd0
Bank: 1 Reg: 0x70003078 Val: 0x0000e015 -> spi4_mosi_pc7
Bank: 1 Reg: 0x7000307c Val: 0x0000e015 -> spi4_miso_pd0
Bank: 1 Reg: 0x70003080 Val: 0x0000e015 -> spi4_sck_pc5
Bank: 1 Reg: 0x70003084 Val: 0x0000e015 -> spi4_cs0_pc6
Bank: 1 Reg: 0x70003088 Val: 0x00002040 -> qspi_sck_pee0
Bank: 1 Reg: 0x7000308c Val: 0x00002000 -> qspi_cs_n_pee1
Bank: 1 Reg: 0x70003090 Val: 0x00002040 -> qspi_io0_pee2
Bank: 1 Reg: 0x70003094 Val: 0x00002040 -> qspi_io1_pee3
Bank: 1 Reg: 0x70003098 Val: 0x00002040 -> qspi_io2_pee4
Bank: 1 Reg: 0x7000309c Val: 0x00002040 -> qspi_io3_pee5
Bank: 0 Reg: 0x70000b70 Val: 0x00000001 -> drive_qspi_comp_control
Bank: 0 Reg: 0x70000b78 Val: 0x00000001 -> drive_qspi_lpbk_control
Bank: 0 Reg: 0x70000a78 Val: 0x00808000 -> drive_qspi_comp

What to you mean by ā€œserial console log or dmesg after you load the spidevā€?

Please refer to the following instruction to capture serial console log.
Jetson Nano & NX Style - Serial Debug Console - JetsonHacks

This is getting crazy.

Anyone who is reading this thread should know that the SPI of Jetson Nano doesn’t work. NVIDIA gives a blind eye on this problem and don’t fix it. Rather, wastes a lots of time of the customer who comes in the forum for help.

The specification description of JetsonNano website must remove SPI, so that developers aren’t fooled by their misleading marketing.

Thanks.

3 Likes