Hello,
I have setup ethernet communication with realtek phy RTL9010AA within u-boot. The phy is confgured and ping is working.
In linux the realtek driver does not support RTL9010AA. So I removed the phy from device tree and from linux defconfig. But when linux kernel is booting, pfeng driver again tries to initialize a phy which ends up in Error messages:
...pfe0: could not attach to PHY: -19
...pfe0: Error connecting to the phy: -19
How can i prevent pfeng from configuring the phy?
Solved! Go to Solution.
If there is no driver for your PHY model, you can try two things:
1. Use a generic PHY driver. This is the preferred solution. It should work
with a PHY that doesn't require a vendor-specific initialization. Make sure
you have CONFIG_PHYLIB kernel option enabled and declare your PHY in the
Device Tree as compatible="ethernet-phy-ieee802.3-c22" or
"ethernet-phy-ieee802.3-c45". This should be enough for the generic PHY
driver defined in phy_device.c to take the ownership. If your PHY implements
the standard management registers set, following this way will allow
Linux to at least read the link status. Details can be found here.
2. Declare a "fixed-link". This will statically set the link as established
at the specified data rate. The actual link status will not be available
to Linux. Details can be found at this link.
Hope this helps,
Platon
If there is no driver for your PHY model, you can try two things:
1. Use a generic PHY driver. This is the preferred solution. It should work
with a PHY that doesn't require a vendor-specific initialization. Make sure
you have CONFIG_PHYLIB kernel option enabled and declare your PHY in the
Device Tree as compatible="ethernet-phy-ieee802.3-c22" or
"ethernet-phy-ieee802.3-c45". This should be enough for the generic PHY
driver defined in phy_device.c to take the ownership. If your PHY implements
the standard management registers set, following this way will allow
Linux to at least read the link status. Details can be found here.
2. Declare a "fixed-link". This will statically set the link as established
at the specified data rate. The actual link status will not be available
to Linux. Details can be found at this link.
Hope this helps,
Platon