diff mbox

[RFC,v3,12/12] fsl/fman: Add FMan MAC driver

Message ID 1437486300.10831.42.camel@transmode.se (mailing list archive)
State RFC
Delegated to: Scott Wood
Headers show

Commit Message

Joakim Tjernlund July 21, 2015, 1:44 p.m. UTC
On Mon, 2015-07-20 at 13:33 +0000, Madalin-Cristian Bucur wrote:
> > -----Original Message-----
> > From: Joakim Tjernlund [mailto:joakim.tjernlund@transmode.se]
> > Sent: Monday, July 20, 2015 3:57 PM
> > To: netdev@vger.kernel.org; Liberman Igal-B31950; Bucur Madalin-Cristian-
> > B32716
> > Cc: linuxppc-dev@lists.ozlabs.org; linux-kernel@vger.kernel.org
> > Subject: Re: [RFC,v3,12/12] fsl/fman: Add FMan MAC driver
> > 
> > On Mon, 2015-07-20 at 12:28 +0000, Madalin-Cristian Bucur wrote:
> > > Hi Joakim,
> > > 
> > > It seems we just need to align to the API introduced by Thomas Petazzoni
> > > in 3be2a49e.
> > > 
> > > Madalin
> > 
> > So it seems, any idea when the next spin will be ready?
> > Could you also push it onto
> >   http://git.freescale.com/git/cgit.cgi/ppc/upstream/linux.git/
> > ?
> > 
> >  Jocke
> 
> We're working on addressing all the feedback received to date (you've just added
> a bit more) then we'll re-submit the FMan driver together with the DPAA Ethernet
> driver. A push in the public git is also going to take place after the patches are sent
> for review.

Hi again

Now I got to actually use PHY less(aka. Fixed PHY) too. I had to hack AN off for all such links
to get a 1000 SGMII link working:


Could you please fix this too?

 Jocke
diff mbox

Patch

--- a/drivers/net/ethernet/freescale/fman/mac/memac.c
+++ b/drivers/net/ethernet/freescale/fman/mac/memac.c
@@ -80,7 +80,10 @@  static void setup_sgmii_internal_phy(struct memac_t *p_memac, uint8_t phy_addr)
                           ENET_SPEED_1000);
 
        /* SGMII mode + AN enable */
-       tmp_reg16 = PHY_SGMII_IF_MODE_AN | PHY_SGMII_IF_MODE_SGMII;
+       //tmp_reg16 = PHY_SGMII_IF_MODE_AN | PHY_SGMII_IF_MODE_SGMII;
+       tmp_reg16 = PHY_SGMII_IF_MODE_AN | PHY_SGMII_IF_MODE_SGMII | 0x8;
+       if (p_memac->mac_id != 0)
+               tmp_reg16 &= ~PHY_SGMII_IF_MODE_AN;
        memac_mii_write_phy_reg(p_memac, phy_addr, 0x14, tmp_reg16);
 
        /* Device ability according to SGMII specification */
@@ -104,6 +107,8 @@  static void setup_sgmii_internal_phy(struct memac_t *p_memac, uint8_t phy_addr)
 
        /* Restart AN */
        tmp_reg16 = PHY_SGMII_CR_DEF_VAL | PHY_SGMII_CR_RESET_AN;
+       if (p_memac->mac_id != 0)
+               tmp_reg16 &= ~0x1000;
        memac_mii_write_phy_reg(p_memac, phy_addr, 0x0, tmp_reg16);
 
        /* Restore original enet mode */