On some systems, UART initialization is performed before running U-Boot. This commit allows to skip UART re-initializaion on those systems
Signed-off-by: Sergey Temerkhanov <s.temerkha...@gmail.com> Signed-off-by: Radha Mohan Chintakuntla <rchintakun...@cavium.com> --- Changes in v3: - Added __used keyword Changes in v2: None drivers/serial/serial_pl01x.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/serial/serial_pl01x.c b/drivers/serial/serial_pl01x.c index ad503af..f40c3ac 100644 --- a/drivers/serial/serial_pl01x.c +++ b/drivers/serial/serial_pl01x.c @@ -71,7 +71,7 @@ static int pl01x_tstc(struct pl01x_regs *regs) return !(readl(®s->fr) & UART_PL01x_FR_RXFE); } -static int pl01x_generic_serial_init(struct pl01x_regs *regs, +static __used int pl01x_generic_serial_init(struct pl01x_regs *regs, enum pl01x_type type) { switch (type) { @@ -124,8 +124,9 @@ static int pl011_set_line_control(struct pl01x_regs *regs) return 0; } -static int pl01x_generic_setbrg(struct pl01x_regs *regs, enum pl01x_type type, - int clock, int baudrate) +static int __used pl01x_generic_setbrg(struct pl01x_regs *regs, + enum pl01x_type type, + int clock, int baudrate) { switch (type) { case TYPE_PL010: { @@ -215,8 +216,10 @@ static void pl01x_serial_init_baud(int baudrate) #endif base_regs = (struct pl01x_regs *)port[CONFIG_CONS_INDEX]; +#ifndef CONFIG_PL010_SERIAL_PREINIT pl01x_generic_serial_init(base_regs, pl01x_type); pl01x_generic_setbrg(base_regs, pl01x_type, clock, baudrate); +#endif } /* -- 2.2.0 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot