On 09/29/2017 07:48 AM, Lukasz Majewski wrote: > This commit allows extended Marvell registers to be read with: > > foo > mdio rx FEC 3.10 > Reading from bus FEC > PHY at address 0: > 3.16 - 0x1063 > foo > mdio wx FEC 3.10 0x1011 > > The above code changes the way ETH connector LEDs blink. > > Signed-off-by: Lukasz Majewski <[email protected]> > --- > drivers/net/phy/marvell.c | 27 +++++++++++++++++++++++++++ > 1 file changed, 27 insertions(+) > > diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c > index b7f300e..a167c34 100644 > --- a/drivers/net/phy/marvell.c > +++ b/drivers/net/phy/marvell.c > @@ -104,6 +104,31 @@ > #define MIIM_88E151x_MODE_SGMII 1 > #define MIIM_88E151x_RESET_OFFS 15 > > +static int m88e1xxx_phy_extread(struct phy_device *phydev, int addr, > + int devaddr, int regnum) > +{ > + int oldpage = phy_read(phydev, MDIO_DEVAD_NONE, MII_MARVELL_PHY_PAGE); > + int val; > + > + phy_write(phydev, MDIO_DEVAD_NONE, MII_MARVELL_PHY_PAGE, devaddr); > + val = phy_read(phydev, MDIO_DEVAD_NONE, regnum); > + phy_write(phydev, MDIO_DEVAD_NONE, MII_MARVELL_PHY_PAGE, oldpage); > + > + return val; > +} > + > +static int m88e1xxx_phy_extwrite(struct phy_device *phydev, int addr, > + int devaddr, int regnum, u16 val) > +{ > + int oldpage = phy_read(phydev, MDIO_DEVAD_NONE, MII_MARVELL_PHY_PAGE); > + > + phy_write(phydev, MDIO_DEVAD_NONE, MII_MARVELL_PHY_PAGE, devaddr); > + phy_write(phydev, MDIO_DEVAD_NONE, regnum, val); > + phy_write(phydev, MDIO_DEVAD_NONE, MII_MARVELL_PHY_PAGE, oldpage); > + > + return 0; > +} > + > /* Marvell 88E1011S */ > static int m88e1011s_config(struct phy_device *phydev) > { > @@ -669,6 +694,8 @@ static struct phy_driver M88E1510_driver = { > .config = &m88e1510_config, > .startup = &m88e1011s_startup, > .shutdown = &genphy_shutdown, > + .readext = &m88e1xxx_phy_extread, > + .writeext = &m88e1xxx_phy_extwrite, > }; > > /* >
I guess this feature is usable. You only enable it for M88E1510. Can the same be applied to other Marvell PHYs? York _______________________________________________ U-Boot mailing list [email protected] https://lists.denx.de/listinfo/u-boot

