我们在使用一款TMDXEVM8148开发板,处理器型号x8148x3874....软件linux内核版本 2.6.37
问题:
最近我们在移植一个pcie接口的wifi模块,发现系统在/sys/bus/pci/下面 随机出现00:00 00:01这两个设备,似乎扫描不到wifi厂商的设备
源码使用的是dvr_rdk的默认配置,RC模式,是源码哪里配置有问题吗?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我们在使用一款TMDXEVM8148开发板,处理器型号x8148x3874....软件linux内核版本 2.6.37
问题:
最近我们在移植一个pcie接口的wifi模块,发现系统在/sys/bus/pci/下面 随机出现00:00 00:01这两个设备,似乎扫描不到wifi厂商的设备
源码使用的是dvr_rdk的默认配置,RC模式,是源码哪里配置有问题吗?
menuconfig 中相关pcie debug配置,输出no_link,信息。可是有的时候系统是能检测到RC bridge的,有的时候自己的brige也检测不到,
不明白这里有什么问题?
时钟也测试了,RC和EP参考时钟均是100MHZ。
我们使用的8148发布版本是 DVRRDK_04.01.00.02.tar.lzma,Userguide说:
Support for TI814X Root Complex is added from 04.01.00.06 release, hence this document is not
applicable for prior TI814X releases
那么这个版本支持pcie RC模式吗?
JianLei Yan 说:时钟也测试了,RC和EP参考时钟均是100MHZ。
请问是同源的么?
是的,我测试的是CDCM61002RHBR芯片,引出PCI_CONN_REFP,PCI_CONN_REFN送到ep,SERDES_IN_REFP,SERDES_IN_REFN送到处理器
管脚输出100MHZ的
现在有几个现象
1、启动后大多数时候/sys/bus/pci这个目录是空的,有时候会有两个子目录
2、系统启动有时候会因为pcie启动失败,打印
ti81xx_pcie: Invoking PCI BIOS... ti81xx_pcie: Setting up Host Controller... ti81xx_pcie: Register base mapped @0xc8830000 ti81xx_pcie: forcing link width - x1 Unhandled fault: external abort on non-linefetch (0x1008) at 0xc8830004 Internal error: : 1008 [#1] last sysfs file: Modules linked in: CPU: 0 Not tainted (2.6.37 #14) PC is at ti81xx_pcie_setup+0x324/0x5c4 LR is at schedule_timeout+0x148/0x174 pc : [<c0064110>] lr : [<c040250c>] psr: 60000013 sp : c4825e38 ip : c4825dd8 fp : c4825e64 r10: c05e9110 r9 : 00000000 r8 : c4893000 r7 : c057b180 r6 : c489305c r5 : c4893040 r4 : c05c1a18 r3 : c8830000 r2 : 00000604 r1 : 00000000 r0 : 00000000 Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel Control: 10c5387f Table: 80004019 DAC: 00000017 Process swapper (pid: 1, stack limit = 0xc48242e8) Stack: (0xc4825e38 to 0xc4826000) 5e20: c4825e64 c4825e48 5e40: c00cbd04 c0584a00 c4893000 00000000 00000000 c0587500 c4825e94 c4825e68 5e60: c000c2e4 c0063df8 60000013 c056ff18 c056ff4c c05849c8 c05849c8 00000000 5e80: 00000000 00000000 c4825ea4 c4825e98 c0063bcc c000c250 c4825eb4 c4825ea8 5ea0: c023333c c0063b50 c4825ed4 c4825eb8 c02323ac c023332c c056ff18 c056ff4c 5ec0: c05849c8 00000000 c4825ef4 c4825ed8 c02324d0 c02322e8 c481ee34 c05849c8 5ee0: c4825ef8 c0232468 c4825f1c c4825ef8 c0231544 c0232474 c481ee38 c4888930 5f00: c05849c8 c4892180 c05a51f0 00000000 c4825f2c c4825f20 c0232044 c02314f8 5f20: c4825f5c c4825f30 c0231c48 c0232030 c04dda2e c4825f40 c05849c8 c002fb14 5f40: c0078e88 c0013430 00000000 00000000 c4825f84 c4825f60 c023272c c0231ba0 5f60: c002f6c8 c002fb14 c0078e88 c0013430 00000000 00000000 c4825f94 c4825f88 5f80: c02337f8 c0232688 c4825fa4 c4825f98 c0013444 c02337b8 c4825fdc c4825fa8 5fa0: c00424f8 c001343c c4825fc4 00000196 c05918dc c0078e88 c4825fdc c002f6c8 5fc0: c002fb14 c0078e88 00000013 00000000 c4825ff4 c4825fe0 c0008cfc c0042448 5fe0: 00000000 c0008c5c 00000000 c4825ff8 c0078e88 c0008c68 16969696 149e9694 Backtrace: [<c0063dec>] (ti81xx_pcie_setup+0x0/0x5c4) from [<c000c2e4>] (pci_common_init+0xa0/0x190) r8:c0587500 r7:00000000 r6:00000000 r5:c4893000 r4:c0584a00 [<c000c244>] (pci_common_init+0x0/0x190) from [<c0063bcc>] (ti81xx_pcie_probe+0x88/0xa0) [<c0063b44>] (ti81xx_pcie_probe+0x0/0xa0) from [<c023333c>] (platform_drv_probe+0x1c/0x20) [<c0233320>] (platform_drv_probe+0x0/0x20) from [<c02323ac>] (driver_probe_device+0xd0/0x18c) [<c02322dc>] (driver_probe_device+0x0/0x18c) from [<c02324d0>] (__driver_attach+0x68/0x8c) r7:00000000 r6:c05849c8 r5:c056ff4c r4:c056ff18 [<c0232468>] (__driver_attach+0x0/0x8c) from [<c0231544>] (bus_for_each_dev+0x58/0x88) r6:c0232468 r5:c4825ef8 r4:c05849c8 r3:c481ee34 [<c02314ec>] (bus_for_each_dev+0x0/0x88) from [<c0232044>] (driver_attach+0x20/0x28) r7:00000000 r6:c05a51f0 r5:c4892180 r4:c05849c8 [<c0232024>] (driver_attach+0x0/0x28) from [<c0231c48>] (bus_add_driver+0xb4/0x230) [<c0231b94>] (bus_add_driver+0x0/0x230) from [<c023272c>] (driver_register+0xb0/0x134) [<c023267c>] (driver_register+0x0/0x134) from [<c02337f8>] (platform_driver_register+0x4c/0x60) [<c02337ac>] (platform_driver_register+0x0/0x60) from [<c0013444>] (ti81xx_pcie_rc_init+0x14/0x20) [<c0013430>] (ti81xx_pcie_rc_init+0x0/0x20) from [<c00424f8>] (do_one_initcall+0xbc/0x190) [<c004243c>] (do_one_initcall+0x0/0x190) from [<c0008cfc>] (kernel_init+0xa0/0x154) r8:00000000 r7:00000013 r6:c0078e88 r5:c002fb14 r4:c002f6c8 [<c0008c5c>] (kernel_init+0x0/0x154) from [<c0078e88>] (do_exit+0x0/0x5d0) r5:c0008c5c r4:00000000 Code: e2833a01 e1c320ba f57ff04f e5943000 (e5932004) ---[ end trace 1b75b31a2719ed1c ]--- Kernel panic - not syncing: Attempted to kill init! Backtrace: [<c004ffc4>] (dump_backtrace+0x0/0x110) from [<c040197c>] (dump_stack+0x18/0x1c) r6:c4822000 r5:0000000b r4:c05c1f98 r3:60000113 [<c0401964>] (dump_stack+0x0/0x1c) from [<c04019dc>] (panic+0x5c/0x178) [<c0401980>] (panic+0x0/0x178) from [<c0078ef0>] (do_exit+0x68/0x5d0) r3:c0588a4c r2:c4825c68 r1:00000001 r0:c04e8c01 r7:00000000 [<c0078e88>] (do_exit+0x0/0x5d0) from [<c0050438>] (die+0x2b0/0x2ec) r7:00000000 [<c0050188>] (die+0x0/0x2ec) from [<c00504c8>] (arm_notify_die+0x54/0x58) [<c0050474>] (arm_notify_die+0x0/0x58) from [<c0042248>] (do_DataAbort+0x8c/0xa0) [<c00421bc>] (do_DataAbort+0x0/0xa0) from [<c04038ec>] (__dabt_svc+0x4c/0x60) Exception stack(0xc4825df0 to 0xc4825e38) 5de0: 00000000 00000000 00000604 c8830000 5e00: c05c1a18 c4893040 c489305c c057b180 c4893000 00000000 c05e9110 c4825e64 5e20: c4825dd8 c4825e38 c040250c c0064110 60000013 ffffffff r8:c4893000 r7:c057b180 r6:c489305c r5:c4825e24 r4:ffffffff [<c0063dec>] (ti81xx_pcie_setup+0x0/0x5c4) from [<c000c2e4>] (pci_common_init+0xa0/0x190) r8:c0587500 r7:00000000 r6:00000000 r5:c4893000 r4:c0584a00 [<c000c244>] (pci_common_init+0x0/0x190) from [<c0063bcc>] (ti81xx_pcie_probe+0x88/0xa0) [<c0063b44>] (ti81xx_pcie_probe+0x0/0xa0) from [<c023333c>] (platform_drv_probe+0x1c/0x20) [<c0233320>] (platform_drv_probe+0x0/0x20) from [<c02323ac>] (driver_probe_device+0xd0/0x18c) [<c02322dc>] (driver_probe_device+0x0/0x18c) from [<c02324d0>] (__driver_attach+0x68/0x8c) r7:00000000 r6:c05849c8 r5:c056ff4c r4:c056ff18 [<c0232468>] (__driver_attach+0x0/0x8c) from [<c0231544>] (bus_for_each_dev+0x58/0x88) r6:c0232468 r5:c4825ef8 r4:c05849c8 r3:c481ee34 [<c02314ec>] (bus_for_each_dev+0x0/0x88) from [<c0232044>] (driver_attach+0x20/0x28) r7:00000000 r6:c05a51f0 r5:c4892180 r4:c05849c8 [<c0232024>] (driver_attach+0x0/0x28) from [<c0231c48>] (bus_add_driver+0xb4/0x230) [<c0231b94>] (bus_add_driver+0x0/0x230) from [<c023272c>] (driver_register+0xb0/0x134) [<c023267c>] (driver_register+0x0/0x134) from [<c02337f8>] (platform_driver_register+0x4c/0x60) [<c02337ac>] (platform_driver_register+0x0/0x60) from [<c0013444>] (ti81xx_pcie_rc_init+0x14/0x20) [<c0013430>] (ti81xx_pcie_rc_init+0x0/0x20) from [<c00424f8>] (do_one_initcall+0xbc/0x190) [<c004243c>] (do_one_initcall+0x0/0x190) from [<c0008cfc>] (kernel_init+0xa0/0x154) r8:00000000 r7:00000013 r6:c0078e88 r5:c002fb14 r4:c002f6c8 [<c0008c5c>] (kernel_init+0x0/0x154) from [<c0078e88>] (do_exit+0x0/0x5d0) r5:c0008c5c r4:00000000
这些现象说明什么呢?
JianLei Yan 说:是的,我测试的是CDCM61002RHBR芯片,引出PCI_CONN_REFP,PCI_CONN_REFN送到ep,SERDES_IN_REFP,SERDES_IN_REFN送到处理器
管脚输出100MHZ的
我的意思是pcie slot上的参考时钟是否同源?
插槽上REFCLK+ 和REFCLK-这两根信号线吗?他们都是从CDCM61002RHBR芯片输出的,算是同源吗?
你好,
你看看下面链接的信息:
http://processors.wiki.ti.com/index.php/TI81XX_PCIe_FAQs
http://processors.wiki.ti.com/index.php/DM816x_AM389x_PCIe_Clocking_Schemes
Chris Meng 说:你好,
你看看下面链接的信息:
http://processors.wiki.ti.com/index.php/TI81XX_PCIe_FAQs
http://processors.wiki.ti.com/index.php/DM816x_AM389x_PCIe_Clocking_Schemes
我们在使用的是ti做的公板,TI81XX_PSP_PCI_Express_Root_Complex_Driver_User_Guide对814X说,RC模式是在
SDK 04.01.00.06之后的版本添加的,我们用的是 DVRRDK_04.01.00.02.tar.lzma,能不能说明是这个问题造成的呢?
JianLei Yan 说:我们在使用的是ti做的公板,TI81XX_PSP_PCI_Express_Root_Complex_Driver_User_Guide对814X说,RC模式是在
SDK 04.01.00.06之后的版本添加的,我们用的是 DVRRDK_04.01.00.02.tar.lzma,能不能说明是这个问题造成的呢?
原文是:
NOTE1: Support for TI814X Root Complex is added from 04.01.00.06 release, hence this document is not applicable for prior TI814X releases.
这里的软件版本是psp,也就是linux驱动的版本,不是dvr rdk的版本。
最新的驱动你可以在git上下载:
http://arago-project.org/git/projects/?p=linux-omap3.git;a=summary
Chris Meng 说:我们在使用的是ti做的公板,TI81XX_PSP_PCI_Express_Root_Complex_Driver_User_Guide对814X说,RC模式是在
SDK 04.01.00.06之后的版本添加的,我们用的是 DVRRDK_04.01.00.02.tar.lzma,能不能说明是这个问题造成的呢?
原文是:
NOTE1: Support for TI814X Root Complex is added from 04.01.00.06 release, hence this document is not applicable for prior TI814X releases.
这里的软件版本是psp,也就是linux驱动的版本,不是dvr rdk的版本。
最新的驱动你可以在git上下载:
http://arago-project.org/git/projects/?p=linux-omap3.git;a=summary
[/quote]
HI,Chris Meng:
我们这边发现,在使用的PCIE EP设备是需要使用PCIE reset信号复位的,我两个问题需要向您请教一下
1、/sys/bus/pci下面的pcie总线大多时候是空的目录,这个目录是在扫描到ep之后才会产生的吗
2、在Uboot中bootcmd添加 i2c mw 0x20 ff ef ; i2c mw 0x20 ff ff,这样在8148 EVM平台上对SW的操作有几处?
你好:
http://processors.wiki.ti.com/index.php/TI81XX_PSP_PCI_Express_Root_Complex_Driver_User_Guide#Taking_care_of_PERSTn
Note: This section including sub-sections do not apply to TI814X/TI813X.
我网上搜索了一下,复位可以使用下面的命令,你看看可行吗?
echo "1" > /sys/bus/pci/devices/$NUMBER/reset