AM4377 pru网络报错

Other Parts Discussed in Thread: TLK105L, AM4377, AM4372

各位好:
       本公司设计的板卡有两路网口,一路是千兆的以太网,使用网卡芯片KSZ9031接到ARM43777的rgmii1接口上,mdio_clk和mdio_data分别连接B17和A17使用CPSW驱动,该网口能正常工作。
另一路是PRU的网络使用网卡芯片TLK105L接到ARM am4377的pru1_mii1接口上,dio_clk和mdio_data分别连接A12和B12使用prueth驱动,在系统启动后无法识别到该网卡,串口终端报了如下红色部分错误:
[   10.809449]  remoteproc1: Note: remoteproc is still under development and considered experimental.
[   10.809452]  remoteproc1: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
[   10.861224]  remoteproc1: registered virtio0 (type 7)
[   10.861314] pru-rproc 54434000.pru0: PRU rproc node [url=]/ocp/pruss@54400000/pru0@54434000[/url] probed successfully
[   10.876510]  remoteproc2: 54438000.pru1 is available
[   10.876515]  remoteproc2: Note: remoteproc is still under development and considered experimental.
[   10.876518]  remoteproc2: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
[   10.914194]  remoteproc2: registered virtio1 (type 7)
[   10.914264] pru-rproc 54438000.pru1: PRU rproc node  ocp/pruss@54400000/pru1@54438000[/url] probed successfully
[   11.038885] prueth pruss1_eth: couldn't connect to phy  ocp/pruss@54400000/mdio@54432400/ethernet-phy@0
[   11.038903] prueth pruss1_eth: netdev init ethernet-mii0 failed: -19
[   11.038910] prueth pruss1_eth: no ethernet-mii1 node

[   11.091686]  remoteproc1: powering up 54434000.pru0
[   11.092129]  remoteproc1: Booting fw image am437x-pru1_0-fw, size 86264
[   11.092219] ti-pruss 54400000.pruss: configured system_events = 0x1000000000000000 intr_channels = 0x00000001 host_intr = 0x00000001
[   11.092225]  remoteproc1: remote processor 54434000.pru0 is now up
[   11.092606] virtio_rpmsg_bus virtio0: creating channel rpmsg-pru addr 0x1e
[   11.099879] virtio_rpmsg_bus virtio0: rpmsg host is online
[   11.100377]  remoteproc2: powering up 54438000.pru1
[   11.100831]  remoteproc2: Booting fw image am437x-pru1_1-fw, size 86264
[   11.100923] ti-pruss 54400000.pruss: configured system_events = 0x0800000000000000 intr_channels = 0x00000002 host_intr = 0x00000002
[   11.100928]  remoteproc2: remote processor 54438000.pru1 is now up
[   11.101287] virtio_rpmsg_bus virtio1: creating channel rpmsg-pru addr 0x1f
[   11.107582] virtio_rpmsg_bus virtio1: rpmsg host is online
设备树中参照了TI的AM437X-IDK开发板增加了pru网络的配置,linux内核使用的是4.4.12的RT Linux内核,lsmod看出pru网络相关驱动也已经加载。完整的终端打印的启动log信息及设备树配置文件见附件,请帮助分析下可能是什么问题,非常感谢!

如下ifconfig只有一块网卡
root@am437x-evm:~# ifconfig
eth0      Link encap:Ethernet  HWaddr A0:F6:FD:1B:77:68  
           inet addr: 192.168.200.121 Bcast:0.0.0.0  Mask:255.255.255.0
           inet6 addr:fe80::a2f6:fdff:fe1b:7768/64 Scope:Link
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:777 errors:0 dropped:54 overruns:0 frame:0
           TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000
           RX bytes:48430 (47.2 KiB)  TX bytes:1552 (1.5 kiB)
           Interrupt:239

lo        Link encap:Local Loopback  
           inet addr:127.0.0.1  Mask:255.0.0.0
           inet6 addr: ::1/128 Scope:Host
           UP LOOPBACK RUNNING  MTU:65536  Metric:1
           RX packets:10 errors:0 dropped:0 overruns:0 frame:0
           TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:0
           RX bytes:700 (700.0 B)  TX bytes:700 (700.0 B)

am437x-gp-evm.dts设备树中pru网络配置:
/* Dual-MAC Ethernet application node on PRU-ICSS1 */
pruss1_eth {
   compatible = "ti,am4372-prueth";
   pruss = <&pruss1>;
   sram = <&ocmcram_nocache>;
   interrupt-parent = <&pruss1_intc>;
   pinctrl-0 = <&pruss1_eth_default>;
   pinctrl-names = "default";
   pruss1_emac0: ethernet-mii0 {
    phy-handle = <&pruss1_eth0_phy>;
    phy-mode = "mii";
    interrupts = <20>, <22>;
    interrupt-names = "rx", "tx";
    /* Filled in by bootloader */
    local-mac-address = [00 00 00 00 00 00];
   };
};

