summaryrefslogtreecommitdiff
path: root/board/freescale
diff options
context:
space:
mode:
authorPeter Tyser <ptyser@xes-inc.com>2009-02-05 11:25:25 -0600
committerAndy Fleming <afleming@freescale.com>2009-02-16 18:05:56 -0600
commit4ef630df773e45806d701bf5d25c328778bb4cde (patch)
tree2abadc50a689dc639f319f8dcb2e29b5bb55d6e1 /board/freescale
parentedf0e2524a8c6a3e91c009c496a0aa0ae89cd8ab (diff)
86xx: Reset update
Update the 86xx reset sequence to try executing a board-specific reset function. If the board-specific reset is not implemented or does not succeed, then assert #HRESET_REQ. Using #HRESET_REQ is a more standard reset procedure than the previous method and allows all board peripherals to be reset if needed. Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
Diffstat (limited to 'board/freescale')
-rw-r--r--board/freescale/mpc8610hpcd/mpc8610hpcd.c8
-rw-r--r--board/freescale/mpc8641hpcn/mpc8641hpcn.c8
2 files changed, 16 insertions, 0 deletions
diff --git a/board/freescale/mpc8610hpcd/mpc8610hpcd.c b/board/freescale/mpc8610hpcd/mpc8610hpcd.c
index a2097a5aff7..b419dcc5b50 100644
--- a/board/freescale/mpc8610hpcd/mpc8610hpcd.c
+++ b/board/freescale/mpc8610hpcd/mpc8610hpcd.c
@@ -484,3 +484,11 @@ int board_eth_init(bd_t *bis)
{
return pci_eth_init(bis);
}
+
+void board_reset(void)
+{
+ out8(PIXIS_BASE + PIXIS_RST, 0);
+
+ while (1)
+ ;
+}
diff --git a/board/freescale/mpc8641hpcn/mpc8641hpcn.c b/board/freescale/mpc8641hpcn/mpc8641hpcn.c
index 28c16833dc9..49718dac6ca 100644
--- a/board/freescale/mpc8641hpcn/mpc8641hpcn.c
+++ b/board/freescale/mpc8641hpcn/mpc8641hpcn.c
@@ -363,3 +363,11 @@ int board_eth_init(bd_t *bis)
cpu_eth_init(bis);
return pci_eth_init(bis);
}
+
+void board_reset(void)
+{
+ out8(PIXIS_BASE + PIXIS_RST, 0);
+
+ while (1)
+ ;
+}