mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-12-17 07:21:36 +01:00
serial: zynq: Add support for slow emulation platform
On slow platforms not all baudrate setting is valid. Check it directly in the driver and setup maximum possible frequency. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
This commit is contained in:
parent
caacb33fd1
commit
04bc5c939a
@ -48,10 +48,16 @@ static void uart_zynq_serial_setbrg(const int port)
|
|||||||
/* Calculation results. */
|
/* Calculation results. */
|
||||||
unsigned int calc_bauderror, bdiv, bgen;
|
unsigned int calc_bauderror, bdiv, bgen;
|
||||||
unsigned long calc_baud = 0;
|
unsigned long calc_baud = 0;
|
||||||
unsigned long baud = gd->baudrate;
|
unsigned long baud;
|
||||||
unsigned long clock = get_uart_clk(port);
|
unsigned long clock = get_uart_clk(port);
|
||||||
struct uart_zynq *regs = uart_zynq_ports[port];
|
struct uart_zynq *regs = uart_zynq_ports[port];
|
||||||
|
|
||||||
|
/* Covering case where input clock is so slow */
|
||||||
|
if (clock < 1000000 && gd->baudrate > 4800)
|
||||||
|
gd->baudrate = 4800;
|
||||||
|
|
||||||
|
baud = gd->baudrate;
|
||||||
|
|
||||||
/* master clock
|
/* master clock
|
||||||
* Baud rate = ------------------
|
* Baud rate = ------------------
|
||||||
* bgen * (bdiv + 1)
|
* bgen * (bdiv + 1)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user