Can't connect with 100Mbit

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

There seem to be a mistake for PHYCR0 in datasheet as it says

Auto Negotiation
If AUTO is set to ‘1’, SPD and DPX are ignored.
1 : Disable Auto Negotiation
0 : Enable Auto Negotiation

and it is not clear if bit should be 0 or 1. I propose you to play with this bit, and not set PHYCR0’s bit 1 to 1.

Thank you Eugeny, that was the trick! PHYCR0 bit 1 should not be set. Now it’s running at 100Mbit