[i.MX6ULL] LAN8720A on u-boot and kernel

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

[i.MX6ULL] LAN8720A on u-boot and kernel

781 Views
peagabr
Contributor I

Hello there!

I'm working on a custom board (based on "14x14 EVK"), using LAN8720A for FEC0 (FEC1 disabled). In u-boot (2016.03 version), both dhcp and ping commands are working fine. But in Linux (4.1.15 version), besides PHY correctly identification, I can only see "TX bytes" on ifconfig, none for "RX bytes".

Curiously, when FEC0 isn't initialized in u-boot (for example, keeping LAN's hardware reset asserted), eth0 works fine on Linux, instantly getting a new IP from dhcp server!

So I'm kinda lost. Does anyone having this problem too?

Thanks a lot!

Labels (2)
0 Kudos
Reply
3 Replies

737 Views
peagabr
Contributor I

Thanks for the reference, jimmychan!

My porting process was correct, but I found that LAN - for some reason - must be software reseted on u-boot. I've added it on update_link function but it's only called when an eth routine need it (for example, dhcp command). So I've added to phy_config function too, and now it's working in Kernel. But curiously this workaround is needed only when u-boot and Kernel are compiled with Buildroot. If each one is compiled separately, I don't have this issue...

Thanks!

0 Kudos
Reply

760 Views
jimmychan
NXP TechSupport
NXP TechSupport

For your reference, this is a porting example for the PHY to u-boot and kernel. The modification steps are similar.

 

https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/Porting-KSZ9031-to-i-MX-BSP/ta-p/1112601

 

0 Kudos
Reply

685 Views
2548903578
Contributor III

Hi,

How to write phy_register_fixup_for_uid of lan8720A, I did not find the relevant code

0 Kudos
Reply