Using PFE (pfeng driver) without configuring a phy

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Using PFE (pfeng driver) without configuring a phy

ソリューションへジャンプ
3,471件の閲覧回数
walt83
Contributor I

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?

0 件の賞賛
返信
1 解決策
3,463件の閲覧回数
bpe
NXP Employee
NXP Employee

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

 

元の投稿で解決策を見る

0 件の賞賛
返信
1 返信
3,464件の閲覧回数
bpe
NXP Employee
NXP Employee

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

 

0 件の賞賛
返信