[PATCH 2/2] ARM: Layerscape: Add LS1021A IOT board support

Renaud Barbier Renaud.Barbier at ametek.com
Thu Feb 16 03:54:14 PST 2023



> > +
> > +/* Currently 1000FD is not working. Below is a bit of guess work
> > + * from reading MMD3/MMD7 of the AR8033  */ static int
> > +phy_fixup(struct phy_device *phydev) {
> > +     unsigned short val;
> > +     int advertise = SUPPORTED_1000baseT_Full |
> > +SUPPORTED_1000baseT_Half;
> > +
> > +     phydev->advertising &= ~advertise;
> > +
> > +     /* Ar8031 phy SmartEEE feature cause link status generates glitch,
> > +      * which cause ethernet link down/up issue, so disable SmartEEE
> > +      */
> > +     phy_write(phydev, 0xd, 0x3);
> > +     phy_write(phydev, 0xe, 0x805d);
> > +     phy_write(phydev, 0xd, 0x4003);
> > +     val = phy_read(phydev, 0xe);
> > +     val &= ~(0x1 << 8);
> > +     phy_write(phydev, 0xe, val);
> > +
> > +     /* Use XTAL */
> > +     phy_write(phydev, 0xd, 0x7);
> > +     phy_write(phydev, 0xe, 0x8016);
> > +     phy_write(phydev, 0xd, 0x4007);
> > +     val = phy_read(phydev, 0xe);
> > +     val &= 0xffe3;
> > +     phy_write(phydev, 0xe, val);
> > +
> > +     return 0;
> > +}
> 
> We have a phy driver for the AR8033. Can you use it instead of putting this
> into board code?

Hello I have enabled the at803x driver to support the AR8031. However, only the generic PHY driver config_init get called.
phy_driver_register: 00000000
register generic for: Generic PHY, 0xffffffff
phy_driver_register: bbe15d54
register specific for: Atheros 8035 ethernet, 0x4dd072
phy_driver_register: bbe15d54
register specific for: Atheros 8030 ethernet, 0x4dd076
phy_driver_register: bbe15d54
register specific for: Atheros 8031 ethernet, 0x4dd074

call phy_init_hw
call config_init for: Generic PHY, 0xffffffff

I do not understand how to connect the AR802x phy driver to the device. Do I need to add something to the device tree?

barebox at LS1021A-IOT Board:/ md -w -s /dev/mdio0-phy03
00000000: 1000 796d 004d d074






More information about the barebox mailing list