Tool/software: Linux
I am bringing up Broadcom's BCM5461 Ethernet Phy on my custom AM5708 board.
This is snippet of my current top-level device tree (which includes dra72-evm-common.dtsi):
&mac {
slaves = <1>;
status = "okay";
};
&cpsw_emac0 {
phy-handle = <&PHY0>;
//phy-handle = <&davinci_mdio>, <0>;
phy-mode = "rgmii";
};
&davinci_mdio {
status = "ok";
PHY0: ethernet-phy@0 {
compatible = "brcm,bcm5461", "ethernet-phy-ieee802.3-c22";
//compatible = "ethernet-phy-ieee802.3-c22";
//interrupt-parent =<&gpio2>;
//interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
reg = <0>;
reset-gpios = <&gpio1 26 GPIO_ACTIVE_LOW>;
reset-delay-us = <2>;
reset-assert-us = <1000>;
reset-deassert-us = <2000>;
};
};
And this is the boot log:
Arago 2017.10 am57xx-evm ttyS2
am57xx-evm login: root
root@am57xx-evm:~# dmesg | grep -i 'mdio\|eth\|net'
[ 0.131672] NET: Registered protocol family 16
[ 1.661284] NET: Registered protocol family 2
[ 1.662275] NET: Registered protocol family 1
[ 4.601795] libphy: Fixed MDIO Bus: probed
[ 4.661657] davinci_mdio 48485000.mdio: davinci mdio revision 1.6
[ 4.667783] libphy: 48485000.mdio: probed
[ 4.684113] davinci_mdio 48485000.mdio: phy[0]: device 48485000.mdio:00, driver unknown
[ 4.692699] cpsw 48484000.ethernet: Detected MACID = 64:cf:d9:8d:6e:cc
[ 4.699319] cpsw 48484000.ethernet: device node lookup for pps timer failed
[ 4.706396] cpsw 48484000.ethernet: cpts: overflow check period 500 (jiffies)
[ 4.943830] NET: Registered protocol family 10
[ 4.962190] NET: Registered protocol family 17
[ 11.102119] net eth0: initializing cpsw version 1.15 (0)
[ 11.102126] cpsw 48484000.ethernet: initialized cpsw ale version 1.4
[ 11.102132] cpsw 48484000.ethernet: ALE Table size 1024
[ 11.177424] Generic PHY 48485000.mdio:00: attached PHY driver [Generic PHY] (mii_bus:phy_addr=48485000.mdio:00, irq=-1)
[ 11.340255] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 11.454892] NET: Registered protocol family 31
[ 15.449273] cpsw 48484000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[ 15.588341] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 16.123265] NET: Registered protocol family 15
[ 16.672846] Initializing XFRM netlink socket
root@am57xx-evm:~# ifconfig
eth0 Link encap:Ethernet HWaddr 64:CF:D9:8D:6E:CC
inet6 addr: fe80::66cf:d9ff:fe8d:6ecc%763860/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:37 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:6849 (6.6 KiB)
Interrupt:85
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1%763860/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:243 errors:0 dropped:0 overruns:0 frame:0
TX packets:243 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:18552 (18.1 KiB) TX bytes:18552 (18.1 KiB)
root@am57xx-evm:~# ifup eth0
udhcpc (v1.24.1) started
Sending discover...
Sending discover...
Sending discover...
Sending discover...
Sending discover...
Sending discover...
Sending discover...
Sending discover...
Sending discover...
In short, the PHY does not seem to work at all. It fails to acquire an IP (whether DHCP or Static).
Pointers would be appreciated!