On 30.10.2014 10:52, Ivan Khoronzhuk wrote:
+static int m88e1518_config(struct phy_device *phydev)
+{
+    /*
+     * As per Marvell Release Notes - Alaska
88E1510/88E1518/88E1512/88E1514
+     * Rev A0, Errata Section 3.1
+     */
+    phy_write(phydev, MDIO_DEVAD_NONE, 22, 0x00ff);    /* reg page
0xff */
+    phy_write(phydev, MDIO_DEVAD_NONE, 17, 0x214B);
+    phy_write(phydev, MDIO_DEVAD_NONE, 16, 0x2144);
+    phy_write(phydev, MDIO_DEVAD_NONE, 17, 0x0C28);
+    phy_write(phydev, MDIO_DEVAD_NONE, 16, 0x2146);
+    phy_write(phydev, MDIO_DEVAD_NONE, 17, 0xB233);
+    phy_write(phydev, MDIO_DEVAD_NONE, 16, 0x214D);
+    phy_write(phydev, MDIO_DEVAD_NONE, 17, 0xCC0C);
+    phy_write(phydev, MDIO_DEVAD_NONE, 16, 0x2159);
+    phy_write(phydev, MDIO_DEVAD_NONE, 22, 0x0000);    /* reg page 0 */
+    phy_write(phydev, MDIO_DEVAD_NONE, 22, 18);    /* reg page 18 */
+    /* Write HWCFG_MODE = SGMII to Copper */
+    m88e1518_phy_writebits(phydev, 20, 0, 3, 1);

Won't this set the mode to SGMII for all users of this code? I know of
at least one board that uses this driver and uses RGMII. So you
shouldn't set this mode here to SGMII unconditionally.

Thanks,
Stefan


Yes.
I will put whole errata w/o under:
if (phydev->interface == PHY_INTERFACE_MODE_SGMII) {

}

as I can face it only for SGMII

Yes. If this errata is really only for SGMII, then putting this code under this if() statement makes sense.

Thanks,
Stefan

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to