> -----Original Message----- > From: Sascha Hauer <sha@xxxxxxxxxxxxxx> > Sent: 16 February 2023 12:55 > To: Renaud Barbier <Renaud.Barbier@xxxxxxxxxx> > Cc: Barebox List <barebox@xxxxxxxxxxxxxxxxxxx> > Subject: Re: [PATCH 2/2] ARM: Layerscape: Add LS1021A IOT board support > > ***NOTICE*** This came from an external source. Use caution when > replying, clicking links, or opening attachments. > > On Thu, Feb 16, 2023 at 11:54:14AM +0000, Renaud Barbier wrote: > > > > > > > > + > > > > +/* 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@LS1021A-IOT Board:/ md -w -s /dev/mdio0-phy03 > > Is this the only phy or are there others? What does "devinfo mdio0-phy03" > say? > miitool -v output might be interesting as well. [Barbier, Renaud] Indeed, barebox@LS1021A-IOT Board:/ miitool -v mdio0-phy00: 2d24000.mdio@xxxxxxxxxx: no link product info: Generic PHY (vendor 00:00:00, model 0 rev 0) basic mode: autonegotiation enabled basic status: no link capabilities: advertising: mdio0-phy01: 2d24000.mdio@xxxxxxxxxx: negotiated 100baseTx-FD, link ok product info: Generic PHY (vendor 00:13:74, model 7 rev 4) basic mode: autonegotiation enabled basic status: autonegotiation complete, link ok capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD link partner: 1000baseT-FD 1000baseT-HD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control mdio0-phy03: 2d24000.mdio@xxxxxxxxxx: negotiated 100baseTx-FD, link ok product info: Generic PHY (vendor 00:13:74, model 7 rev 4) basic mode: autonegotiation enabled basic status: autonegotiation complete, link ok capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD link partner: 1000baseT-FD 1000baseT-HD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control