I have a board with W5500 and ATmega. Software has been ported from W5300 implementation, and works really fine so far.
Now I have the second board with W5500 malfunctioning: SPI access works, I can read and write registers (like VER register with 0x04), open sockets etc. - but I dont get any data transfer.
The only “external” sympton to see is that with no networkcable connected the SPD LED lights, with connecting cable all other three LEDs light up (LNK, DUP, ACT) - which is not normal.
With working boards, only LNK and DUP light up, and ACT flashes with activity.
I solved the first broken board by replacing the W5500, but two broken chips in a small batch are unlikely.
25MHZ oscillation is clear and stable.
The W5500 receives a 1ms /RST pulse, followed by 20ms delay to allow PLL to lock. The init routine does soft reset the chip, set all IPs and MAC, as well as memory, and works as expected.
How can I further track down the source of malfunctioning?
It seems a PHY related problem so far. If I read PHCFGR after hardware reset, it is set to 0xBA. After setting bit 7 of PHYCFGR and resetting it to 0, reading the PHY register returns 0x00 without any changes, no matter what LED is switched on. It seems the PHY is without system clock (I assume hardware reset is async inside chip, while all other actions after reset are synchronous).
How can I make sure the PHY is in working condition?
Any help is appreciated.
Best regards, Michael