[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