ADIN1300 data sheet states that setting the GE_MAN_MDI_FLIP_CFG bit of the GE_PHY_BASE_CFG register will flip the analog pairs used on both Gigabit and 10/100 connections. However setting this bit doesn't appear to have any affect on the bound pairs, and a 10/100 link will still establish on pairs 0/1 and not on pairs 2/3. What are the requirements for this setting to take affect?
In my test setup, i have the two PHY pairs connected to separate RJ45 connectors, ultimately connected to two switch ports. I would expect that after setting the GE_MAN_MDI_FLIP_CFG bit, that the connector on pairs 2/3 would establish a link, and the connector on pairs 0/1 would not.
In my test, I execute the following sequence:
1. I discover the PHY on the MDIO bus.
2. I set the GE_MAN_MDI_FLIP_CFG bit in GE_PHY_BASE_CFG (I have tried performing this step before and after the SFT_RST step with no change in behavior)
3. I reset the phy via the SFT_RST bit in MII_CONTROL
4. I enable autonegotiation by writing 0x1e1 to the AUTONEG_ADV and setting the AUTONEG_EN and RESTART_ANEG bits of MII_CONTROL.
5. I observe that whether or not I perform step 2, the connection always established on the connector on pairs 0/1.