pinmux电子表格修改GPIO之后,写GPIO的值不生效

我使用Jetson_Orin_NX_and_Orin_Nano_series_Pinmux_Config_Template.xlsm配置了GPIO07为GPIO3_PG.06


下面是生成的设备树
tegra234-mb1-bct-gpio-p3767-dp-a03.dtsi.zip (6.2 KB)
我替换了bootloader/generic/BCT/tegra234-mb1-bct-pinmux-p3767-dp-a03.dtsi和bootloader/tegra234-mb1-bct-gpio-p3767-dp-a03.dtsi
然后执行./flash.sh -c bootloader/generic/cfg/flash_t234_qspi.xml $BOARD nvme0n1p1重新烧录了QSPI
启动后执行:

echo 389 > /sys/class/gpio/export
echo low > /sys/class/gpio/PG.06/direction
echo 1 > /sys/class/gpio/PG.06/value
echo 0 > /sys/class/gpio/PG.06/value

用电压表测量引脚电平没有发生变化

請問你是JetPack 5還是JetPack 6?
DevKit還是custom board?

這個是JetPack 6用的指令

但是JetPack 5才有GPIO sysfs
還有如果是JetPack 5的話你不需要改pinmux 直接用GPIO sysfs操作就應該要可以用

是JetPack 6

custom board

我在defconfig中启用了GPIO_SYSFS

麻煩你先同一塊module在DevKit上測試
可以用的話八成是你的板子線路有問題

那你就用GPIO sysfs就好 麻煩先忘掉pinmux

在DevKit上面不方便测量我需要IO的电平,我试了PN.01,也不行
我看/sys/kernel/debug/gpio显示是生效的:
image
原理图如下:


此时我设置value为0和1时,R73一直是高电平
当我把R73拆除,我测量R73左测value为0和1时一直是低电平
好像是GPIO12没有输出能力

pinmux不用配置吗?pin功能默认好像不是GPIO
可不可以在系统中查看pinmux有没有修改生效

我在DevKit上测试了,电平也没有变

How did you do the test on devkit? Please share a photo of that.

我使用示波器和万用表测量,这个引脚在输出设置为1和0时,电压都是0V


我現在才看到你這裡寫low…
direction應該只有in或out 你寫low當然不會有反應

direction应该是支持low的,设置low会同时配置direction为out,value为0
然后我手动再设置为out,也还是不行
1717138914991

你現在到底是用要用PN.01還是PG.06?
還有你確定這片是DevKit嗎?DevKit的40-pin針腳應該是沒有塗顏色的
custom board的40-pin接線可能也和DevKit不一樣

PN.01和PG.06都要用,还需要用PQ.06,PZ.07,PY.02,PY.03
这个是custom board,和DevKit一样


在系统中有方法查看pinmux的配置吗?

https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/HR/JetsonModuleAdaptationAndBringUp/JetsonOrinNxNanoSeries.html#changing-the-pinmux
你可以讀register來檢查你用pinmux寫進去的東西到底對不對

“ 1. In TRM, click System ComponentsMulti-Purpose I/O Pins and Pin Multiplexing (PinMux)Pinmux Registers .”
你好,请问这里的TRM是什么?

https://developer.nvidia.com/downloads/orin-series-soc-technical-reference-manual/

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