Lines Matching +full:uart +full:- +full:16550 +full:- +full:compatible
2 * Copyright (C) 2012-2015 Panasonic Corporation
3 * Copyright (C) 2015-2016 Socionext Inc.
6 * SPDX-License-Identifier: GPL-2.0+
19 * Note: Register map is slightly different from that of 16550.
43 ((struct uniphier_serial_private_data *)dev_get_priv(dev))->membase
52 divisor = DIV_ROUND_CLOSEST(priv->uartclk, mode_x_div * baudrate); in uniphier_serial_setbrg()
54 writel(divisor, &port->dlr); in uniphier_serial_setbrg()
63 if (!(readl(&port->lsr) & UART_LSR_DR)) in uniphier_serial_getc()
64 return -EAGAIN; in uniphier_serial_getc()
66 return readl(&port->rx); in uniphier_serial_getc()
73 if (!(readl(&port->lsr) & UART_LSR_THRE)) in uniphier_serial_putc()
74 return -EAGAIN; in uniphier_serial_putc()
76 writel(c, &port->tx); in uniphier_serial_putc()
86 return readl(&port->lsr) & UART_LSR_DR; in uniphier_serial_pending()
88 return !(readl(&port->lsr) & UART_LSR_THRE); in uniphier_serial_pending()
101 return -EINVAL; in uniphier_serial_probe()
105 return -ENOMEM; in uniphier_serial_probe()
107 priv->membase = port; in uniphier_serial_probe()
109 priv->uartclk = fdtdec_get_int(gd->fdt_blob, dev_of_offset(dev), in uniphier_serial_probe()
110 "clock-frequency", 0); in uniphier_serial_probe()
112 tmp = readl(&port->lcr_mcr); in uniphier_serial_probe()
115 writel(tmp, &port->lcr_mcr); in uniphier_serial_probe()
121 { .compatible = "socionext,uniphier-uart" },
133 .name = "uniphier-uart",