pruss1_eth_default: pruss1_eth_default {
   pinctrl-single,pins = <
   0x58 ( PIN_INPUT | MUX_MODE5 ) /* (E8) gpmc_a6.pr1_mii_mt1_clk */
   0x54 ( PIN_OUTPUT | MUX_MODE5 ) /* (E7) gpmc_a5.pr1_mii1_txd0 */
   0x50 ( PIN_OUTPUT | MUX_MODE5 ) /* (D7) gpmc_a4.pr1_mii1_txd1 */
   0x4c ( PIN_OUTPUT | MUX_MODE5 ) /* (A4) gpmc_a3.pr1_mii1_txd2 */
   0x48 ( PIN_OUTPUT | MUX_MODE5 ) /* (C6) gpmc_a2.pr1_mii1_txd3 */
   0x6c ( PIN_INPUT | MUX_MODE5 ) /* (D8) gpmc_a11.pr1_mii1_rxd0 */
   0x68 ( PIN_INPUT | MUX_MODE5 ) /* (G8) gpmc_a10.pr1_mii1_rxd1 */
   0x64 ( PIN_INPUT | MUX_MODE5 ) /* (B4) gpmc_a9.pr1_mii1_rxd2 */
   0x60 ( PIN_INPUT | MUX_MODE5 ) /* (F7) gpmc_a8.pr1_mii1_rxd3 */
   0x40 ( PIN_OUTPUT | MUX_MODE5 ) /* (C3) gpmc_a0.pr1_mii1_txen */
   0x5c ( PIN_INPUT | MUX_MODE5 ) /* (F6) gpmc_a7.pr1_mii_mr1_clk */
   0x44 ( PIN_INPUT | MUX_MODE5 ) /* (C5) gpmc_a1.pr1_mii1_rxdv */
   0x74 ( PIN_INPUT | MUX_MODE5 ) /* (B3) gpmc_wpn.pr1_mii1_rxer */
   0x24c (PIN_INPUT | MUX_MODE5 ) /* (E24) gpio5_13.pr1_mii1_rxlink */
   0x244 (PIN_INPUT | MUX_MODE5 ) /* (F23) gpio5_11.pr1_mii1_crs */
   >;
};
pruss1_mdio_default: pruss1_mdio_default {
   pinctrl-single,pins = <
   0x8c ( PIN_OUTPUT | MUX_MODE5 ) /* (A12) gpmc_clk.pr1_mdio_mdclk */
    0x88 ( PIN_INPUT | MUX_MODE5 ) /* (B12) gpmc_csn3.pr1_mdio_data */
   0x248( PIN_INPUT_PULLUP | MUX_MODE7)     /* gpio5_12 */
   >;
};

& pruss1_mdio {
pinctrl-0 = <&pruss1_mdio_default>;
pinctrl-names = "default";
status = "okay";
reset-gpios = <&gpio5 12 GPIO_ACTIVE_LOW>;
reset-delay-us = <2>; /* PHY datasheet states 1uS min */
pruss1_eth0_phy: ethernet-phy@0 {
   reg = <0>;
};
};

am4372.dtsi设备树中pru网络配置:
pruss1: pruss@54400000 {
   compatible = "ti,am4372-pruss";
   ti,hwmods = "pruss";
   reg = <0x54400000 0x2000>,
         <0x54402000 0x2000>,
         <0x54410000 0x8000>,
         <0x54420000 0x2000>,
         <0x54426000 0x2000>,
         <0x5442e000 0x31c>,
         <0x54432000 0x58>;
   reg-names = "dram0", "dram1", "shrdram2", "intc", "cfg",
        "iep", "mii_rt";
   #address-cells = <1>;
   #size-cells = <1>;
   ranges;
   pruss1_intc: intc@54420000 {
    compatible = "ti,am4372-pruss-intc";
    interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH
           GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH
           GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH
           GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH
           GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH
           GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH
           GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
    interrupt-names = "host2", "host3", "host4",
        "host5", "host6", "host8",
        "host9";
    interrupt-controller;
    #interrupt-cells = <1>;
   };
   pru1_0: pru0@54434000 {
    compatible = "ti,am4372-pru";
    reg = <0x54434000 0x3000>,
          <0x54422000 0x400>,
          <0x54422400 0x100>;
    reg-names = "iram", "control", "debug";
    mboxes = <&mailbox &mbox_pru1_0>;
   };
   pru1_1: pru1@54438000 {
    compatible = "ti,am4372-pru";
    reg = <0x54438000 0x3000>,
          <0x54424000 0x400>,
          <0x54424400 0x100>;
    reg-names = "iram", "control", "debug";
    mboxes = <&mailbox &mbox_pru1_1>;
   };
   pruss1_mdio: mdio@54432400 {
    compatible = "ti,davinci_mdio";
    reg = <0x54432400 0x90>;
    clocks = <&dpll_core_m4_ck>;
    clock-names = "fck";
    bus_freq = <1000000>;
    #address-cells = <1>;
    #size-cells = <0>;
    status = "disabled";
   };
  };


root@am437x-evm:~# lsmod
Module                  Size  Used by
atemsys                12408  0
pvrsrvkm              406858  0
dwc3                   62533  0
udc_core               12079  1 dwc3
pm33xx                  3658  0
ti_am335x_adc           5643  0
ti_am335x_tsc           5965  0
snd_soc_simple_card     7736  0
prueth                 14377  0
ti_emif_sram            6064  1 pm33xx
wkup_m3_ipc             7616  1 pm33xx
snd_soc_tlv320aic3x    48260  1
pru_rproc               9865  1 prueth
omap_rng                4353  0
am437x_vpfe            23581  0
edt_ft5x06             10689  0
omap_aes_driver        18260  0
rng_core                7698  1 omap_rng
ov2659                  9618  0
pruss                  11281  2 pru_rproc,prueth
dwc3_omap               4553  0
omap_des               11214  0
extcon                 13929  2 dwc3,dwc3_omap
wkup_m3_rproc           3669  1
remoteproc             26956  5 pruss,wkup_m3_rproc,pru_rproc,prueth,wkup_m3_ipc
virtio                  6677  1 remoteproc
virtio_ring            12035  1 remoteproc
omap_sham              20318  0
c_can_platform          6638  0
c_can                   9450  1 c_can_platform
can_dev                12254  1 c_can
cryptodev              38437  0
ti_am335x_tscadc        6106  2 ti_am335x_adc,ti_am335x_tsc
omap_wdt                4655  0


am437x-gp-evm.zip