RG520N-CN目前lspci无法识别,请问时序应该怎么配置?rst和wake引脚在主机设备树怎么配置?

没有加载设备并进入到probe函数

请参考移远的硬件设计手册。
模组只有开机的时候可以进行枚举。所以主控需要等到模块模块拉了wake 后,去及时去拉pcie rst 引脚,才能正常枚举到PCIE 设备。

模块需要烧录什么固件吗?
时序这块的话主控里应该怎么配置顺序呢,我看主控drivers/pci/host/pcie-qcom.c代码中有rst引脚的拉高和拉低

你的Host 是什么? 什么主控,哪家的?
固件的话移远有两种,一种是用AT切换的,一种是PCIE only的,都是支持的。你当前的固件也应该可以。

PCIE 模组一般不支持热插拔。这个还要看模组的上电时间和时序。

您好,我的主控是nvidia jetson agx orin模组,通过连接器和5G相连,请问设备树或者时序相关的配置样例吗?目前不知道怎么配置

首先要确定的是那个连接器的硬件,主控的PCIE到模组的PCIE引脚是否连接的。同样是M.2封装,也可以是其他接口譬如USB。

主控的PCIe host怎么配置这个移远无法提供太多帮助。
你可以提供下主控的lspci 和 dmesg 日志,如果能看到什么那么主控支持PCIE的。
后面要做的,应该是调整模组的上电时间,让模组能满足PCIE枚举



这个图的意思是,在主控收到PCIE_WAIT拉低后,主控才去拉高PCIE_RST并开始枚举

还有个问题,这两个wake和rst是gpio脚吗?因为从和orin模组连接来看,这个rst好像不是gpio

这两个pin是专门用途的引脚。
PCIE_RST 在主控那边,默认是拉低的,拉高这个引脚之后就会进行枚举,scan pcie EP设备。

那这个需要在设备树里配置吗?我看图中源码已经有拉高的操作了
image

那个文档里提到的是IPQ的代码。

一般来说,我们通常都是用 “凑”时间的方式。通过修改模组的上电时间,譬如在bootloader里修改模组的上电时间,这样模块开机后,模组正好运行到kernel,而Host也正常运行在kernel,这时候完成了枚举。

如果你能在主控的PCIE驱动里检测到PCIE_WAKE和控制PCIE_RST,那么应该是在kernel 里等待模组拉低PCIE_WAKE,模组拉低PCIE_WAKE 后,主控的PCIE控制器驱动去拉高PCIE_RST。
至于是否需要使用设备树来配置、如何使用设备树来配置,这个取决于主控的PCIE程序。设备树的设计不是为了解决驱动的某个问题。

请问有和nvidia相关调试的修改样例吗?

关于PCIE 控制器那边怎么配置,确实应该去nvidia 的那边看看。

您好,我现在改用usb口连接,可识别模块,插入sim卡和天线后拨号显示如图,没有连接成功,通过usb转串口发送at指令也没有反应,麻烦帮忙分析下

没有注网。检查下天线。如果是RG520N 应该是需要很多根天线。

我们接了四根天线,使用busybox microcom -t 5000 -s 115200 /dev/ttyUSB2也没有反应

Ubuntu 上要禁用ModemManager的。

sudo systemctl stop ModemManager
sudo systemctl disable ModemManager

这个模块不只要4根天线。
如果不是天线问题就是SIM卡问题了,换张SIM卡测试下。

你好,是因为飞行模式导致的,现在可以正常拨号了,但是发现接ant0可以连接成功,接ant1-3不行,这些天线是有什么区别呢?是必须接ant0吗?

您好,我这边目前已经实现主控检测wake信号,在wake拉低之后去拉高rst脚,但还是没有枚举识别到id,请问是什么原因?

最好是找硬件的同事看看。
确定是否是走了PCIe

提供一下波形和内核日志。