AnsweredAssumed Answered

IMX6ULL MAC does not receive

Question asked by claudio@databyte.ch on Jun 12, 2019
Latest reply on Jun 14, 2019 by igorpadykov

Hello

 

I try to connect a PHY (KSZ8041NL) to my iMX6ULL (MCIMX6Y0).

Actually i try to get a connection with U-Boot.

 

I have configured all neccessary Pins in my board file.

I am able to send packets (seen with wireshark) but the mac or the layer above dont receive anything.

 

After diving into the registers i saw, that the

Ethernet Control Register (ENETx_ECR)

Is first read as 0xf0000000
After sending a packet (during try to get a dhcp) the register changed to
0xf0000100 it stays at this value. 

Now the problem is, that BIT1 of the mentioned register is for enabling the Ethernet.

Enables/disables the Ethernet MAC. When the MAC is disabled, 
the buffer descriptors for an aborted transmit frame are not updated.
The uDMA, buffer descriptor, and FIFO control logic are reset,
including the buffer descriptor and FIFO pointers.


When i manually enable this bit and therefore the Ethernet and try
again to receive some packet like during dhcp, nothing changes.
the dhcp request is still not successful. In wireshark i can see the
answer packet, going to my board.
I can also see the data after the PHY on the RMII interface:
https://www.mikrocontroller.net/attachment/415823/RX_RMII2.PNG 
But the Chip itself or u-boot never "see" an answer.
And after sending some packets, the mentioned register is again
0xf0000100 but it should be 0xf0000102 i think.

Also all statistical registers like
Frames Transmitted OK Statistic Register (ENETx_IEEE_T_FRAME_OK)
are always read as zero (0x00000000)

I dont have any further ideas how to debug this problem.
I would be very happy if some engineer or some nxp representative
could answer here.

Thanks


Outcomes