Lines Matching refs:sci_port
255 static struct sci_port sci_ports[SCI_NPORTS];
713 void sci_port_enable(struct sci_port *sci_port) in sci_port_enable() argument
717 if (!sci_port->port.dev) in sci_port_enable()
720 pm_runtime_get_sync(sci_port->port.dev); in sci_port_enable()
723 clk_prepare_enable(sci_port->clks[i]); in sci_port_enable()
724 sci_port->clk_rates[i] = clk_get_rate(sci_port->clks[i]); in sci_port_enable()
726 sci_port->port.uartclk = sci_port->clk_rates[SCI_FCK]; in sci_port_enable()
730 void sci_port_disable(struct sci_port *sci_port) in sci_port_disable() argument
734 if (!sci_port->port.dev) in sci_port_disable()
738 clk_disable_unprepare(sci_port->clks[i]); in sci_port_disable()
740 pm_runtime_put_sync(sci_port->port.dev); in sci_port_disable()
758 struct sci_port *s = to_sci_port(port); in sci_start_tx()
802 struct sci_port *s = to_sci_port(port); in sci_stop_tx()
826 struct sci_port *s = to_sci_port(port); in sci_start_rx()
839 struct sci_port *s = to_sci_port(port); in sci_stop_rx()
854 struct sci_port *s = to_sci_port(port); in sci_clear_SCxSR()
876 struct sci_port *s = to_sci_port(port); in sci_poll_get_char()
903 struct sci_port *s = to_sci_port(port); in sci_poll_put_char()
919 struct sci_port *s = to_sci_port(port); in sci_init_pins()
969 struct sci_port *s = to_sci_port(port); in sci_txfill()
991 struct sci_port *s = to_sci_port(port); in sci_rxfill()
1014 struct sci_port *s = to_sci_port(port); in sci_transmit_chars()
1074 struct sci_port *s = to_sci_port(port); in sci_receive_chars()
1149 struct sci_port *s = to_sci_port(port); in sci_handle_errors()
1194 struct sci_port *s = to_sci_port(port); in sci_handle_fifo_overrun()
1255 struct sci_port *s = to_sci_port(port); in scif_set_rtrg()
1324 struct sci_port *s = timer_container_of(s, t, rx_fifo_timer); in rx_fifo_timer_fn()
1335 struct sci_port *sci = to_sci_port(port); in rx_fifo_trigger_show()
1345 struct sci_port *sci = to_sci_port(port); in rx_fifo_trigger_store()
1367 struct sci_port *sci = to_sci_port(port); in rx_fifo_timeout_show()
1384 struct sci_port *sci = to_sci_port(port); in rx_fifo_timeout_store()
1412 struct sci_port *s = arg; in sci_dma_tx_complete()
1449 static int sci_dma_rx_push(struct sci_port *s, void *buf, size_t count) in sci_dma_rx_push()
1464 static int sci_dma_rx_find_active(struct sci_port *s) in sci_dma_rx_find_active()
1476 static void sci_dma_rx_chan_invalidate(struct sci_port *s) in sci_dma_rx_chan_invalidate()
1486 static void sci_dma_rx_release(struct sci_port *s) in sci_dma_rx_release()
1512 static void sci_dma_rx_reenable_irq(struct sci_port *s) in sci_dma_rx_reenable_irq()
1532 struct sci_port *s = arg; in sci_dma_rx_complete()
1586 static void sci_dma_tx_release(struct sci_port *s) in sci_dma_tx_release()
1599 static int sci_dma_rx_submit(struct sci_port *s, bool port_lock_held) in sci_dma_rx_submit()
1644 struct sci_port *s = container_of(work, struct sci_port, work_tx); in sci_dma_tx_work_fn()
1708 struct sci_port *s = container_of(t, struct sci_port, rx_timer); in sci_dma_rx_timer_fn()
1807 struct sci_port *s = to_sci_port(port); in sci_request_dma()
1894 struct sci_port *s = to_sci_port(port); in sci_free_dma()
1904 struct sci_port *s = to_sci_port(port); in sci_flush_buffer()
1918 static void sci_dma_check_tx_occurred(struct sci_port *s) in sci_dma_check_tx_occurred()
1939 static void sci_dma_check_tx_occurred(struct sci_port *s) in sci_dma_check_tx_occurred()
1949 struct sci_port *s = to_sci_port(port); in sci_rx_interrupt()
2007 struct sci_port *s = to_sci_port(port); in sci_tx_interrupt()
2019 struct sci_port *s = to_sci_port(port); in sci_tx_end_interrupt()
2039 struct sci_port *s = to_sci_port(port); in sci_br_interrupt()
2055 struct sci_port *s = to_sci_port(port); in sci_er_interrupt()
2096 struct sci_port *s = to_sci_port(port); in sci_mpxed_interrupt()
2185 static int sci_request_irq(struct sci_port *port) in sci_request_irq()
2244 static void sci_free_irq(struct sci_port *port) in sci_free_irq()
2283 struct sci_port *s = to_sci_port(port); in sci_tx_empty()
2295 struct sci_port *s = to_sci_port(port); in sci_set_rts()
2324 struct sci_port *s = to_sci_port(port); in sci_get_cts()
2351 struct sci_port *s = to_sci_port(port); in sci_set_mctrl()
2397 struct sci_port *s = to_sci_port(port); in sci_get_mctrl()
2459 struct sci_port *s = to_sci_port(port); in sci_shutdown_complete()
2469 struct sci_port *s = to_sci_port(port); in sci_startup()
2489 struct sci_port *s = to_sci_port(port); in sci_shutdown()
2518 static int sci_sck_calc(struct sci_port *s, unsigned int bps, in sci_sck_calc()
2545 static int sci_brg_calc(struct sci_port *s, unsigned int bps, in sci_brg_calc()
2577 int sci_scbrr_calc(struct sci_port *s, unsigned int bps, unsigned int *brr, in sci_scbrr_calc()
2648 struct sci_port *s = to_sci_port(port); in sci_reset()
2685 struct sci_port *s = to_sci_port(port); in sci_set_termios()
2937 struct sci_port *sci_port = to_sci_port(port); in sci_pm() local
2941 sci_port_disable(sci_port); in sci_pm()
2944 sci_port_enable(sci_port); in sci_pm()
2952 struct sci_port *s = to_sci_port(port); in sci_type()
2974 struct sci_port *sport = to_sci_port(port); in sci_remap_port()
3002 struct sci_port *sport = to_sci_port(port); in sci_release_port()
3016 struct sci_port *sport = to_sci_port(port); in sci_request_port()
3039 struct sci_port *sport = to_sci_port(port); in sci_config_port()
3058 struct sci_port *s = to_sci_port(port); in sci_prepare_console_write()
3069 struct sci_port *s = to_sci_port(port); in sci_console_save()
3098 struct sci_port *s = to_sci_port(port); in sci_console_restore()
3169 static int sci_init_clocks(struct sci_port *sci_port, struct device *dev) in sci_init_clocks() argument
3183 if (sci_port->type == PORT_HSCIF) { in sci_init_clocks()
3185 } else if (sci_port->type == RSCI_PORT_SCIF16 || in sci_init_clocks()
3186 sci_port->type == RSCI_PORT_SCIF32_SINGLE_TCLK) { in sci_init_clocks()
3189 } else if (sci_port->type == RSCI_PORT_SCIF32) { in sci_init_clocks()
3201 if (!clk && (sci_port->type == RSCI_PORT_SCIF16 || in sci_init_clocks()
3202 sci_port->type == RSCI_PORT_SCIF32_SINGLE_TCLK) && in sci_init_clocks()
3206 if (!clk && sci_port->type == RSCI_PORT_SCIF32 && in sci_init_clocks()
3225 sci_port->clks[i] = clk; in sci_init_clocks()
3231 sci_probe_regmap(const struct plat_sci_port *cfg, struct sci_port *sci_port) in sci_probe_regmap() argument
3235 sci_port->ops = &sci_port_ops; in sci_probe_regmap()
3236 sci_port->port.ops = &sci_uart_ops; in sci_probe_regmap()
3275 struct sci_port *sci_port, unsigned int index, in sci_init_single() argument
3278 struct uart_port *port = &sci_port->port; in sci_init_single()
3283 sci_port->cfg = p; in sci_init_single()
3285 sci_port->type = p->type; in sci_init_single()
3286 sci_port->regtype = p->regtype; in sci_init_single()
3297 sci_port->reg_size = resource_size(res); in sci_init_single()
3299 for (i = 0; i < ARRAY_SIZE(sci_port->irqs); ++i) { in sci_init_single()
3301 sci_port->irqs[i] = platform_get_irq_optional(dev, i); in sci_init_single()
3303 sci_port->irqs[i] = platform_get_irq(dev, i); in sci_init_single()
3311 swap(sci_port->irqs[SCIx_BRI_IRQ], sci_port->irqs[SCIx_TEI_IRQ]); in sci_init_single()
3320 if (sci_port->irqs[0] < 0) in sci_init_single()
3323 if (sci_port->irqs[1] < 0) in sci_init_single()
3324 for (i = 1; i < ARRAY_SIZE(sci_port->irqs); i++) in sci_init_single()
3325 sci_port->irqs[i] = sci_port->irqs[0]; in sci_init_single()
3329 sci_port->rx_trigger = 48; in sci_init_single()
3332 sci_port->rx_trigger = 64; in sci_init_single()
3337 sci_port->rx_trigger = 32; in sci_init_single()
3342 sci_port->rx_trigger = 1; in sci_init_single()
3344 sci_port->rx_trigger = 8; in sci_init_single()
3347 sci_port->rx_trigger = 16; in sci_init_single()
3350 sci_port->rx_trigger = 1; in sci_init_single()
3354 sci_port->rx_fifo_timeout = 0; in sci_init_single()
3355 sci_port->hscif_tot = 0; in sci_init_single()
3361 sci_port->sampling_rate_mask = p->sampling_rate in sci_init_single()
3363 : sci_port->params->sampling_rate_mask; in sci_init_single()
3366 ret = sci_init_clocks(sci_port, &dev->dev); in sci_init_single()
3373 port->fifosize = sci_port->params->fifosize; in sci_init_single()
3376 if (sci_port->reg_size >= 0x20) in sci_init_single()
3389 port->irq = sci_port->irqs[SCIx_RXI_IRQ]; in sci_init_single()
3409 struct sci_port *sci_port = &sci_ports[co->index]; in serial_console_write() local
3410 struct uart_port *port = &sci_port->port; in serial_console_write()
3411 const struct sci_common_regs *regs = sci_port->params->common_regs; in serial_console_write()
3426 ctrl = sci_port->ops->read_reg(port, regs->control); in serial_console_write()
3427 sci_port->ops->prepare_console_write(port, ctrl); in serial_console_write()
3433 bits = sci_port->params->param_bits->poll_sent_bits; in serial_console_write()
3435 while ((sci_port->ops->read_reg(port, regs->status) & bits) != bits) in serial_console_write()
3439 if (sci_port->ops->finish_console_write) in serial_console_write()
3440 sci_port->ops->finish_console_write(port, ctrl); in serial_console_write()
3442 sci_port->ops->write_reg(port, regs->control, ctrl); in serial_console_write()
3450 struct sci_port *sci_port; in serial_console_setup() local
3464 sci_port = &sci_ports[co->index]; in serial_console_setup()
3465 port = &sci_port->port; in serial_console_setup()
3520 struct sci_port *sp = &sci_ports[pdev->id]; in sci_probe_earlyprintk()
3568 struct sci_port *s = platform_get_drvdata(dev); in sci_remove()
3733 struct sci_port *sp; in sci_parse_dt()
3796 struct sci_port *sciport, in sci_probe_single()
3875 struct sci_port *sp; in sci_probe()
3961 struct sci_port *sport = dev_get_drvdata(dev); in sci_suspend()
3979 struct sci_port *sport = dev_get_drvdata(dev); in sci_resume()
4034 struct sci_port *sci_port = &sci_ports[0]; in early_console_exit() local
4041 memset(sci_port, 0, sizeof(*sci_port)); in early_console_exit()