|
|
|
@ -93,6 +93,16 @@ static int uniphier_serial_putc(struct udevice *dev, const char c) |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static int uniphier_serial_pending(struct udevice *dev, bool input) |
|
|
|
|
{ |
|
|
|
|
struct uniphier_serial __iomem *port = uniphier_serial_port(dev); |
|
|
|
|
|
|
|
|
|
if (input) |
|
|
|
|
return readb(&port->lsr) & UART_LSR_DR; |
|
|
|
|
else |
|
|
|
|
return !(readb(&port->lsr) & UART_LSR_THRE); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
int uniphier_serial_probe(struct udevice *dev) |
|
|
|
|
{ |
|
|
|
|
struct uniphier_serial_private_data *priv = dev_get_priv(dev); |
|
|
|
@ -134,6 +144,7 @@ static const struct dm_serial_ops uniphier_serial_ops = { |
|
|
|
|
.setbrg = uniphier_serial_setbrg, |
|
|
|
|
.getc = uniphier_serial_getc, |
|
|
|
|
.putc = uniphier_serial_putc, |
|
|
|
|
.pending = uniphier_serial_pending, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
U_BOOT_DRIVER(uniphier_serial) = { |
|
|
|
|