Jetson Orin NX 的 SODIMM-97 SPI0_CS1 无法作为 GPIO 进行操作

你好,

我们遇到一个很奇怪的问题,我们选用 SODIMM 的 95 和 97 管脚,作为 gpio 来控制电机。但是发现 97 PIN 不受控,而 95 PIN 是可以受控的。

注: 95 管脚名字为 SPI0_CS0, 97 管脚名字为 SPI0_CS1. 但从 excel 表(Jetson_Orin_NX_and_Orin_Nano_series_Pinmux_Config_Template_v1.2.xlsm)可以看到,其function name 是这样的: PIN95→ SPI1_CS0; PIN97→ SPI1_CS1)

查看 RTM 可知:

PADCTL_G2_SPI1_CS0_0
Offset: 0x8
Reset: 0x00000430 (0bxxxx,xxxx,xxxx,xxxx,xxx0,x1x0,0011,0000)

PADCTL_G2_SPI1_CS1_0
Offset: 0x38
Reset: 0x00000430 (0bxxxx,xxxx,xxxx,xxxx,xxx0,x1x0,0011,0000)

PADCTL_G2: 0x243d000

使用贵司的 excel 产生 dtsi 和使用 busybox 直接修改 PADCTL 的方法都用过了,但均无效。

其中使用 PADCTL 的方法为:

操作 CS0:

sudo busybox devmem 0x0243d008 w 0x004

gpioset –mode=wait 0 136=0/1

操作 CS1:

sudo busybox devmem 0x0243d038 w 0x004

gpioset –mode=wait 0 137=0/1

结果是 CS0 受控,电平可以随着命令发生变化(用 python 脚本也可正常操作)

但 CS1 一致不受控,请问一下这是为什么?

Hi sclsql,

Are you using the devkit or custom board for Orin NX?
What’s the Jetpack version in use?

Please configure it as following in pinmux spreadsheet if you want to control it.
image

你好,

目前使用的是 jetson ORIN NX , jetpack 6.2.1,

使用的 excel 为Jetson_Orin_NX_and_Orin_Nano_series_Pinmux_Config_Template_v1.2.xlsm。

使用自研载板( 公版devkit 没有引出 97 PIN )

我觉得很奇怪的是,同样的操作手法, CS0 是 OK 的,但 CS1 就不行,难道 IC 内部设计有差异?

image

For the Output pin, please configure it as Drive 0 or Drive 1.
Int PU is invalid for an Output pin.