From 19605e2e038eb7266c74c4aba6a4d6c9f33db797 Mon Sep 17 00:00:00 2001 From: Soren Brinkmann Date: Thu, 21 Nov 2013 13:38:55 -0800 Subject: [PATCH] serial_zynq: Migrate to Zynq clock framework Remove hard coded frequencies and use Zynq's clock framework to obtain the UART clock frequency. Signed-off-by: Soren Brinkmann Signed-off-by: Michal Simek --- drivers/serial/serial_zynq.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/drivers/serial/serial_zynq.c b/drivers/serial/serial_zynq.c index 9a1ee00e9c..22c6bf099c 100644 --- a/drivers/serial/serial_zynq.c +++ b/drivers/serial/serial_zynq.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #define ZYNQ_UART_SR_TXFULL 0x00000010 /* TX FIFO full */ @@ -45,23 +46,13 @@ static struct uart_zynq *uart_zynq_ports[2] = { # define CONFIG_ZYNQ_SERIAL_BAUDRATE1 CONFIG_BAUDRATE #endif -#if !defined(CONFIG_ZYNQ_SERIAL_CLOCK0) -# define CONFIG_ZYNQ_SERIAL_CLOCK0 50000000 -#endif -#if !defined(CONFIG_ZYNQ_SERIAL_CLOCK1) -# define CONFIG_ZYNQ_SERIAL_CLOCK1 50000000 -#endif - struct uart_zynq_params { u32 baudrate; - u32 clock; }; static struct uart_zynq_params uart_zynq_ports_param[2] = { [0].baudrate = CONFIG_ZYNQ_SERIAL_BAUDRATE0, - [0].clock = CONFIG_ZYNQ_SERIAL_CLOCK0, [1].baudrate = CONFIG_ZYNQ_SERIAL_BAUDRATE1, - [1].clock = CONFIG_ZYNQ_SERIAL_CLOCK1, }; /* Set up the baud rate in gd struct */ @@ -71,7 +62,7 @@ static void uart_zynq_serial_setbrg(const int port) unsigned int calc_bauderror, bdiv, bgen; unsigned long calc_baud = 0; unsigned long baud = uart_zynq_ports_param[port].baudrate; - unsigned long clock = uart_zynq_ports_param[port].clock; + unsigned long clock = get_uart_clk(port); struct uart_zynq *regs = uart_zynq_ports[port]; /* master clock -- 2.25.1