spi: fsl_dspi: Drop nondm code
[oweals/u-boot.git] / drivers / serial / serial_xuartlite.c
index 157e14dedc4fb1c356bf54836351d57cc7488cdd..f29a9a0b569c549732b3fb7ece637b65f5e92c49 100644 (file)
@@ -1,22 +1,20 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * (C) Copyright 2008 - 2015 Michal Simek <monstr@monstr.eu>
  * Clean driver and add xilinx constant from header file
  *
  * (C) Copyright 2004 Atmark Techno, Inc.
  * Yasushi SHOJI <yashi@atmark-techno.com>
- *
- * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #include <config.h>
 #include <common.h>
 #include <dm.h>
 #include <asm/io.h>
+#include <linux/bitops.h>
 #include <linux/compiler.h>
 #include <serial.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define SR_TX_FIFO_FULL                BIT(3) /* transmit FIFO full */
 #define SR_TX_FIFO_EMPTY       BIT(2) /* transmit FIFO empty */
 #define SR_RX_FIFO_VALID_DATA  BIT(0) /* data in receive FIFO */
@@ -87,7 +85,7 @@ static int uartlite_serial_ofdata_to_platdata(struct udevice *dev)
 {
        struct uartlite_platdata *plat = dev_get_platdata(dev);
 
-       plat->regs = (struct uartlite *)dev_get_addr(dev);
+       plat->regs = (struct uartlite *)devfdt_get_addr(dev);
 
        return 0;
 }
@@ -112,5 +110,30 @@ U_BOOT_DRIVER(serial_uartlite) = {
        .platdata_auto_alloc_size = sizeof(struct uartlite_platdata),
        .probe = uartlite_serial_probe,
        .ops    = &uartlite_serial_ops,
-       .flags = DM_FLAG_PRE_RELOC,
 };
+
+#ifdef CONFIG_DEBUG_UART_UARTLITE
+
+#include <debug_uart.h>
+
+static inline void _debug_uart_init(void)
+{
+       struct uartlite *regs = (struct uartlite *)CONFIG_DEBUG_UART_BASE;
+
+       out_be32(&regs->control, 0);
+       out_be32(&regs->control, ULITE_CONTROL_RST_RX | ULITE_CONTROL_RST_TX);
+       in_be32(&regs->control);
+}
+
+static inline void _debug_uart_putc(int ch)
+{
+       struct uartlite *regs = (struct uartlite *)CONFIG_DEBUG_UART_BASE;
+
+       while (in_be32(&regs->status) & SR_TX_FIFO_FULL)
+               ;
+
+       out_be32(&regs->tx_fifo, ch & 0xff);
+}
+
+DEBUG_UART_FUNCS
+#endif