sci_port
struct sci_port *s = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
struct sci_port *sp = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
#define to_sci_port(uart) container_of((uart), struct sci_port, port)
void sci_port_disable(struct sci_port *sci_port);
void sci_port_enable(struct sci_port *sci_port);
int sci_scbrr_calc(struct sci_port *s, unsigned int bps, unsigned int *brr,
struct sci_port *s = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
struct sci_port *s = timer_container_of(s, t, rx_fifo_timer);
struct sci_port *sci = to_sci_port(port);
struct sci_port *sci = to_sci_port(port);
struct sci_port *sci = to_sci_port(port);
struct sci_port *sci = to_sci_port(port);
struct sci_port *s = arg;
static int sci_dma_rx_push(struct sci_port *s, void *buf, size_t count)
static int sci_dma_rx_find_active(struct sci_port *s)
static void sci_dma_rx_chan_invalidate(struct sci_port *s)
static void sci_dma_rx_release(struct sci_port *s)
static void sci_dma_rx_reenable_irq(struct sci_port *s)
struct sci_port *s = arg;
static void sci_dma_tx_release(struct sci_port *s)
static int sci_dma_rx_submit(struct sci_port *s, bool port_lock_held)
struct sci_port *s = container_of(work, struct sci_port, work_tx);
struct sci_port *s = container_of(t, struct sci_port, rx_timer);
struct sci_port *s = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
static void sci_dma_check_tx_occurred(struct sci_port *s)
static void sci_dma_check_tx_occurred(struct sci_port *s)
struct sci_port *s = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
static int sci_request_irq(struct sci_port *port)
static void sci_free_irq(struct sci_port *port)
struct sci_port *s = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
static int sci_sck_calc(struct sci_port *s, unsigned int bps,
static int sci_brg_calc(struct sci_port *s, unsigned int bps,
static struct sci_port sci_ports[SCI_NPORTS];
int sci_scbrr_calc(struct sci_port *s, unsigned int bps, unsigned int *brr,
struct sci_port *s = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
struct sci_port *sci_port = to_sci_port(port);
sci_port_disable(sci_port);
sci_port_enable(sci_port);
struct sci_port *s = to_sci_port(port);
struct sci_port *sport = to_sci_port(port);
struct sci_port *sport = to_sci_port(port);
struct sci_port *sport = to_sci_port(port);
struct sci_port *sport = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
static int sci_init_clocks(struct sci_port *sci_port, struct device *dev)
if (sci_port->type == PORT_HSCIF) {
} else if (sci_port->type == RSCI_PORT_SCIF16) {
} else if (sci_port->type == RSCI_PORT_SCIF32) {
if (!clk && sci_port->type == RSCI_PORT_SCIF16 &&
if (!clk && sci_port->type == RSCI_PORT_SCIF32 &&
sci_port->clks[i] = clk;
sci_probe_regmap(const struct plat_sci_port *cfg, struct sci_port *sci_port)
sci_port->ops = &sci_port_ops;
sci_port->port.ops = &sci_uart_ops;
struct sci_port *sci_port, unsigned int index,
struct uart_port *port = &sci_port->port;
sci_port->cfg = p;
sci_port->type = p->type;
sci_port->regtype = p->regtype;
sci_port->reg_size = resource_size(res);
for (i = 0; i < ARRAY_SIZE(sci_port->irqs); ++i) {
sci_port->irqs[i] = platform_get_irq_optional(dev, i);
sci_port->irqs[i] = platform_get_irq(dev, i);
swap(sci_port->irqs[SCIx_BRI_IRQ], sci_port->irqs[SCIx_TEI_IRQ]);
if (sci_port->irqs[0] < 0)
if (sci_port->irqs[1] < 0)
for (i = 1; i < ARRAY_SIZE(sci_port->irqs); i++)
sci_port->irqs[i] = sci_port->irqs[0];
sci_port->rx_trigger = 48;
sci_port->rx_trigger = 64;
sci_port->rx_trigger = 32;
sci_port->rx_trigger = 1;
sci_port->rx_trigger = 8;
sci_port->rx_trigger = 16;
sci_port->rx_trigger = 1;
sci_port->rx_fifo_timeout = 0;
sci_port->hscif_tot = 0;
sci_port->sampling_rate_mask = p->sampling_rate
: sci_port->params->sampling_rate_mask;
ret = sci_init_clocks(sci_port, &dev->dev);
port->fifosize = sci_port->params->fifosize;
if (sci_port->reg_size >= 0x20)
port->irq = sci_port->irqs[SCIx_RXI_IRQ];
struct sci_port *sci_port = &sci_ports[co->index];
struct uart_port *port = &sci_port->port;
const struct sci_common_regs *regs = sci_port->params->common_regs;
ctrl = sci_port->ops->read_reg(port, regs->control);
sci_port->ops->prepare_console_write(port, ctrl);
bits = sci_port->params->param_bits->poll_sent_bits;
while ((sci_port->ops->read_reg(port, regs->status) & bits) != bits)
if (sci_port->ops->finish_console_write)
sci_port->ops->finish_console_write(port, ctrl);
sci_port->ops->write_reg(port, regs->control, ctrl);
struct sci_port *sci_port;
sci_port = &sci_ports[co->index];
port = &sci_port->port;
struct sci_port *sp = &sci_ports[pdev->id];
struct sci_port *s = platform_get_drvdata(dev);
struct sci_port *sp;
struct sci_port *sciport,
struct sci_port *sp;
struct sci_port *sport = dev_get_drvdata(dev);
struct sci_port *sport = dev_get_drvdata(dev);
struct sci_port *sci_port = &sci_ports[0];
memset(sci_port, 0, sizeof(*sci_port));
void sci_port_enable(struct sci_port *sci_port)
if (!sci_port->port.dev)
pm_runtime_get_sync(sci_port->port.dev);
clk_prepare_enable(sci_port->clks[i]);
sci_port->clk_rates[i] = clk_get_rate(sci_port->clks[i]);
sci_port->port.uartclk = sci_port->clk_rates[SCI_FCK];
void sci_port_disable(struct sci_port *sci_port)
if (!sci_port->port.dev)
clk_disable_unprepare(sci_port->clks[i]);
pm_runtime_put_sync(sci_port->port.dev);
struct sci_port *s = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
struct sci_port *s = to_sci_port(port);
struct sci_port *s = to_sci_port(port);