Jetson orin nx - R36.3 自制底板使用RS485

jetson orin nx - R36.3 自制底板使用RS485,485连接的引脚是UART0_TXD,进入系统后dev下节点有/dev/ttyTCU0 /dev/ttyTHS1 /dev/ttyTHS2,那个是我485对应的节点呢? 硬件原理吐下:


如果没有我硬件对应的节点,内核设备树应该怎么添加呢?

Hello,

Thanks for visiting the NVIDIA Developer forums! Your topic will be best served in the Jetson category.

I have moved this post for better visibility.

Cheers,
Tom

Hi 1714557435,

For UART0_TXD, it should be uartb@3110000 which is from M.2 Key E port.
Please check your full dmesg to get its sysfs node.

谢谢,这个问题已经解决了。还想请教一个其他问题,麻烦帮忙看下
我通过gpioinfo命令查看到PCC.03这个引脚被占用了,如何修改它让它不占用呢?我需要用这个引脚,麻烦给个详细指导步骤

PCC.03 is used by cam_i2cmux node in device tree by default, please try to disable it as following:

#define CAM_I2C_MUX 	TEGRA234_AON_GPIO(CC, 3)

				cam_i2cmux{
- 					status = "okay";
+ 					status = "disabled";

请问您发的这个方式?是修改的那个设备树呢?可以发下路径吗?我这里使用jetson orin nx R36.3 software,修改的设备树是bootloader里面,还是kernel的呢?

You can simply decompile the DTB file in /boot/dtb/XXX.dtb and disable that node.
Please confirm that you have FDT entry specified in extlinux.conf

我使用的tegra234-p3768-0000+p3767-0000-nv.dtb这个文件,尝试反编译了,没有找到cam_i2cmux这个节点

Please run the following command on your board and share extracted_proc.dts for further check.

$ sudo dtc -I fs -O dts -o extracted_proc.dts /proc/device-tree

extracted_proc.dts.txt (325.6 KB)
这是运行后生成的dts,麻烦帮忙看下

I do see this node enabled on your board.

		cam_i2cmux {
			#address-cells = <0x01>;
			#size-cells = <0x00>;
			mux-gpios = <0xf6 0x13 0x00>;
			compatible = "i2c-mux-gpio";
			status = "okay";

Could you also share the following file for further check?

  1. <Linux_for_Tegra>/p3767.conf.common in your BSP package
  2. /boot/dtb/etxlinux.conf from your board

extlinux.conf.txt (952 Bytes)
p3767.conf.common.txt (8.0 KB)
这两个就是,麻烦看下

It seems you don’t have FDT entry in extlinux.conf.
Please add it as following:

LABEL primary
      MENU LABEL primary kernel
      LINUX /boot/Image
      INITRD /boot/initrd
+     FDT /boot/dtb/kernel_tegra234-p3768-0000+p3767-0000-nv.dtb
      APPEND ${cbootargs} root=PARTUUID=4ce9c472-69c3-4692-bb90-e8b0725cf023 rw rootwait rootfstype=ext4 mminit_loglevel=4 console=ttyTCU0,115200 firmware_class.path=/etc/firmware fbcon=map:0 net.ifnames=0 nospectre_bhb video=efifb:off console=tty0 

Please also share /boot/dtb/kernel_tegra234-p3768-0000+p3767-0000-nv.dtb from your board for further check.

kernel_tegra234-p3768-0000+p3767-0000-nv.dtb.txt (238.4 KB)
以前这样尝试过,添加FDT,但是没有效果,显示还是被占用,我将dtb文件也发您

This node may be added by other overlay dtbo of camera.
Could you share the full serial console log on your board with debug UEFI messages enabled?
And also the full flash log to check if there’s some info inside.

Or you can try running grep -rns "cam_i2cmux" in your bsp package to check where it stored.

有可能被覆盖了,我看demsg是有i2c-mux-gpio信息的,我把完整发您


demsg.txt (56.2 KB)
另外,我有使用grep -nr “i2c-mux-gpio” ./ 搜索过,搜到的信息是下面的,您看下,搜到我关闭了,还是不行,可能没修改对
grep.txt (4.1 KB)

Yes, they are included in overlay dts for camera.
You have to check which one included in your case.

I think it may be loaded during boot up in UEFI so that I requested for debug UEFI logs in serial console.

您需要的日志,我应该怎么给你呢?我刚才发的log不行吗

我尝试将i2cmux驱动裁剪,裁剪后确实可以了,但是这样会影响我们对i2c功能吧?您还有其他方法吗

jetpack6.0删除原/sys/class/gpio方式操作gpio,还想请问下,如何使用gpiod控制高低电平呢