I managed to read the PCS PHY registers now. I use the MDIO bus of MAC1, address 0. Remember that I'm using SerDes protocol 0x95, i.e. MAC1 is configured for XFI. The register values are:
- 0x3.0x20 = 0x1001 (MDIO_XFI_PCS_10GR_SR1)
- Bit RX_LNK_STAT is 1 (link is up)
- PCS_BLK_LK is 1 (PCS locked to receive blocks)
- 0x3.0x21 = 0b10bb_bbbb_eeee_eeee (MDIO_XFI_PCS_10GR_SR2)
- L_BLK_LK is 1 (PCS has block lock)
- LH_BER is 0 (PCS has not reported a high BER)
- The counters BER (bb_bbbb) and ERR_BLKS (eeee_eeee) are constantly counting.
- 0x7.0x0 = 0x0 (MDIO_XF_AN_CR)
- AN_EN = 0: Auto-negotiation is off.
If I enable MDIO_XF_AN_CR.AN_EN, then MDIO_XF_AN_SR.AN_COMP remains 0, i.e. auto-negotiation does not work.
To be honest, I'm using the wrong cables (single mode fiber instead of multi mode fiber), so the connection is not entirely reliable. I'm waiting for the correct cables to fix that problem. Nevertheless, I have an XFI link.
My DTS file states:
eth3: ethernet@e0000 {
};My U-Boot adds some info, e.g. compatible=fsl,fman-memac, a pcsphy-handle entry, phy-connection-type=xgmii and some more.
Now I tried to bring up the interface:
# ifconfig eth1 192.168.100.1
[ 2531.886291] fsl_mac ffe4e0000.ethernet eth1: init_phy() failed
ifconfig: SIOCSIFFLAGS: No such deviceIt seems that the DPAA driver is missing a MAC. But you said that neither "in-band-status" nor "fixed-link" are appropriate for XFI.
Do you have some advice how to bring-up the MAC in phy-less mode (since DPAA doesn't support SFP+)?