From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Vasut Date: Tue, 15 Oct 2013 23:19:33 +0200 Subject: [U-Boot] [PATCH] ARM: mxs: Do not reconfigure FEC clock in FEC init In-Reply-To: <525BAC91.5080703@denx.de> References: <1381677634-6589-1-git-send-email-marex@denx.de> <525BAC91.5080703@denx.de> Message-ID: <201310152319.34204.marex@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Dear Stefano Babic, > Hi Marek, > > On 13/10/2013 17:20, Marek Vasut wrote: > > Do not reconfigure the FEC clock during board_eth_init(), otherwise > > the FEC might have stability issues, refuse to autonegotiate link > > entirely or even corrupt packets while indicating correct checksum > > on them. Instead, move the FEC clock init to board_early_init_f(), > > where all the other upstream clock are initialized and also make > > sure there is proper stabilization delay. > > However, it seems to me that moving the code remove the problem on the > mx28evk without finding the cause. Really there is still a big chunk of > time between the initialization of the clock and the first packet is > sent to the network, when the autonegotiation should occur. Forget this, the issue is still present. Damn! It's at least a little clearer to me what happens now. The FEC fails to transmit an TFTP block ACK packet -> the server waits 5 seconds -> sends ARP packet -> FEC replies and resends the TFTP block ACK again. Why does the FEC swallow a TX packet, I don't know. Best regards, Marek Vasut