+// SPDX-License-Identifier: GPL-2.0+
/*
* Qualcomm UART driver
*
*
* UART will work in Data Mover mode.
* Based on Linux driver.
- *
- * SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
static int msm_serial_probe(struct udevice *dev)
{
+ int ret;
struct msm_serial_data *priv = dev_get_priv(dev);
- msm_uart_clk_init(dev); /* Ignore return value and hope clock was
- properly initialized by earlier loaders */
+ /* No need to reinitialize the UART after relocation */
+ if (gd->flags & GD_FLG_RELOC)
+ return 0;
+
+ ret = msm_uart_clk_init(dev);
+ if (ret)
+ return ret;
if (readl(priv->base + UARTDM_SR) & UARTDM_SR_UART_OVERRUN)
writel(UARTDM_CR_CMD_RESET_ERR, priv->base + UARTDM_CR);