IMX6UL ENET2 rx error frame

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

IMX6UL ENET2 rx error frame

1,387 Views
kr90911
Contributor III

Hi all,

I'm working on my custom IMX6UL board with  YOCTO sumo L4.14.98_2.3.1.

The fec function driver work fine on EVK,but it's not working on custom board with same image.

Here are some logs about fec on custom board:

root@imx6ulevk:~# fec 20b4000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready


ifconfig
eth0 Link encap:Ethernet HWaddr C4:E7:94:DF:00:00
inet6 addr: fe80::c6e7:94ff:fedf:0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:11 dropped:0 overruns:0 frame:11
TX packets:22 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:4151 (4.0 KiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:80 errors:0 dropped:0 overruns:0 frame:0
TX packets:80 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5760 (5.6 KiB) TX bytes:5760 (5.6 KiB)

root@imx6ulevk:~# udhcpc
udhcpc: started, v1.27.2
udhcpc: sending discover
udhcpc: sending discover
udhcpc: sending discover
^C


root@imx6ulevk:~# dmesg |grep fec
fec 20b4000.ethernet: 20b4000.ethernet supply phy not found, using dummy regulator
libphy: fec_enet_mii_bus: probed
fec 20b4000.ethernet eth0: registered PHC device 0
systemd[1]: Proceeding WITHOUT firewalling in effect! (This warning is only shown for the first loaded unit using IP firewalling.)
fec 20b4000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx

The eth0 rx signal can't get any right packets on custom board.

The ENET2_nINT pin on KSZ8081RNB doesn't connect to Tamper6 pin on CPU, but connect to extension IO chip.

Does my problem caused by wrong connection of ENET2_nINT pin?

If the answer is yes,how to modify fec driver to fix it? 

Labels (3)
Tags (4)
0 Kudos
4 Replies

1,288 Views
igorpadykov
NXP Employee
NXP Employee

Hi west

first one can check if its works in uboot, pay attention to fec2_pads[],

check with oscilloscope clock "REF_CLK2 for ENET2" in function  setup_fec().

mx6ul_14x14_evk.c\mx6ul_14x14_evk\freescale\board - uboot-imx - i.MX U-Boot 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

1,288 Views
kr90911
Contributor III

Hi igor,

Thanks for your reply.

I probed the pin 9 which is clock input pin on KSZ8081RNB when in u-boot,and clock frequency is the same as EVK about 50MHz.

 

0 Kudos

1,288 Views
igorpadykov
NXP Employee
NXP Employee

Hi west

 

one can printf uboot enet registers both in custom board and

working case (EVK), compare them what is wrong.

 

Best regards
igor

0 Kudos

1,288 Views
kr90911
Contributor III

Hi igor,

Thanks for your help.

It seems that the only changed register value are  "&iomuxc_regs->gpr[1]" in setup_fec().

The data abort problem occurred when cpu printf register like "&iomuxc_regs->gpr[1]",so I print register value with md.l command in u-boot:

=> md.l 0x020E4004 1      (in reference manual,IOMUXC_GPR_GPR1 address =20E_4004h )
020e4004: 0f440005 ..D.

The register value on custom board is the same as EVK when running  u-boot.

But the dhcp command didn't work on custom board when in u-boot.

I tried to connect the ENET2_nINT pin to Tamper6 on cpu,but it didn't help.

0 Kudos