diff options
author | Chris Johns <chrisj@rtems.org> | 2016-11-25 09:45:35 +1100 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2016-11-29 08:50:40 +1100 |
commit | 8fd465e67e5db00839e7b3a717a816d57b46f198 (patch) | |
tree | 6a513d7e9fce8c3a300c2b0860ad9ec6e5ef1275 /c/src/lib/libbsp/arm/xilinx-zynq/startup/bspreset.c | |
parent | sparc: Optimize _ISR_Handler() (diff) | |
download | rtems-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.c | 6 |
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; |