summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/xilinx-zynq/startup/bspreset.c
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2016-11-25 09:45:35 +1100
committerChris Johns <chrisj@rtems.org>2016-11-29 08:50:40 +1100
commit8fd465e67e5db00839e7b3a717a816d57b46f198 (patch)
tree6a513d7e9fce8c3a300c2b0860ad9ec6e5ef1275 /c/src/lib/libbsp/arm/xilinx-zynq/startup/bspreset.c
parentsparc: Optimize _ISR_Handler() (diff)
downloadrtems-8fd465e67e5db00839e7b3a717a816d57b46f198.tar.bz2
arm/zynq: Wait for the UART TX FIFO to empty on reset.
Diffstat (limited to '')
-rw-r--r--c/src/lib/libbsp/arm/xilinx-zynq/startup/bspreset.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/arm/xilinx-zynq/startup/bspreset.c b/c/src/lib/libbsp/arm/xilinx-zynq/startup/bspreset.c
index 8d70baa1c6..f86d1f3e05 100644
--- a/c/src/lib/libbsp/arm/xilinx-zynq/startup/bspreset.c
+++ b/c/src/lib/libbsp/arm/xilinx-zynq/startup/bspreset.c
@@ -12,13 +12,19 @@
* http://www.rtems.org/license/LICENSE.
*/
+#include <bsp.h>
#include <bsp/bootcard.h>
+#include <bsp/zynq-uart.h>
void bsp_reset(void)
{
volatile uint32_t *slcr_unlock = (volatile uint32_t *) 0xf8000008;
volatile uint32_t *pss_rst_ctrl = (volatile uint32_t *) 0xf8000200;
+ if (Console_Port_Tbl != NULL) {
+ zynq_uart_reset_tx_flush((int) Console_Port_Minor);
+ }
+
while (true) {
*slcr_unlock = 0xdf0d;
*pss_rst_ctrl = 0x1;