serial: zynq: Initialize uart only before relocation
authorMichal Simek <michal.simek@xilinx.com>
Thu, 14 Jun 2018 08:41:35 +0000 (10:41 +0200)
committerMichal Simek <michal.simek@xilinx.com>
Fri, 15 Jun 2018 06:54:05 +0000 (08:54 +0200)
commita673025535ae6b559be9badb9fd4c2c9e692b880
tree4d166fbb52f04218d26c28c73d8320a2046f28fc
parente90d2659e46ab9483c24e08611c06922a8ec25d4
serial: zynq: Initialize uart only before relocation

This issue was found when OF_LIVE was enabled that there are scrambled
chars on the console like this:
Chip ID: zu3eg
Watchdog: Started��j�   sdhci@ff160000: 0, sdhci@ff170000: 1
In:    serial@ff010000

I found a solution for this problem exactly the same as I found later in
serial_msm fixed by:
"serial: serial_msm: initialize uart only before relocation"
(sha1: 7e5ad796bcd65772a87da236ae21cd536ae3a4d2)

What it is happening is that output TX fifo still contains chars to be
sent and _uart_zynq_serial_init() resets TX fifo even in the middle of
transfer.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
drivers/serial/serial_zynq.c