TX2 NX SPI not working

Hi:
I’m using JetPack 4.5.1 on TX2 NX, test with spidev_test, SPI0 is working, SPI1 is not.
I have not modified pinmux configuration : bootloader/t186ref/BCT/tegra186-mb1-bct-pinmux-p3636-0001-a00.cfg, because I think the 2 SPI are all configured correctly:

pinmux.0x0243d018 = 0x00000446; # gpio_wan5_ph0: spi1, pull-down, tristate-disable, input-enable, lpdr-disable
pinmux.0x0243d010 = 0x00000446; # gpio_wan6_ph1: spi1, pull-down, tristate-disable, input-enable, lpdr-disable
pinmux.0x0243d008 = 0x00000446; # gpio_wan7_ph2: spi1, pull-down, tristate-disable, input-enable, lpdr-disable
pinmux.0x0243d000 = 0x0000044a; # gpio_wan8_ph3: spi1, pull-up, tristate-disable, input-enable, lpdr-disable
pinmux.0x0c302050 = 0x00000444; # gpio_sen1_pv1: spi2, pull-down, tristate-disable, input-enable, lpdr-disable
pinmux.0x0c302058 = 0x00000444; # gpio_sen2_pv2: spi2, pull-down, tristate-disable, input-enable, lpdr-disable
pinmux.0x0c302060 = 0x00000444; # gpio_sen3_pv3: spi2, pull-down, tristate-disable, input-enable, lpdr-disable
pinmux.0x0c302068 = 0x00000448; # gpio_sen4_pv4: spi2, pull-up, tristate-disable, input-enable, lpdr-disable

test output:

# ./spidev_test  -D /dev/spidev3.0
spi mode: 0x3
bits per word: 8
max speed: 500000 Hz (500 KHz)
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  | ................................

Hi,
Please using jetson-io to configure those pin to try again.

Thanks

Hi,
I did, nothing changed.

  =================== Jetson Expansion Header Tool ===================
 |                                                                    |
 |                                                                    |
 |                Select desired functions (for pins):                |
 |                                                                    |
 |                  [ ] aud_mclk       (7)                            |
 |                  [ ] extperiph3_clk (29)                           |
 |                  [*] i2s1           (12,35,38,40)                  |
 |                  [ ] pwm1           (32)                           |
 |                  [ ] pwm3           (33)                           |
 |                  [*] spi1           (19,21,23,24)                  |
 |                  [*] spi2           (13,18,22,37)                  |
 |                  [ ] touch_clk      (31)                           |
 |                  [*] uartc-cts/rts  (11,36)                        |
 |                                                                    |
 |                                Back                                |
 |                                                                    |
 |                                                                    |
 |                                                                    |
 |                                                                    |
 |                                                                    |
 |                                                                    |
 |                                                                    |
 |                                                                    |
 |                                                                    |
 |                                                                    |
 |                                                                    |
 |                                                                    |
 |                                                                    |
 |                                                                    |
 |                                                                    |
 |                                                                    |
 |                                                                    |
 |                                                                    |
 |                                                                    |
 |                                                                    |
 |                                                                    |
  ====================================================================

Did you short pin 19/21 for loopback test?

19/21 is SPI0, it’s working.
22/37 is SPI1, it’s not.
Both are shorted.

I just check on J4.6.1(r32.7.1) without problem after enable by jetson-io.

nvidia@tegra-ubuntu:~$ sudo ./spidev_test -D /dev/spidev1.0 -g 32 -s 1100000000 -zzz
using device: /dev/spidev1.0
setting spi mode for read,write
setting spi bpw
setting max speed for rd/wr
spi mode: 0
bits per word: 8 bytes per word: 1
max speed: 1100000000 Hz (1100000 KHz)
no. runs: 1
Using seed:0x62440751
loop count = 0
using sequential pattern ....
transfer bytes [32]
0000: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
0010: 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
transfer: Return actual transfer length: 32
receive bytes [32]
0000: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
0010: 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
transfer: received packet size:32 len:32 stat:0
/dev/spidev1.0: TEST PASSED
====== Transfer stats ====
Transmit:
       total: 32B (0KiB 0MiB)
       total: 1P
       ioerr: 0B (0KiB 0MiB)
       ioerr: 0P
 Rate:
  wire total: -1B/s (0KB/s)
       total: -1B/s (0KB/s)
  wire total: -1P/s
       total: -1P/s
Receive:
       total: 32B (0KiB 0MiB)
       total: 1P
        good: 32B (0KiB 0MiB)
        good: 1P
       ioerr: 0P
     dataerr: 0P
 Rate:
        good: -1B/s (0KB/s)
        good: -1P/s
 packet drop: -1/10000

  Total time: 0.000861s

Hi, /dev/spidev1.0 is SPI0, can you test /dev/spidev3.0 or /dev/spidev3.1 ?

For Jetson TX2 NX only have spi1/spi2 aka spidev0.x/spidev1.0

              [*] spi1           (19,21,23,24)                  |
              [*] spi2           (13,18,22,37)

I’m working on Jetpack 4.5.1, it’s a bug, here is the patch:

diff --git a/kernel-dts/common/tegra186-p3636-0001-common.dtsi b/kernel-dts/common/tegra186-p3636-0001-common.dtsi
index a0e922b..d5f3a88 100644
--- a/kernel-dts/common/tegra186-p3636-0001-common.dtsi
+++ b/kernel-dts/common/tegra186-p3636-0001-common.dtsi
-       spi@3240000 {
                status = "okay";
                spi@0 {
                        compatible = "spidev";
                        reg = <0x0>;
@@ -126,7 +124,243 @@
                };
        };
 
+       spi@c260000 {
                 status = "okay";
                 spi@0 {
                         compatible = "spidev";

So after apply the patch now doesn’t have problem for this topic?

Yes. the bug is also fixed in Jetpack 4.6.1

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