Blackfin: fix accidental reset in some boot modes
We read the SWRST (Software Reset) register to get at the last reset state, and then we may configure the DOUBLE_FAULT bit to control behavior when a double fault occurs. But if the lower bits of the register is already set (like UART boot mode on a BF54x), we inadvertently make the system reset by writing to the SYSTEM_RESET field at the same time. So make sure the lower 4 bits are always cleared. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
parent
81b79c213d
commit
0de4adfb8c
|
@ -837,7 +837,8 @@ void __init setup_arch(char **cmdline_p)
|
|||
defined(CONFIG_BF538) || defined(CONFIG_BF539)
|
||||
_bfin_swrst = bfin_read_SWRST();
|
||||
#else
|
||||
_bfin_swrst = bfin_read_SYSCR();
|
||||
/* Clear boot mode field */
|
||||
_bfin_swrst = bfin_read_SYSCR() & ~0xf;
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_DEBUG_DOUBLEFAULT_PRINT
|
||||
|
|
Loading…
Reference in a new issue