serial: mvebu-uart: add soft reset at probe
The existing UART driver relies on the bootloader to initialize the port(s). However, the secondary uart port may not be initialized properly in early boot stage. This patch adds the UART soft reset when probing, for all ports. Signed-off-by: Allen Yan <yanwei@marvell.com> Signed-off-by: Miquel Raynal <miquel.raynal@free-electrons.com> Reviewed-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
5218d76958
Коммит
9c3d3ee123
|
@ -660,6 +660,11 @@ static int mvebu_uart_probe(struct platform_device *pdev)
|
|||
port->private_data = mvuart;
|
||||
platform_set_drvdata(pdev, mvuart);
|
||||
|
||||
/* UART Soft Reset*/
|
||||
writel(CTRL_SOFT_RST, port->membase + UART_CTRL(port));
|
||||
udelay(1);
|
||||
writel(0, port->membase + UART_CTRL(port));
|
||||
|
||||
ret = uart_add_one_port(&mvebu_uart_driver, port);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
|
Загрузка…
Ссылка в новой задаче