MLK-22654 mx7ulp: Update wdog disable sequence
authorYe Li <ye.li@nxp.com>
Wed, 18 Sep 2019 08:56:34 +0000 (01:56 -0700)
committerYe Li <ye.li@nxp.com>
Mon, 23 Sep 2019 07:57:22 +0000 (00:57 -0700)
commitb26fb3c9b0e76075eada24a087d2db5f6fd3fc73
tree600b951e9390d74b7a474f4f510d285206a48d7e
parent8f4025381da380be6b75e075b9d4066de69623ae
MLK-22654 mx7ulp: Update wdog disable sequence

Update the mx7ulp wdog disable sequence to avoid potential reset issue
in unlock or refresh sequence. Both sequence need two words write
to wdog CNT register in 16 bus clocks window, if miss the window,
the write will cause violation in wdog and reset the chip.

Current u-boot code is using writel() function which has a DMB barrier
to order the memory access. The DMB between two words write may introduce
some delay in certain circumstance, causing the wdog reset due to 16 bus
clock window requirement.

This patch replaces writel() function by __raw_writel() to avoid such issue,
and improve to check if watchdog is already disabled or unlocked.

Signed-off-by: Ye Li <ye.li@nxp.com>
Tested-by: Breno Lima <breno.lima@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit b8c99d5f5bcc5573d3394b68890db16b6bb5fc88)
arch/arm/mach-imx/mx7ulp/soc.c