[U-Boot] [U-boot] [Patch] net: phy: marvell: add errata w/a for 88E151* chips
Stefan Roese
sr at denx.de
Thu Oct 30 12:39:02 CET 2014
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
More information about the U-Boot
mailing list