09-26-2019 10:38 PM
We’re seeing some issues with phy addresses not negotiating to the correct address upon start up. For instance when we power on an boot, our mdio finds the phy at 0x05 (wrong address).
Toggling the phy reset and scanning for devices – we get back the phy @ 0x00, the correct address. Once this process is done it is stable, this issue only occurs during the first boot after a power on reset.
The issue is that by the time this has happened the our ethernet, eth2, has already bound itself to the phy initially @ 0x05. It seems like the workaround for now is to toggle the reset prior to GEM initialization or somehow reset eth2?
Is there a way to add commands to the boot process prior to the initalization of the GEMs?
We are unsing a custom board with a Ultrascale+ and running petalinux 2018.3. Thanks!
09-27-2019 03:52 AM
You can add this to the FSBL. In fact for the ZCU102/4 board there is code in the FSBL to toggle the PHY reset:
09-27-2019 08:55 AM
Could you tell me where this file exists in the petalinux project directory?
09-27-2019 09:10 AM
this is in the fsbl. fsbl is run from git sources. so you can see it in the petalinux project.
if you wanted to add your toogle to the fsbl, you would need to patch the fsbl and add this patch to the fsbl bb append.
note: you need to create this manually
09-27-2019 05:09 PM
Could you point me to a resource that has an example of getting the gpio mask function?