Lines Matching +full:rx +full:- +full:input

1 // SPDX-License-Identifier: GPL-2.0+
89 /* enable rx & tx operation on uart */
96 /* disable rx & tx operation on uart */
103 /* clear all unread data in rx fifo and unsent data in tx fifo */
106 /* empty rx and tx fifo */ in bcm6345_serial_flush()
124 /* clear rx timeout */ in bcm6345_serial_init()
163 val = (val >> 1) - 1; in bcm6345_serial_init()
175 static int bcm6345_serial_pending(struct udevice *dev, bool input) in bcm6345_serial_pending() argument
178 u32 val = readl(priv->base + UART_IR_REG); in bcm6345_serial_pending()
180 if (input) in bcm6345_serial_pending()
190 return bcm6345_serial_init(priv->base, priv->uartclk, baudrate); in bcm6345_serial_setbrg()
198 val = readl(priv->base + UART_IR_REG); in bcm6345_serial_putc()
200 return -EAGAIN; in bcm6345_serial_putc()
202 writel(ch, priv->base + UART_FIFO_REG); in bcm6345_serial_putc()
212 val = readl(priv->base + UART_IR_REG); in bcm6345_serial_getc()
214 setbits_32(priv->base + UART_CTL_REG, UART_CTL_RSTRXFIFO_MASK); in bcm6345_serial_getc()
216 return -EAGAIN; in bcm6345_serial_getc()
218 val = readl(priv->base + UART_FIFO_REG); in bcm6345_serial_getc()
220 return -EAGAIN; in bcm6345_serial_getc()
232 priv->base = dev_remap_addr(dev); in bcm6345_serial_probe()
233 if (!priv->base) in bcm6345_serial_probe()
234 return -EINVAL; in bcm6345_serial_probe()
240 priv->uartclk = clk_get_rate(&clk); in bcm6345_serial_probe()
244 return bcm6345_serial_init(priv->base, priv->uartclk, CONFIG_BAUDRATE); in bcm6345_serial_probe()
255 { .compatible = "brcm,bcm6345-uart" },
260 .name = "bcm6345-uart",