summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2014-05-22 16:15:34 +1000
committerChris Johns <chrisj@rtems.org>2014-05-22 16:53:24 +1000
commit18bd35bcb3439aa4f53c22295d4c62533472fd24 (patch)
treec1d05c85ee359f4bc2000e018d8f8a709a2d4637
parentrtems: Fix sp2038 test. (diff)
downloadrtems-18bd35bcb3439aa4f53c22295d4c62533472fd24.tar.bz2
bsps/zynq: Add BSP_ARM_A9MPCORE_UARTCLK to set the UART clock rate.
This value can be found the xparameters.h file generated by the Xilinx tools.
-rw-r--r--c/src/lib/libbsp/arm/xilinx-zynq/configure.ac5
-rw-r--r--c/src/lib/libbsp/arm/xilinx-zynq/console/zynq-uart.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/c/src/lib/libbsp/arm/xilinx-zynq/configure.ac b/c/src/lib/libbsp/arm/xilinx-zynq/configure.ac
index bdc179d30b..ae1ef1c3e1 100644
--- a/c/src/lib/libbsp/arm/xilinx-zynq/configure.ac
+++ b/c/src/lib/libbsp/arm/xilinx-zynq/configure.ac
@@ -29,6 +29,11 @@ RTEMS_BSPOPTS_SET([BSP_ARM_A9MPCORE_PERIPHCLK],[xilinx_zynq_zedboard*],[66666666
RTEMS_BSPOPTS_SET([BSP_ARM_A9MPCORE_PERIPHCLK],[*],[100000000U])
RTEMS_BSPOPTS_HELP([BSP_ARM_A9MPCORE_PERIPHCLK],[ARM Cortex-A9 MPCore PERIPHCLK clock frequency in Hz])
+RTEMS_BSPOPTS_SET([BSP_ARM_A9MPCORE_UARTCLK],[xilinx_zynq_zc702*],[50000000UL])
+RTEMS_BSPOPTS_SET([BSP_ARM_A9MPCORE_UARTCLK],[xilinx_zynq_zedboard*],[50000000UL])
+RTEMS_BSPOPTS_SET([BSP_ARM_A9MPCORE_UARTCLK],[*],[50000000UL])
+RTEMS_BSPOPTS_HELP([BSP_ARM_A9MPCORE_UARTCLK],[ARM Cortex-A9 MPCore UART 0 clock frequency in Hz])
+
USE_FAST_IDLE=0
AS_IF([test "x${RTEMS_BSP}" == xxilinx_zynq_a9_qemu], [USE_FAST_IDLE=1])
diff --git a/c/src/lib/libbsp/arm/xilinx-zynq/console/zynq-uart.c b/c/src/lib/libbsp/arm/xilinx-zynq/console/zynq-uart.c
index 2a679610d6..92c9b21ae1 100644
--- a/c/src/lib/libbsp/arm/xilinx-zynq/console/zynq-uart.c
+++ b/c/src/lib/libbsp/arm/xilinx-zynq/console/zynq-uart.c
@@ -15,6 +15,8 @@
#include <bsp/zynq-uart.h>
#include <bsp/zynq-uart-regs.h>
+#include <bspopts.h>
+
#include <libchip/sersupp.h>
static volatile zynq_uart *zynq_uart_get_regs(int minor)
@@ -32,7 +34,7 @@ uint32_t zynq_uart_input_clock(void) __attribute__ ((weak));
uint32_t zynq_uart_input_clock(void)
{
- return 100000000UL;
+ return BSP_ARM_A9MPCORE_UARTCLK;
}
static int zynq_cal_baud_rate(uint32_t baudrate,