Our ethernet board is working properly, but only with a speed of 10Mbit. I run the following initialisation code:
wiz_PhyConf cnf;
// Ethernet controller
CHIPUNLOCK();
mr2 = (uint8_t)getMR2() | 0x80; //MR2_CLKSEL;
setMR2(mr2);
CHIPLOCK();
PHYUNLOCK();
setPHYCR0(0x02);
setPHYCR1(0x01);
PHYLOCK();
cnf.mode = PHY_MODE_MANUAL;
cnf.speed = PHY_SPEED_100;
cnf.duplex = PHY_DUPLEX_FULL;
ctlwizchip(CW_SET_PHYCONF, (wiz_PhyConf*)&cnf);
But when I read PHYSR, it returns 0x13, indicating 10Mbit has been selected. This is also confirmed at the LEDs of the router. What am I missing not to have the controller running at 100 Mbit? Or could it also be a faulty hardware design?
Thanks in advance