Lines Matching +full:semi +full:- +full:static
1 // SPDX-License-Identifier: GPL-2.0+
3 * Actions Semi OWL SoCs UART driver
5 * Copyright (C) 2015 Actions Semi Co., Ltd.
45 static int owl_serial_getc(struct udevice *dev) in owl_serial_getc()
49 if (readl(priv->base + OWL_UART_STAT) & OWL_UART_STAT_RFEM) in owl_serial_getc()
50 return -EAGAIN; in owl_serial_getc()
52 return (int)(readl(priv->base + OWL_UART_RXDAT)); in owl_serial_getc()
55 static int owl_serial_putc(struct udevice *dev, const char ch) in owl_serial_putc()
59 if (readl(priv->base + OWL_UART_STAT) & OWL_UART_STAT_TFFU) in owl_serial_putc()
60 return -EAGAIN; in owl_serial_putc()
62 writel(ch, priv->base + OWL_UART_TXDAT); in owl_serial_putc()
67 static int owl_serial_pending(struct udevice *dev, bool input) in owl_serial_pending()
70 unsigned int stat = readl(priv->base + OWL_UART_STAT); in owl_serial_pending()
78 static int owl_serial_probe(struct udevice *dev) in owl_serial_probe()
86 uart_ctl = readl(priv->base + OWL_UART_CTL); in owl_serial_probe()
90 writel(uart_ctl, priv->base + OWL_UART_CTL); in owl_serial_probe()
104 static int owl_serial_ofdata_to_platdata(struct udevice *dev) in owl_serial_ofdata_to_platdata()
108 priv->base = dev_read_addr(dev); in owl_serial_ofdata_to_platdata()
109 if (priv->base == FDT_ADDR_T_NONE) in owl_serial_ofdata_to_platdata()
110 return -EINVAL; in owl_serial_ofdata_to_platdata()
115 static const struct dm_serial_ops owl_serial_ops = {
122 static const struct udevice_id owl_serial_ids[] = {
123 { .compatible = "actions,s900-serial" },