Hi:
Board : AM5728 custom board
SDK 5.3
Refer to the IDK device tree。
PRU device tree Settings:
pruss2_eth: pruss2_eth {
compatible = "ti,am57-prueth";
prus = <&pru2_0>, <&pru2_1>;
firmware-name = "ti-pruss/am57xx-pru0-prueth-fw.elf",
"ti-pruss/am57xx-pru1-prueth-fw.elf";
sram = <&ocmcram1>;
interrupt-parent = <&pruss2_intc>;
interrupts = <20>, <21>;
interrupt-names = "rx_red_hp", "rx_red_lp";
pruss2_emac0: ethernet-mii0 {
phy-handle = <&pruss2_eth0_phy>;
phy-mode = "mii";
interrupts = <20>, <22>, <23>, <26>;
interrupt-names = "rx", "tx", "hsrprp_ptp_tx",
"emac_ptp_tx";
/* Filled in by bootloader */
local-mac-address = [00 00 00 00 00 00];
};
&pruss_soc_bus2 {
status = "okay";
reset-gpios = <&gpio2 7 GPIO_ACTIVE_LOW>,
<&gpio2 19 GPIO_ACTIVE_LOW>;
reset-delay-us = <2>; /* PHY datasheet states 1uS min */
pruss2: pruss@0 {
status = "okay";
};
};
&pruss2_mdio {
status = "okay";
pruss2_eth0_phy: ethernet-phy@0 {
reg = <0>;
interrupt-parent = <&gpio2>;
interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
};
pruss2_eth1_phy: ethernet-phy@1 {
reg = <1>;
interrupt-parent = <&gpio2>;
interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
};
};
Recompile and load the ti_prueth.ko module.The eth2 and eth3 devices can be produced, But eth3 cannot get the IP。
Eth2 on the plug and unplug network cable is printed with the following information:
[ 311.491809] prueth pruss2_eth eth2: Link is Up - 100Mbps/Full - flow control rx/tx
[ 311.499430] IPv6: ADDRCONF(NETDEV_CHANGE): eth2: link becomes ready
[ 311.517882] NOHZ: local_softirq_pending 08
[ 312.517800] NOHZ: local_softirq_pending 08
[ 312.578006] NOHZ: local_softirq_pending 08
[ 312.878745] NOHZ: local_softirq_pending 08
[ 312.883887] NOHZ: local_softirq_pending 08
[ 312.947958] NOHZ: local_softirq_pending 08
[ 312.972437] NOHZ: local_softirq_pending 08
[ 312.978250] NOHZ: local_softirq_pending 08
[ 313.294243] NOHZ: local_softirq_pending 08
[ 313.873089] NOHZ: local_softirq_pending 08
notice: Eth3 plugs and unplugs the network cable, but no Link up information is printed。 Two phy chips use the same MDIO control signal
Why does eth2 work and eth3 not print the Link up information? Is it related to the firmware?