From mboxrd@z Thu Jan 1 00:00:00 1970 From: York Sun Date: Fri, 2 Oct 2015 10:43:40 -0700 Subject: [U-Boot] [PATCH v2] ls102xa: Fix reset hang In-Reply-To: <1443799557-26419-2-git-send-email-festevam@gmail.com> References: <1443799557-26419-1-git-send-email-festevam@gmail.com> <1443799557-26419-2-git-send-email-festevam@gmail.com> Message-ID: <560EC24C.30809@freescale.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 10/02/2015 08:25 AM, Fabio Estevam wrote: > From: Fabio Estevam > > Since commit 623d96e89aca6("imx: wdog: correct wcr register settings") > issuing a 'reset' command causes the system to hang. > > Unlike i.MX and Vybrid, the watchdog controller on LS102x is big-endian. > > This means that the watchdog on LS1021 has been working by accident as > it does not use the big-endian accessors in drivers/watchdog/imx_watchdog.c. > Commit 623d96e89aca6("imx: wdog: correct wcr register settings") only > revelead the endianness problem on LS102x. > > In order to fix the reset hang, introduce a reset_cpu() implementation that > is specific for ls102x, which accesses the watchdog WCR register in big-endian > format. All that is required to reset LS102x is to clear the SRS bit. > > Reported-by: Sinan Akman > Tested-by: Sinan Akman > Signed-off-by: Fabio Estevam > --- > Changes since v1: > - Do not add duplicate wdog struct (Wolfgang) Thanks a lot for fixing this. York