I'm currently using a imx6sx-sdb like board using a copper and a fiber port instead of the two copper ports in the schematic.
The copper eth (eth0) is working fine, while the fiber eth (eth1) is not able to detect the cable.
In fact, plugging the cable in and manually enabling the eth1 connection via "ifconfig" returns in a link not ready error.
"fec 21b4000.ethernet eth1: Freescale FEC PHY driver [Generic PHY] (mii_bus:phy_addr=2188000.ethernet:06, irq=-1)
IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready"
As the example board schematic, the two AR8031 transceivers share the MDIO and MDC bus.
In u-boot, running the "mii info" command returns the current list of devices:
1) PHY 0x01: OUI = 0x1374, Model = 0x07, Rev = 0x04, 100baseT, FDX
2) PHY 0x06: OUI = 0x1374, Model = 0x07, Rev = 0x04, 10baseT, HDX
where 1 is the copper port,2 should be the fiber port and 10baseT half duplex is the default value (the copper port is configured at 10baseT HDX too if the cable has not been plugged in)
Reading the 0x1F MII register of the address 6 shows the value 0x0166: where
bit 8 = 1000Base-X fiber (will be changed to 0 to get 100BaseFX-fiber)
bit [7:4] are the echo of bit[3:0] = FX100_RGMII_50
In u-boot I've enabled all the *ENET2_* pins used to communicate, except for the mdio and mdc which are enabled by the fec0.
I'm using the 3.10.53 release from freescale.
Does anyone have suggestion/have tried to use the fiber port?
Thanks for your help.