aboutsummaryrefslogtreecommitdiff
path: root/board/freescale
diff options
context:
space:
mode:
authorPali Rohár <pali@kernel.org>2022-08-01 15:31:45 +0200
committerPeng Fan <peng.fan@nxp.com>2022-09-06 14:08:34 +0800
commit7e962cb132d6056b0a6f75eee2d800c9422da961 (patch)
tree7bbda107d44c82353bb3f2a352e2b54f0e237726 /board/freescale
parent27b2bff6eb18dfb5ba58f68b79fdc57d72c6d2a3 (diff)
downloadu-boot-7e962cb132d6056b0a6f75eee2d800c9422da961.zip
u-boot-7e962cb132d6056b0a6f75eee2d800c9422da961.tar.gz
u-boot-7e962cb132d6056b0a6f75eee2d800c9422da961.tar.bz2
board: freescale: p1_p2_rdb_pc: Avoid usage of CPLD's system reset register
CPLD's system reset register is buggy and requires workaround in U-Boot. So use this kind of board reset only when there is no other reset option. Introduce a new board_reset_last() callback which is last-stage board-specific reset and implement CPLD's system reset in this new board_reset_last() callback instead of board_reset() callback. Fixes: 20fb58fc5a1c ("board: freescale: p1_p2_rdb_pc: Implement board_reset()") Signed-off-by: Pali Rohár <pali@kernel.org> Signed-off-by: Peng Fan <peng.fan@nxp.com>
Diffstat (limited to 'board/freescale')
-rw-r--r--board/freescale/p1_p2_rdb_pc/p1_p2_rdb_pc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/board/freescale/p1_p2_rdb_pc/p1_p2_rdb_pc.c b/board/freescale/p1_p2_rdb_pc/p1_p2_rdb_pc.c
index 4c0e41f..e690fb4 100644
--- a/board/freescale/p1_p2_rdb_pc/p1_p2_rdb_pc.c
+++ b/board/freescale/p1_p2_rdb_pc/p1_p2_rdb_pc.c
@@ -83,7 +83,7 @@ struct cpld_data {
#define CPLD_FXS_LED 0x0F
#define CPLD_SYS_RST 0x00
-void board_reset(void)
+void board_reset_last(void)
{
struct cpld_data *cpld_data = (void *)(CONFIG_SYS_CPLD_BASE);
out_8(&cpld_data->system_rst, 1);