主题中讨论的其他器件: DRA722、 PMP
工具/软件:Linux
您好!
目前、我正在努力使 PRU-ICSS 作为以太网器件运行。 虽然它在我们的参考板上完美运行、但我无法让它在我们的硬件上工作。
这是内核消息的(我认为)相关部分。 如果我从 DaVinci_MDIO 中删除代码、我会遇到类似的错误。
[3.124121] ti-pruss 4b200000.pruss:创建 PRU 内核和其他子平台器件
[3.134650] ------ [在此处剪切]-----
[3.139466] 警告:CPU:0 PID:1位于 drivers/bus/omap_l3_oc.c:147 L3_interrupt_handler+0x250/0x354
[3.148985] 44000000.OCP:L3标准错误:主 MPU 目标 PRUSS1 (读取):AT 地址:0x00032404:在功能访问期间以监控模式访问数据
[3.163664] 模块链接于:
[3.166853] CPU:0 PID:1 Comm:swapper/0被污染:G W 4.9.10-men Yocto-M1-01494-g8162dda #1
[3.176823] 硬件名称:通用 DRA72X (平展器件树)
[3.183186] [ ](展开回扫)从[ ](show_stack+0x10/0x14)
[3.191258][ ](show_stack)从[ ](dump_stack+0x88/0x9C)
[3.198790][ ](dump_stack)从[ ](_WARN+0xe8/0x100)
[3.206043][ ](__warn)从[ ](WARN_RASPH_FMt+0x38/0x48)
[3.213842][ ](warn_slowpath_fmt)、来自[ ](L3_INTERRUPT_Handler+0x250/0x354)
[3.223089] [ ](L3_interrupt_handler)、来自[ ](__Handle_IRQ_EVENT_perpu + 0x9C/0x124)
[3.232972] [ ](_handle_irq_event_perpu)、来自[ ](handle_irq_event_perpu + 0x1c/0x58)
[3.243031][ ](handle_irq_event_perpu)、来自[ ](handle_IRQ_EVENT+0x44/0x68)
[3.252275][ ](handle_irq_event)从[ ](handle_fasteoi_IRQ+0xb4/0x1a8)
[3.26116][ ](handle_fasteoi_IRQ)、来自[ ](generic_handle_IRQ+0x24/0x34)
[3.270138][ ](generic_handle_IRQ)、来自[ ](_handle_domain_IRQ+0x5c/b4)
[3.279212][ ](_handle_domain_IRQ)、来自[ ](GIC_Handle_IRQ+0x48/0x8c)
[3.279212][ ](_handle_domain_IRQ)、来自[ ](GIC_Handle_IRQ+0x48/0x8c)
[3.287917][ ](GIC_Handle_IRQ)、来自[ ](_IRQ_Svc+0x6c/0x90)
[3.295716] 异常堆栈(0xdf075bd8至0xdf075c20)
[3.300977] 5bc0: fffffffff5 00000001
[3.309497] 5be0:00000000 00000007 df76ba74 df240010 00000000 c0d02d00 00000000 df074000
[3.318014] 5c00:00000000 00000000 df075c28 c04716e8 c04719cc 60000013 ffffff
[3.326542] [ ](_IRQ_Svc)从[ ](rpm_resume+0x158/0x5d8)
[3.334158] [ ](rpm_resume)、从[ ](__pm_runtime_resume+0x4c/0x64)
[3.342502] [ ](__pm_runtime_resume)从[ ](DaVinci_MDIO_RESET+0x14/0x108)
[3.351666][ ](DaVinci_MDIO_RESET)从[ ](_mdiobus_register+bx8/0x198)
[3.360732] [ ](_mdiobus_register)从[ ](of_mdiobus_register +0x34/0x1b4)
[3.369891] [ ](of_mdiobus_register)、来自[ ](DaVinci_MDIO_PROBLE+0x4a0/0x4e0)
[3.379146][ ](DaVinci_MDIO_probe)、来自[ ](platform_drv_probe +0x50/b0)
[3.388122] [ ](platform_drv_probe)、来自[ ](DRIVER_PROBLE_DEVICE_0x204/0x2b0)
[3.397368] [ ](driver_probe_device)从[ ](BUS_TO_EASE_DRV+0x60/0x94)
[3.406251][ ](bus_for_each _drv)从[ ](_device_attach+b0/0x114)
[3.414868][ ](_device_attach)从[ ](BUS_PROBLE_DEVICE_0x84/0x8c)
[3.42391] [ ](bus_probe_device)、来自[ ](DEVICE_ADD+0x3dc/0x568)
[3.431643][ ](device_add)从[ ](of _platform_device_create_pdata+0x84/bb)
[3.441076][ ](of _platform_device_create_pdata)从[ ](of _平台_总线_创建+0xe8/0x1e4)
[3.451682][ ](of 平台总线创建)、来自[ ](of _平台_填充+0x6c/0xcc)
[3.461201] [ ](for_platform_populate)从[ ](pruss_probe +0x230/0x2f4)
[3.469901] [ ](pruss_probe)从[ ](platform_drv_probe +0x50/b0)
[3.478238] [ ](platform_drv_probe)、来自[ ](DRIVER_PROBLE_DEVICE_0x204/0x2b0)
[3.487485][ ](driver_probe_device)从[ ](__driver_attach+b8 /bb)
[3.496276][ ](__driver_attach)从[ ](BUS_TO_EASE_DEV_0x68/0x9C)
[3.504798] [ ](bus_for_each_dev)、来自[ ](BUS_ADD_DRIVER+0x108/0x214)
[3.513413][ ](BUS_ADD_DRIVER)从[ ](DRIVER_REGISTER+0x78/0xf4)
[3.521757] [ ](driver_register)、从[ ](do_one _initcall+0x44/0x16c)
[3.530280] [ ](多个_initcall)、来自[ ](kernel_init_freeede+0x158/0x1e8)
[3.539343] [ ](kernel_init_freable)从[ ](kernel_init+0x8/0x110)
[3.547868][ ](kernel_init)、来自[ ](RET_FANK_F叉+0x14/0x3c)
[3.555760] --[结束线迹4c8f32c91d7d69e1 ]--
当然、我们有不同的器件树、我很确定我仍然会错过一些东西。 这些是我认为相关的器件树部分。
mailbox3:邮箱@4883c000{
兼容="ti、OMAP4-mailbox";
REG =<0x4883c000 0x200>;
中断= 、
、
、
;
ti、hwmods ="mailbox3";
mbox-cells =<1>;
ti、mbox-num-users =<4>;
TI、mbox-num-FIFOs =<12>;
状态="正常";
mbox_pru1_0:mbox_pru1_0{
TI、mbox-TX =<0 0 0>;
TI、mbox-Rx =<1 0 0>;
状态="正常";
};
mbox_pru1_1:mbox_pru1_1{
TI、mbox-TX =<2 0 0>;
TI、mbox-Rx =<3 0 0>;
状态="正常";
};
};
mailbox4:邮箱@4883e000{
兼容="ti、OMAP4-mailbox";
REG =<0x4883e000 0x200>;
中断= 、
、
、
;
ti、hwmods ="mailbox4";
mbox-cells =<1>;
ti、mbox-num-users =<4>;
TI、mbox-num-FIFOs =<12>;
状态="正常";
mbox_pru2_0:mbox_pru2_0{
TI、mbox-TX =<0 0 0>;
TI、mbox-Rx =<1 0 0>;
状态="正常";
};
mbox_pru2_1:mbox_pru2_1{
TI、mbox-TX =<2 0 0>;
TI、mbox-Rx =<3 0 0>;
状态="正常";
};
};
(笑声)
pruss1:pruss1@4b200000{
兼容="ti、am5728-pruss";
ti、hwmods ="pruss1";
REG =<0x4b200000 0x2000>、
0x4b202000 0x2000>、
0x4b210000 0x8000>、
0x4b226000 0x2000>、
0x4b22e000 0x31c>、
0x4b232000 0x58>;
reg-names ="dram0"、"dram1"、"shrdram2"、"cfg"、
"IEP"、"MII_RT";
#address-cells =<1>;
大小单元格=<1>;
范围;
状态="正常";
pruss1_INTC:INTC@4b220000{
兼容="ti、am5728-pruss-intc";
状态="正常";
reg =<0x4b220000 0x2000>;
reg-names ="intc";
中断= 、
、
、
、
、
、
、
;
中断名称="host2"、"host3"、"host4"、
"Host5"、"host6"、"host7"、
"host8"、"host9";
中断控制器;
#interrupt-cells =<1>;
};
pru1_0:pru0@4b234000{
兼容="ti、am5728-PRU";
REG =<0x4b234000 0x3000>、
0x4b222000 0x400>、
0x4b222400 0x100>;
reg-names ="IRAM"、"control"、"debug";
状态="正常";
};
pru1_1:pru1@4b238000{
兼容="ti、am5728-PRU";
REG =<0x4b238000 0x3000>、
0x4b224000 0x400>、
0x4b224400 0x100>;
reg-names ="IRAM"、"control"、"debug";
状态="正常";
};
pruss1_MDIO:MDIO@4b232400{
兼容="ti、davinci_mdio";
#address-cells =<1>;
#size-cells =<0>;
时钟=<&DPLL_GMAC_h13x2_ck>;
时钟名称="Fck";
bus_freq =<1000000>;
REG =<0x4b232400 0x90>;
状态="正常";
pruss1_eth0_phy:ethernet-phy@0{
reg =<0>;
interrupt-parent =<&GPIO3>;
中断=<28 IRQ_TYPE_EDGE_FALLING>;
};
pruss1_eth1_phy:ethernet-phy@1{
reg =<1>;
interrupt-parent =<&GPIO3>;
中断=<29 IRQ_TYPE_EDGE_FALLING>;
};
};
};
(笑声)
pruss1_eth:pruss1_eth{
状态="正常";
compatible ="ti,am57-prueth";
普劳斯=<普鲁斯 s1>;
SRAM =<&ocmcram1>;
interrupt-parent =<&pruss1_intc>;
pruss1_emac0:以太网-mii0{
PHY-Handle =<&pruss1_eth0_phy>;
PHY 模式="MII";
中断=<20>、<22>;
中断名称="Rx"、"TX";
/*由引导加载程序填充*/
local-mac-address =[00 00 00 00 00 00];
};
pruss1_emac1:ethernet-mii1{
PHY-Handle =<&pruss1_eth1_phy>;
PHY 模式="MII";
中断=<21>、<23>;
中断名称="Rx"、"TX";
/*由引导加载程序填充*/
local-mac-address =[00 00 00 00 00 00];
};
};
我可能遗漏的任何提示或提示?