Jetson-xavier-nx-devkit how to enable spi0

Hi,
How to enable SPI0/1 in 40-Pin Expansion Header, and How to ensure the multiplex pin as SPI function?

Have a reference to below link for it.

Hi,
SPI1 has been configured as post, and loopback test is ok, but no response when connect spi device.
loopback test:
root@insta360-desktop:/vendor/system/insta360/bin# ./spidev_test -D /dev/spidev0.0 -s 1000000 -p"\xf5\x00" -v
spi mode: 0x0
bits per word: 8
max speed: 1000000 Hz (1000 KHz)
TX | F5 00 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ | �.
RX | F5 00 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ | �.
I want to make sure of a few things:
1.The device file corresponding to SPI1 is spidev0.X ?
2.Pinmux configure is all right?
root@insta360-desktop:/sys/kernel/debug# cat tegra_pinctrl_reg | grep spi1
Bank: 0 Reg: 0x0243b030 Val: 0x00023415 → qspi1_io3_pd3
Bank: 0 Reg: 0x0243b038 Val: 0x00023415 → qspi1_io2_pd2
Bank: 0 Reg: 0x0243b040 Val: 0x00023415 → qspi1_io1_pd1
Bank: 0 Reg: 0x0243b048 Val: 0x00023415 → qspi1_io0_pd0
Bank: 0 Reg: 0x0243b050 Val: 0x00023435 → qspi1_sck_pc6
Bank: 0 Reg: 0x0243b058 Val: 0x00023415 → qspi1_cs_n_pc7
Bank: 0 Reg: 0x0243d010 Val: 0x00000448 → spi1_cs0_pz6
Bank: 0 Reg: 0x0243d020 Val: 0x00000444 → spi1_miso_pz4
Bank: 0 Reg: 0x0243d040 Val: 0x00000444 → spi1_sck_pz3
Bank: 0 Reg: 0x0243d050 Val: 0x00000448 → spi1_cs1_pz7
Bank: 0 Reg: 0x0243d058 Val: 0x00000444 → spi1_mosi_pz5
root@insta360-desktop:/sys/kernel/debug#

1 Like

No, SPI1 pin 13,16,18,22 is spidev2.x SPI0_xx pin 19,21,23,24 is the spidev0.x

Hi ShaneCCC,
In jetson-xavier-nx-devkit-emmc platform, use the above method to configure spi, dts file (kernel_tegra194-p3668-all-p3509-0000-user-custom.dtb) was generated, however the following error occurred during startup. (sdk: r-32.5.1)
[0008.896] I> Validate kernel …
[0008.896] I> T19x: Authenticate kernel (bin_type: 37), max size 0x5000000
[0009.215] I> Encryption fuse is not ON
[0009.231] I> Loading kernel-dtb sig file from rootfs …
[0009.232] I> rootfs path: /sdmmc_user/boot/kernel_tegra194-p3668-all-p3509-0000-user-custom.dtb.sig
[0015.428] I> lookup_linear_dir:447: Invalid file block num
[0015.428] I> ext2_walk:142: ‘kernel_tegra194-p3668-all-p3509-0000-user-custom.dtb.sig’ lookup failed
[0015.429] I> ext4_open_file:666: ‘/boot/kernel_tegra194-p3668-all-p3509-0000-user-custom.dtb.sig’ lookup failed
[0015.429] E> file /sdmmc_user/boot/kernel_tegra194-p3668-all-p3509-0000-user-custom.dtb.sig open failed!!
[0015.436] W> Failed to load kernel-dtb sig file (err=202113041)
[0015.442] I> Loading kernel-dtb binary from rootfs …
[0015.447] I> rootfs path: /sdmmc_user/boot/kernel_tegra194-p3668-all-p3509-0000-user-custom.dtb
[0015.481] I> Validate kernel-dtb …
[0015.481] I> T19x: Authenticate kernel-dtb (bin_type: 38), max size 0x400000
[0015.482] E> Stage2Signature validation failed with SHA2!!
[0015.482] C> OEM authentication of kernel-dtb header failed!
[0015.483] W> Failed to validate kernel-dtb binary (err=1077936152, fail=1)
[0015.484] W> Security fuse not burned, ignore validation failure
[0015.490] I> Loading ramdisk from rootfs …
[0015.494] I> Loading initrd sig file from rootfs …
[0015.499] I> rootfs path: /sdmmc_user/boot/initrd.sig
[0015.528] I> Loading initrd binary from rootfs …
[0015.528] I> rootfs path: /sdmmc_user/boot/initrd
[0015.624] I> overload load_size to 7236840 (from 7236848)
[0015.627] I> Validate initrd …
[0015.628] I> T19x: Authenticate initrd (bin_type: 49), max size 0x4000000