From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hector Palacios Date: Mon, 14 Oct 2013 09:46:41 +0200 Subject: [U-Boot] [PATCH] ARM: mxs: Do not reconfigure FEC clock in FEC init In-Reply-To: <1381677634-6589-1-git-send-email-marex@denx.de> References: <1381677634-6589-1-git-send-email-marex@denx.de> Message-ID: <525BA161.2090300@digi.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Dear Marek, On 10/13/2013 05:20 PM, 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. Do you have any means to reproduce the problem? I have seldom seen times when the Ethernet did not work, but it was so infrequent that it was impossible to know where it came from or how to reproduce it. [...] > diff --git a/board/denx/m28evk/m28evk.c b/board/denx/m28evk/m28evk.c > index 33d38cf..5065ee8 100644 > --- a/board/denx/m28evk/m28evk.c > +++ b/board/denx/m28evk/m28evk.c > @@ -26,6 +26,9 @@ DECLARE_GLOBAL_DATA_PTR; > */ > int board_early_init_f(void) > { > + struct mxs_clkctrl_regs *clkctrl_regs = > + (struct mxs_clkctrl_regs *)MXS_CLKCTRL_BASE; > + You may want to wrap these within #ifdef CONFIG_CMD_NET to avoid a warning if not defined. > diff --git a/board/schulercontrol/sc_sps_1/sc_sps_1.c b/board/schulercontrol/sc_sps_1/sc_sps_1.c > index 7f0b591..9d3c970 100644 > --- a/board/schulercontrol/sc_sps_1/sc_sps_1.c > +++ b/board/schulercontrol/sc_sps_1/sc_sps_1.c > @@ -26,6 +26,9 @@ DECLARE_GLOBAL_DATA_PTR; > */ > int board_early_init_f(void) > { > + struct mxs_clkctrl_regs *clkctrl_regs = > + (struct mxs_clkctrl_regs *)MXS_CLKCTRL_BASE; > + And the same here. It works ok, but I can't say if it fixes exactly those seldom initialization problems because I don't have a reliable way to reproduce them. Tested-by: Hector Palacios Best regards, -- Hector Palacios